Tải bản đầy đủ (.pdf) (3 trang)

Khai phá tập mục lợi ích cao với cây COFI-tree trên dòng dữ liệu

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (360.36 KB, 3 trang )

Tuyển tập Hội nghị Khoa học thường niên năm 2020. ISBN: 978-604-82-3869-8

KHAI PHÁ TẬP MỤC LỢI ÍCH CAO
VỚI CÂY COFI-TREE TRÊN DÒNG DỮ LIỆU
1

Nguyễn Huy Đức1, Đỗ Oanh Cường1
Trường Đại học Thủy lợi, email:

1. GIỚI THIỆU

Khai phá tập mục lợi ích cao là một hướng
mở rộng và tổng quát của khai phá tập mục
phổ biến, được đề xuất vào năm 2004 [3].
Trong [1], tác giả đề xuất thuật toán khai phá
hiệu quả tập mục lợi ích cao trên CSDL giao
tác, dựa trên cấu trúc cây COFI-tree.
Trong thực tế, có nhiều ứng dụng sinh ra
dòng dữ liệu (data streams) theo thời gian thực
như dòng giao tác trong dây chuyền bán lẻ,
dịng kích web trong các ứng dụng web,… Các
dịng giao tác này xuất hiện liên tục, tuần tự
theo thời gian và không giới hạn về số lượng.
Do vậy, tại thời điểm khai phá, cần lấy các giao
tác trong một khoảng thời gian nào đó. Khi
chuyển sang thời điểm sau, một số giao tác cũ
cần loại bỏ và cần xét thêm các giao tác mới
xuất hiện. Điều quan trọng khi khai phá trên
dòng dữ liệu là phải kế thừa được những kết
quả cũ trong khoảng thời gian trước để tạo ra
kết quả mới trong khoảng thời gian hiện tại.


Dựa trên phương pháp cửa sổ trượt
(Sliding window-based methods) trong khai
phá tập mục phổ biến [2] và cách khai phá
trong [1], bài báo đề xuất thuật tốn khai phá
tập mục lợi ích cao trên dòng dữ liệu.
2. CÁC THUẬT NGỮ CHO KHAI PHÁ
TẬP MỤC LỢI ÍCH CAO TRÊN DỊNG
DỮ LIỆU

Phân hoạch dịng giao tác thành từng khối
và định nghĩa cửa sổ gồm một số khối. Tại
một thời điểm, ta khai phá trên một cửa sổ. Ở
thời điểm sau, có khối giao tác đã cũ, cần loại
ra khỏi cửa sổ, có khối giao tác mới xuất hiện
sẽ được thêm vào cửa sổ.

Ví dụ, dịng giao tác bảng 2.1 có các khối
giao tác B1 - B5, mỗi cửa sổ chứa 3 khối giao
tác, W1 chứa 3 khối B1-B3 , W2 chứa 3 khối
B2 - B4. Nếu hiện tại khai phá trên cửa sổ W1
thì thời điểm sau khai phá trên cửa sổ W2.
Bảng 2.1. Dòng dữ liệu giao tác

Bảng 2.2. Bảng lợi ích

Ký hiệu các khối giao tác là Bj, các cửa sổ
là Wk, có một số thuật ngữ như sau:
- Lợi ích của tập mục X trong khối Bj, ký
hiệu u B j ( X ) , là tổng lợi ích của tập mục X tại
các giao tác thuộc khối Bj, tức là:

uB j ( X )    u (i p , Tq ) .
Tq B j i p X Tq

- Lợi ích của tập mục X trong cửa sổ Wk,
ký hiệu uWk ( X ) , là tổng lợi ích của tập mục X
tại các
uWk ( X ) 

72

khối

u

B j Wk

thuộc
(
X
).
Bj

W k,

tức

là :


Tuyển tập Hội nghị Khoa học thường niên năm 2020. ISBN: 978-604-82-3869-8


Ví dụ, dịng giao tác bảng 2.1 (với bảng lợi
ích 2.2), uB1 ( BD)  u ( BD, T2 )  66 ,
uW1 ( BD)  u B1 ( BD )  u B2 ( BD )  u B3 ( BD )  66

- Ngưỡng lợi ích tối thiểu Wk là phần trăm
của tổng lợi ích của các giao tác trong cửa sổ
Wk. Giá trị lợi ích tối thiểu xác định là
minutilWk  Wk .  tu (Tq ) .
Tq Wk

Ví dụ:
W1  30%, minutilW1 =30%.196  58,8.
- Tập mục X được gọi là tập mục lợi ích
cao trong cửa sổ Wk nếu uWk ( X )  minutilWk .
- Khai phá tập mục lợi ích cao trong Wk là
tìm tập HUWk chứa tất cả các tập mục lợi ích





cao, HUWk  X / X  I , uWk ( X )  minutilWk .
- Lợi ích TWU của tập mục X trong khối
Bj, ký hiệu twu B j ( X ) , là tổng lợi ích TWU
của tập mục X tại các giao tác thuộc khối Bj,
tức là: twuB j ( X )   u (Tq ) .
X Tq B j

- Lợi ích TWU của tập mục X trong cửa sổ

Wk, ký hiệu twuWk ( X ) , là tổng lợi ích TWU
của tập mục X tại các khối thuộc Wk, tức là :
twuWk ( X )   twuB j ( X ) .
B j Wk

- X được gọi là tập mục lợi ích TWU cao
trong cửa sổ Wk nếu twuWk ( X )  minutilWk .
Ví dụ: uW1 ( BD)  66,
twuW1 ( BD)  twuB1 ( BD)  twuB2 ( BD)  twuB3 ( BD)
=71  0  0  71

Với minutilW1  58,8 thì BD là tập mục lợi
ích cao và cũng là tập mục lợi ích TWU cao.
3. KHAI PHÁ TẬP MỤC LỢI ÍCH CAO
TRÊN DỊNG DỮ LIỆU

Khai phá trên một cửa sổ giống như khai
phá trên một CSDL. Dựa trên cách khai phá
trong [1] và phương pháp cửa sổ trượt [2], mục
này đề xuất cách khai phá trên dòng dữ liệu,
gọi là thuật toán COUIS-Mine (Co-Occurrence
Utility Itemsets over Data Stream Mine).

Thuật toán gồm hai bước :
Bước 1: Xây dựng cây HUI-Tree của cửa
sổ hiện thời Wk, sau đó khai phá cây này tìm
các tập mục có lợi ích TWU cao trong Wk .
Bước 2: Duyệt lại cửa sổ Wk để tính lợi ích
thực sự của các tập mục tìm được ở bước 1,
từ đó xác định được các tập mục lợi ích cao

trong Wk .
Để khai phá tiếp trên cửa sổ Wk+1 , thuật
tốn loại bỏ thơng tin của khối giao tác cũ và
bổ sung thông tin của khối giao tác mới xuất
hiện vào cây HUI-Tree .
3.1. Xây dựng cây HUI-Tree
Giả sử kích thước cửa sổ (số khối giao tác
trong cửa sổ) là s. Xây dựng cây HUI-Tree
thực hiện theo thuật toán trong [1] với cải
tiến: trường twu của mỗi nút thay là dãy
[twu1 , twu 2 ,..., twu s ] - dãy giá trị TWU của s
khối giao tác trong cửa sổ.
Thuật tốn xây dựng cây HUI-tree
Input: Dịng DL giao tác, bảng lợi ích, kích
thước khối b, kích thước cửa sổ s.
Output: Cây HUI-tree.
Method: Cây HUI-tree xây dựng như sau:
1. Chia dòng giao tác thành các khối Bj,
xác định cửa sổ hiện thời Wk .
2. Tạo cây:
- Tạo nút gốc R của cây. Xây dựng bảng
đầu mục chứa tất cả các mục dữ liệu theo trật
tự từ điển, giá trị twu gán bằng 0.
- Duyệt các khối Bj của cửa sổ hiện thời
Wk , với mỗi giao tác T  B j , tính lợi ích
tu (T ) . Giả sử các mục dữ liệu của T là
[x | L] , ở đó x là mục dữ liệu đầu và L là
phần còn lại, gọi hàm insert _ tree([x | L], R) .
Hàm insert_tree([x | L], R): xét giao tác T
thuộc khối giao tác thứ i của cửa sổ hiện thời.

Nếu R có nút con N nhãn x thì điều chỉnh giá
trị thứ i trong dãy twu của nút N:
N.twu i : N.twu i  tu T  , trường twu của
mục x trong bảng đầu mục tăng thêm tu(T) .
Ngược lại, tạo nút N mới là nút con của nút R
và gán nhãn là x, giá trị thứ i trong dãy twu
của nút N gán bằng tu(T): N.twu i : tu T  ,

73


Tuyển tập Hội nghị Khoa học thường niên năm 2020. ISBN: 978-604-82-3869-8

trường twu của mục x trong bảng đầu mục
tăng thêm tu(T) và bổ sung đường liên kết từ
bảng đầu mục đến nút mới N. Nếu L khác
rỗng thì gọi đệ quy hàm insert _ tree(L, N) .
3.2. Cập nhật cây HUI-tree

3.3. Khai phá cây HUI-tree

Khai phá cây HUI-tree của một cửa sổ
thực hiện như khai phá trên CSDL [1]. Với
minutilW2  57,3 , khai phá cây HUI-tree
hình 3.2 nhận được kết quả ở bảng 3.1.

Khi khối giao tác mới B4 xuất hiện, ta cần
xóa thơng tin của khối B1 và đưa thơng tin
của khối B4 vào cây. Xóa thơng tin của khối
B1 như sau: với mỗi nút của cây, thay đổi dãy

[twu1 , twu 2 , twu 3 ] bằng cách chuyển dãy
twu 2 , twu 3 dịch lên đầu thành [twu 2 , twu 3 , 0] .
Nếu dãy này chuyển thành [0, 0, 0] thì nút
chứa nó bị tỉa khỏi cây.
(Hình 1.1) và (hình 2.2) minh họa cây
HUI-tree với kích thước cửa sổ s = 3.

Bảng 3.1. Kết quả khai phá
TT
1
2
3
4
5
6
7

Tập ứng
viên
E
BDE
BE
DE
D
BD
B

Lợi ích
TWU
151

111
111
111
111
111
111

Lợi ích
25
111
105
22
30
106
110

Tập mục
lợi ích cao
khơng


khơng
khơng



4. KẾT LUẬN

Bài báo đề xuất khai phá tập mục lợi ích
cao trên dịng dữ liệu thực hiện theo thuật

tốn trong [1], với thay đổi mỗi nút của cây
chứa dãy [twu1, twu2, …, twus] để giải quyết
việc cập nhật các khối giao tác mới. Chiều
cao của cây HUI-tree giới hạn bởi chiều dài
của giao tác dài nhất (thường là nhỏ so với số
mục dữ liệu), các kỹ thuật và máy tính hiện
nay đủ đáp ứng về bộ nhớ để lưu cây tiền tố
[4]. Thuật toán được thực nghiệm trên một số
tập dữ liệu với kết quả thực hiện hiệu quả.

Hình 1.1. Cây HUI-Tree của cửa sổ W1

5. TÀI LIỆU THAM KHẢO

Hình 2.2. Cây HUI-Tree của cửa sổ W2

Nhận xét: Đường đi từ một nút N bất kỳ lên
gốc của cây xác định một mẫu có lợi ích TWU
bằng tổng giá trị của dãy twu tại nút N đó. Ví
dụ, trong cây hình 2.5, đường đi từ nút E đầu
tiên (từ bảng đầu mục trỏ ra) lên gốc xác định
mẫu ECA có twu (ECA) = 12 + 0 + 0 = 12 .

[1] Nguyễn Huy Đức, 2019, Khai phá tập mục lợi
ích cao với cây COFI-tree, Kỷ yếu Hội nghị
Khoa học thường niên ĐH Thủy lợi, 2019.
[2] J.H. Chang, W.S. Lee, Online data stream
mining of recent frequent itemsets by sliding
window method. Journal of Information
Sciences , 31(2),76-90, 2005.

[3] A foundational Approach to Mining Itemset
Utilities from Databases. Proceedings of the
4th SIAM International Conference on Data
Mining, Florida, USA, 2004.
[4] X. Zhu, Y. Liu, An efficient frequent pattern
mining algorithm using a highly compressed
prefix tree, Intelligent Data Analysis, vol. 23,
no. S1, pp. 153-173, 2019.

74



×