Một mô hình hiệu quả khai phá tập mục lợi ích cao

11 10 0
Một mô hình hiệu quả khai phá tập mục lợi ích cao

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Khai phá tập phổ biến từ cơ sở dữ liệu giao dịch là một trong các kỹ thuật khai phá dữ liệu và có rất nhiều ứng dụng trong kinh doanh, y tế, giáo dục,... Bài viết trình bày vấn đề liên quan đến khai phá tập lợi ích cao; Mô hình CWU; Đề xuất thuật toán khai phá tập lợi ích cao sử dụng mô hình CWU; Kết quả đạt được và so sánh với các thuật toán khác.

Các cơng trình nghiên cứu, phát triển ứng dụng CNTT-TT Tập V-1, Số 13 (33), tháng 6/2015 Một mô hình hiệu khai phá tập mục lợi ích cao An Efficient Model for Mining High Utility Itemsets Đậu Hải Phong, Nguyễn Mạnh Hùng Abstract: Today, high utility itemsets mining is an important research issue in data mining because it considers the profit and quantity of items in each transaction Most high utility itemsets algorithms such as UP-Growth [9], Udepth [5], Two-Phase [3], PB (Projection-Based) [8], ect use TWU model (Transaction Weight Utility) for pruning candidates However, the number of candidate itemsets generated in these algorithms is enormous In this paper, we propose a new candidate weight utility model (CWU) and HP (High Projection) algorithm base on CWU to reduce the number of candidate itemsets The experimental results show that the performance and number candidate of our algorithm is better than TwoPhase [3], PB [8] Keywords: Data Mining, Frequent Itemsets, High Utility, Candidate Weight Utility, HP algorithm I GIỚI THIỆU Khai phá tập phổ biến từ sở liệu giao dịch kỹ thuật khai phá liệu có nhiều ứng dụng kinh doanh, y tế, giáo dục, Mục tiêu khai phá tập phổ biến tìm tập phần tử có tần suất xuất lớn ngưỡng hỗ trợ tối thiểu cho trước Từ tập phổ biến sinh luật dựa độ tin cậy tối thiểu Trong toán khai phá tập phổ biến phần tử tương đương quan tâm đến tần suất xuất phần tử giao dịch Tuy nhiên, thực tế, phần tử sở liệu giao dịch thường có thuộc tính định lượng như: số lượng, lợi ích Năm 2003, Chan [1] đưa khái niệm lợi ích tập phần tử để khắc phục nhược điểm tập phần tử phổ biến Lợi ích phần tử giao dịch tính tốn dựa lợi ích giao dịch lợi ích ngồi phần tử Ví dụ, lợi ích giao dịch số lượng mặt hàng lần mua hàng; lợi ích giá trị lợi nhuận mặt hàng đem lại Một tập có lợi ích cao giá trị lợi ích khơng nhỏ ngưỡng lợi ích tối thiểu cho trước Một vấn đề khó khăn khai phá tập lợi ích cao tập lợi ích khơng có tính chất đóng [2] Tính chất đảm bảo tập tập lợi ích cao tập tập lợi ích cao Do vậy, số lượng ứng cử viên sinh lớn chi phí lớn thời gian duyệt liệu nhiều lần để kiểm tra ứng viên số thuật toán [3-5] Để tránh duyệt liệu nhiều lần số thuật tốn dùng cấu trúc để tìm tập lợi ích cao [6,9,10] Nhưng thuật tốn tiêu tốn nhiều thời gian khơng gian nhớ để sinh điều kiện tiền tố Trong [7] Liu trình bày mơ hình TWU khai phá tập lợi ích cao để loại bớt tập ứng viên Giá trị lợi ích tất phần tử giao dịch tổng hợp lợi ích giao dịch lấy làm cận lợi ích tập phần tử giao dịch Khi đó, lợi ích giao dịch có trọng số (viết tắt: TWU – Transactions Weight Utility) tập phần tử định nghĩa tổng lợi ích giao dịch có chứa tập Trong thuật tốn [7], Liu sử dụng mơ hình TWU để loại tập có TWU nhỏ ngưỡng lợi ích tối thiểu cho trước để giảm số lượng tập ứng cử viên, sau duyệt lại sở liệu để xác định lợi ích thực tế tập tiếp tục xác định khả tập lớn có tập lợi ích cao hay không để sinh tiếp ứng cử viên Trong thuật tốn sử dụng mơ hình TWU, thuật tốn [5,8] thực tìm kiếm tập ứng viên theo chiều sâu Ví dụ, xét tập phần tử I={A, B, C, D, E}, từ phần - 26 - Các cơng trình nghiên cứu, phát triển ứng dụng CNTT-TT tử A sinh tập ứng viên {AB}, {ABC}, {ABCD}, {ABCDE}, ; từ phần tử B sinh tập ứng viên {BC}, {BCD}, {BCDE}, Ta thấy, tập ứng viên sinh từ phần tử B khơng cịn xuất phần tử A, lấy TWU làm cận có giá trị lợi ích phần tử A Điều làm tăng số lượng tập ứng viên chi phí kiểm tra tập ứng viên Trong báo này, đề xuất mơ hình CWU (Candidate Weight Utility) thuật tốn khai phá tập lợi ích cao dựa mơ hình nhằm giảm số lượng tập ứng viên Nội dung báo tổ chức sau: Phần II vấn đề liên quan đến khai phá tập lợi ích cao Mơ hình CWU đề xuất Phần III Phần IV đề xuất thuật toán khai phá tập lợi ích cao sử dụng mơ hình CWU Phần V, trình bày kết đạt so sánh với thuật toán khác Cuối kết luận II TỔNG QUAN VẤN ĐỀ NGHIÊN CỨU Cho sở liệu gồm giao dịch Ti D = {T1,T2,T3,…Tn}, giao dịch xác định Tid, I={i1,i2,i3,…in} phần tử (item) xuất giao dịch, X ⊆ I tập phần tử (itemsets) Một tập X gọi tập k-phần tử số lượng phần tử X k Để thuận lợi giải thích khái niệm, đưa sở liệu giao dịch biểu diễn dạng bảng Bảng Bảng lợi ích ngồi phần tử cho Bảng Bảng Cơ sở liệu giao dịch minh họa Tid Giao dịch A B C D E F 1 1 25 0 0 0 12 0 0 1 0 0 0 0 0 10 0 Tập V-1, Số 13 (33), tháng 6/2015 Bảng Bảng lợi ích phần tử Item Lợi ích A B 10 C D E F Định nghĩa [8] - Lợi ích (internal utility) phần tử giá trị phần tử giao dịch Ký hiệu: O(ik,Tj) – lợi ích phần tử ik giao dịch Tj Ví dụ, O(A,T1) = 1; O(C,T1) = Bảng Định nghĩa [8] - Lợi ích ngồi (external utility) phần tử giá trị lợi ích phần tử bảng lợi ích Ký hiệu: S({ik}) lợi ích ngồi phần tử ik Ví dụ, S({A}) = 3; S({B}) = 10 Bảng Định nghĩa [8] - Lợi ích phần tử giao dịch tích lợi ích lợi ích ngồi phần tử Ký hiệu: U( ik,Tj) = S({ik}) * O(ik,Tj) lợi ích phần tử ik giao dịch Tj Ví dụ, U({A},T1) = 3*1 = 3; U({C},T1) = 1*2 = 2,… Định nghĩa [8] - Lợi ích tập phần tử X giao dịch Tj tổng giá trị lợi ích tất phần tử tập X giao dịch Tj Ký hiệu: U(X,Tj) = ∑ ∈ ∧ ⊆ U i , T – lợi ích tập phần tử X giao dịch Tj Ví dụ, U({AC},T1) = 3*1 + 1*2 = Định nghĩa [8] - Lợi ích tập phần tử X sở liệu tổng lợi ích tập phần tử X tất giao dịch chứa X Ký hiệu: AU(X) = ∑ ∈ ∧ ⊆ U X, T Ví dụ, xét tập{AC}, ta thấy {AC}, xuất giao dịch: T1, T5 nên ta có: AU({AC}) = U({AC},T1) + U({AC},T5) = (3*1 + 1*2) + (3*2 + 1*8) = 19 Định nghĩa [8] – Tập phần tử lợi ích cao: Tập X gọi tập phần tử lợi ích cao (HU – High Utility) AU(X) ≥ α, ngược lại gọi X tập phần tử lợi ích thấp Trong α ngưỡng lợi ích tối thiểu cho trước - 27 - Các công trình nghiên cứu, phát triển ứng dụng CNTT-TT Ví dụ, lợi ích tối thiểu α = 12 {AC} tập phần tử lợi ích cao Định nghĩa [8] - Lợi ích giao dịch tổng lợi ích phần tử giao dịch Ký hiệu: TU(Tj) = ∑ ∈ U i , T – lợi ích giao dịch Tj Ví dụ, TU(T1) = 1*3 + 2*1 + 1*6 + 1*5 + 1*2 = 18, TU(T2) = 1*10 + 25*1 = 35 Định nghĩa [8] - Lợi ích giao dịch có trọng số tập phần tử X tổng lợi ích giao dịch có chứa tập phần tử X Ký hiệu: TWU(X) = ∑ ⊆ ∧ ∈ TU T lợi ích giao dịch có trọng số tập phần tử X Ví dụ: TWU({AC}) = TU(T1) + TU(T5) = 18 + 24 = 42 Hiện nay, có nhiều thuật tốn khai phá tập lợi ích cao CTU-Mine [10], HUC-Prune [11], UPGrowth [9], UDepth [5], PB [8], Two – Phase [3] Thuật toán Two – Phase sử dụng mơ hình TWU để loại bớt tập ứng viên, sau duyệt lại sở liệu để xác định lợi ích thực tế tập Với phương pháp sinh ứng viên kiểm tra ứng viên phải duyệt liệu nhiều lần để tìm tập lợi ích cao Để tiết kiệm chi phí việc sinh tập ứng cử viên giảm số lần duyệt sở liệu, số thuật toán sử dụng cấu trúc đề xuất như: CTUTree [10], HUC-Tree [11], UP-Growth [9] thuật toán gồm số bước sau: xây dựng cây, sinh ứng viên từ thuật toán tăng trưởng mẫu, xác định tập lợi ích cao từ tập ứng viên Với cách tiếp cận thuật toán tốn nhiều nhớ thời gian duyệt Thuật toán UDepth [5] Wei đưa thực khai phá sở liệu theo chiều dọc Thuật toán gồm bước: duyệt liệu để xác định TWU phần tử; loại bỏ phần tử có TWU nhỏ ngưỡng tối thiểu; xếp lại phần tử có TWU cao theo thứ tự giảm dần; từ phần tử ik có TWU cao, tìm tất tập có phần tử ik tiền tố duyệt lại sở liệu lần để xác định tập lợi ích cao Tập V-1, Số 13 (33), tháng 6/2015 Năm 2013, Gou cộng đưa thuật toán PB [8] dựa bảng số để tăng tốc độ thực giảm yêu cầu nhớ Thuật toán sử dụng bảng số tập để sinh ứng viên, tìm tập lợi ích cao tạo nhanh bảng số từ tập tiền tố Hầu hết thuật tốn khai phá tập lợi ích cao, [3,5,8], sử dụng mô hình TWU làm sở để cắt tỉa tập ứng viên Với phần tử a tập phần tử {X}, ta có TWU({aX}) = ∑ ⊆ ∧ ∈ TU T cận AU({aX}) Tương tự, có TWU({X}) cận AU({X}) Ta thấy {X} ⊆{aX} nên số giao dịch chứa {X} lớn số giao dịch chứa {aX} Vậy, TWU({X}) tổng lợi ích giao dịch chứa {X} lớn TWU({aX}) tổng lợi ích giao dịch chứa {aX} Trong thuật toán khai phá tập lợi ích cao UDepth [5], PB [8], tập lợi ích cao khai phá theo chiều sâu Giả sử, {aX} tất tập có tiền tố phần tử a, {bX} tất tập có tiền tố phần tử b Khi khai phá tập {bX} khơng cịn chứa phần tử a Nhưng tính TWU({bX}) gồm giá trị lợi ích phần tử a Điều làm TWU({bX}) cận AU({bX}) lớn mức cần thiết dùng TWU({bX}) để tỉa tập ứng viên không hiệu III ĐỀ XUẤT MƠ HÌNH CWU Từ nhận xét Phần II, chúng tơi đề xuất mơ hình CWU (Candidate Weight Utility) để khắc phục nhược điểm mơ hình TWU Định nghĩa - Tập tiền tố phần tử Itx tập phần tử I mà đứng trước phần tử Itx: ListItemPrefix(Itx) = {j ∈ I | j ≺ Itx} Định nghĩa 10 - Tiền tố tập Y tập phần tử I mà đứng trước phần tử tập Y: ListItemPrefix(Y) = { j ∈ I | j ≺ y1}, đó: y1 phần tử tập Y Định nghĩa 11 - Lợi ích ứng viên có trọng số (CWU – Candidate Weight Utility) tập phần tử Y, ký hiệu CWU(Y) xác định sau: - 28 - Các cơng trình nghiên cứu, phát triển ứng dụng CNTT-TT TU(Tj) = ∑ ' ∈ Đặt X = ListItemPrefix(Y), CWU Y = ⊆ TU T − Nếu ∑ ⊆ ∑ ⊆ ∈ ∧ ∈ {∅} = i , T = − Định nghĩa 12 - Nếu CWU(Y) ≥ α’ với α’ ngưỡng tối thiểu lợi ích ứng viên cho trước Y gọi tập ứng viên lợi ích trọng số cao (HCWU- High Candidate Weight Utility) Ngược lại, Y gọi tập ứng viên lợi ích trọng số thấp (LCWU – Low Candidate Weight Utility) Định lý - Cho tập Yk – tập k-phần tử, Yk-1 – (k-1)-phần tử tập tiền tố tập Yk Nếu Yk HCWU Yk-1 HCWU Chứng minh: Ta có, {aYk} tập giao dịch chứa Yk, {aYk-1} tập giao dịch chứa Yk-1 Khi Yk-1 tập tiền tố Yk {aYk} ⊆ {aYk-1} Gọi X = ListItemPrefix(Yk-1) = ListItemPrefix(Yk), theo Định nghĩa 11 ta có: CWU Y ! = − #$ ⊆ % ' ∈ ≥ TU T( − ⊆ ) − − ∧ ' ∈ % ⊆ ) ' ∈ ∧ ' ∈ ) U i& , T" U i& , T( = CWU Y ≥ α+ Như vậy, tập Yk-1 tập ứng viên lợi ích trọng số thấp tất tập có tiền tố Yk-1 tập ứng viên lợi ích trọng số thấp khơng thể tập lợi ích cao Điều cho phép loại tập ứng viên Định lý - Cho HCWUs – gồm tập Y’ có CWU(Y’) ≥ α’, HUs – gồm tập Y có AU(Y) ≥ α với α ngưỡng lợi ích tối thiểu cho trước Nếu α = α’ HUs ⊆ HCWUs Chứng minh: i , T + U(Zj,Tj) ⊆ % U Y, T" TU T" ⊆ % ' ∈ ∧ ' ∈ % ⊆ % ⊆ % U i& , T" ∈-% ∧ ∈ % ⊆ % ' ∈ ∧ ' ∈ % U i , T" ≤ ⊆ % TU T" U i& , T" = CWU Y Như vậy, dùng mơ hình CWU để loại bỏ tập ứng viên khơng bỏ sót tập lợi ích cao Để minh chứng mơ hình CWU có số ứng viên mơ hình TWU, đưa bổ đề sau Bổ đề - Cho tập mục Y, ta có CWU Y ≤ TWU Y Chứng minh: Gọi X = ListItemPrefix(Y) Khi đó, CWU Y = TU T" #$ ⊆ % i& , T α+ = α ≤ AU Y = U i ,T = ∧ ' ∈ U ∈ ∧ ∈ U + ∑ ListItemPrefix(Y) ∈ ∧ ∈ U Tập V-1, Số 13 (33), tháng 6/2015 − ⊆ % ' ∈ ∧ ' ∈ % ⊆ % TU T" U i& , T" ≤ ⊆ % TU T" = TWU Y Bổ đề - Cho HCWUs – gồm tập Y’ có CWU(Y’) ≥ α HTWUs – gồm tập Y có TWU(Y) ≥ α, với α ngưỡng lợi ích tối thiểu cho trước, HCWUs ⊆ HTWUs Chứng minh: Nếu X tập mục thuộc HCWUs CWU (X) ≥ α Theo Bổ đề 1, ta có TWU(X) ≥ CWU(X) ≥ α, X thuộc HTWUs Vậy, HCWUs ⊆ HTWUs Theo Bổ đề 2, ta có mơ hình CWU sinh số lượng tập ứng viên so với mơ hình TWU Gọi X = ListItemPrefix(Y), Zj =Tj\XY Khi đó, - 29 - Các cơng trình nghiên cứu, phát triển ứng dụng CNTT-TT IV ĐỀ XUẤT THUẬT TOÁN Trong phần này, chúng tơi trình bày thuật tốn HP cải tiến từ thuật toán PB [8] sử dụng kết hợp hai mơ hình TWU CWU Thuật tốn PB dựa bảng tập ứng viên tạm thời (TC) để lưu trữ lấy nhanh giá trị TWU AU q trình khai phá Sau phân tích triển khai chúng tơi thấy thuật tốn PB có số bước cải tiến sau: - Để xây dựng bảng TC cho tập gồm phần tử thuật toán phải tiêu tốn hai lần duyệt liệu Lần thứ tính TU cho giao dịch, lần thứ hai tính TWU AU cho phần tử - Bảng ứng viên TCk gồm: tập k-phần tử, lợi ích ứng viên có trọng số - CWU lợi ích thực tế tập ứng viên - AU Các giá trị CWU, AU bảng TC1 gồm tập 1-phần tử tính tốn lần duyệt liệu lần đầu CWU tính TWU Sau lần tìm tất tập lợi ích cao với tiền tố X giá trị CWU Y = ∑ ⊆ TU T − ∑ ⊆ U X , T + ∑ ⊆ ∧ ) ∈ U i( , T Như vậy, thuật toán lại phải tính lại giá trị U tập tiền tố X giao dịch - Một tồn thuật tốn PB sau tính TWU phần tử không loại bỏ phần tử có TWU nhỏ ngưỡng tối thiểu cho trước dựa vào tính chất đóng TWU Điều làm tăng thời gian kiểm tra khả kết hợp tập tiền tố với phần tử để sinh tập ứng viên - Trong thuật toán PB phần tử xử lý theo thứ tự từ điển sinh tập ứng viên cách kết hợp tập tiền tố với phần tử phía sau giao dịch Nên phần tử có tần suất xuất cao (thường phần tử có TWU AU cao) xử lý sau khả tập tiền tố cần kết hợp với phần tử phía sau cao Điều làm tăng số lượng ứng viên Để khắc phục tồn thuật tốn PB, chúng tơi có đưa thuật tốn HP sử dụng kết hợp hai mơ hình: TWU CWU để làm giảm số lượng tập ứng viên Trong thuật tốn có sử dụng số cấu trúc sau: ⊆ ∑34 ∈ ∧ 34 ∈ U i ,T với X = ListItemPrefix(Y) Từ bảng TCk xác định tập lợi ích cao loại bỏ tập khơng có khả sinh tập có lợi ích cao dựa vào tính chất đóng CWU Ví dụ, bảng ứng viên phần tử Bảng - Mặt khác, tập ứng viên X’ sinh trực tiếp giao dịch Tj chứa tập tiền tố X kết hợp với phần tử ip xuất phía sau tập tiền tố X dựa bảng số (IT) Khi đó, AU /X + = ∑ ⊆ U X + , T = ∑ Tập V-1, Số 13 (33), tháng 6/2015 Bảng Bảng TC1 với tập gồm phần tử Itemsets A B C D E F CWU 99 102 133 50 113 87 AU 24 40 57 24 45 12 - Bảng số ITX tập X gồm: giao dịch Tj chứa tập X, vị trí p phần tử cuối tập X xuất giao dịch Tj U(X,Tj) Ví dụ, bảng số ITA tập {A} Bảng Với thứ tự xếp giao dịch từ bảng ITA xác định nhanh tập ứng viên 2-phần tử cách kết hợp A với phần tử sau A giao dịch Ví dụ, với giao dịch sau vị trí sinh tập ứng viên {AC}, {AE} Trong giao dịch 8, sau vị trí sinh tập ứng viên {AB}, {AE}, {AF} Từ Bảng 4, tính nhanh U({AB},T8) = U({A},T8) + U({B},T8) = + 10*2 = 29 Trong giá trị U(A,T8) = tính trình xây dựng bảng ITA Bảng Bảng số ITA tập {A} Tid Vị trí cuối U({A},Tj) 1 9 - Bảng giao dịch lợi ích - UTi chứa giá trị lợi ích phần tử i giao dịch gồm: giao dịch Tj chứa i U(i,Tj) Sau tìm tất tập lợi ích cao với tiền tố phần tử i dựa vào bảng UTi tính - 30 - Các cơng trình nghiên cứu, phát triển ứng dụng CNTT-TT CWU(Y) với phần tử i = ListItemPrefix(Y) Ví dụ, bảng UTA phần tử A Bảng A = ListItemPrefix(B) CWU(B) = TU(T2) + TU(T4)+ TU(T8) – U(A,T8) = 35 + 22 + 45 – (3*3) = 93 Nhưng TWU(B) = TU(T2) + TU(T4)+ TU(T8) = 35 + 22 + 45 = 102 Bảng Bảng UTA phần tử A Tid U(A,Tj) 9 IV.1 Mơ tả thuật tốn HP -INPUT: sở liệu giao dịch, lợi ích phần tử, α - ngưỡng lợi ích tối thiểu OUTPUT: Tất tập lợi ích cao -1: For Tj∈ D { 1.1:Tính TU(Tj); 1.2: Xây dựng bảng ứng viên phần tử TC1(Itemsets, CWU, AU); } 2: For i ∈ TC1 { 2.1: If CWU(i) ≥ α, đưa i vào tập HCWU1 theo thứ tự giảm dần theo AU; 2.2: If AU(i) ≥ α, đưa i vào tập HUs; } 3: For Tj ∈D { 3.1: If CWU(ij) < α, { 3.1.1 Loại ij ∈ Tj ; 3.1.2 TU(Tj) = TU(Tj) – U(ij,Tj); } 3.2: Sắp xếp ij ∈ Tj giảm dần theo AU; 3.3 Cập nhật lại CWU cho bảng TC1; } 4: For i ∈ HCWU1 { 4.1: If CWU(i) ≥ α, 4.1.1: Xây dựng bảng UTi ; 4.1.2: Xây dựng bảng ITi ; 4.1.3: Đặt k = 1; //k số lượng phần tử tập phần tử Tập V-1, Số 13 (33), tháng 6/2015 4.1.4: Search-HU({i}, k, ITi); //Tìm tất tập lợi ích cao theo chiều sâu với tiền tố i } 5: For (j,U) ∈ UTi { 5.1: TU(Tj) = TU(Tj) – U(i,Tj) ; } 6: For X ∈ HUs { 6.1: Hiển thị X; } Hàm Search-HU(X,k,IT{x}) -INPUT: X – tập tiền tố; k – số phần tử tập; ITX – bảng số tập X OUTPUT: danh sách tập có lợi ích cao -//Xây dựng bảng TCk+1 với X tiền tố dựa bảng IT{X} 1: TCk+1={}; 2: For (j,p) ∈ IT{X}{ 2.1: For ip+1 ∈ Tj { //p phần tử cuối tập X 2.1.1: If ip+1 ∈ HCWUk then, X’ = X ∪ ip+1; 2.1.2: If X’ ∉ TCk+1, đưa ( X’, TU(Tj), U(X,Tj) + U(ip+1,Tj)) vào bảng TCk+1 (Itemsets, CWU, AU); 2.1.3: If X’ ∈ TCk+1 then: CWU(X’) = CWU(X’) + TU(Tj); AU(X’) = AU(X’) + U(X,Tj) + U(ip+1,Tj); 2.1.4: Nếu k = 1, CWU(ip+1) = CWU(ip+1) – U(ip,Tj); } } 3: For X’ ∈ TCk+1 { 3.1: If CWU(X’) ≥ α, đưa X’ vào tập HCWUk+1 ; 3.2: If AU(X’) ≥ α, đưa X’ vào tập HUs; } 4: For X’ ∈ HCWUk+1 { 4.1: Xây dựng IT{X’} từ IT{X} ; 4.2: k = k +1; 4.3: Search-HU ({X’}, k, ITX’); //để tìm tập lợi ích cao theo chiều sâu với tiền tố tập {X’} } 5: Return HUs; - 31 - Các công trình nghiên cứu, phát triển ứng dụng CNTT-TT Tập V-1, Số 13 (33), tháng 6/2015 IV.2 Ví dụ minh họa 4.1.2 Xây dựng bảng ITC Bảng 10; Trong phần minh họa bước thuật tốn thơng qua sở liệu giao dịch Bảng bảng lợi ích tương ứng Bảng với ngưỡng lợi ích tối thiểu α=56 4.1.3 Đặt k =1; 4.1.4 Tìm tất tập lợi ích cao theo chiều sâu với tiền tố C cách gọi hàm Search-HU({C},k,IT{C}) Bước 1, duyệt Tj ∈ D: Bảng Bảng lợi ích giao dịch 1.1 Tính TU(Tj) ={18, 35, 12, 22, 24, 12, 8, 45, 12, 14} tương ứng với TU giao dịch từ đến 10 Tid 10 1.2 Xây dựng bảng TC1 gồm: CWU, AU phần tử Ta có bảng TC1 có kết Bảng Bảng Bảng TC1 với tập gồm phần tử Itemsets CWU AU A 99 24 B 102 40 C 133 57 D 50 24 E 113 45 F 87 12 Bước 2, duyệt phần tử i Bảng 2.1 Nếu phần tử có CWU(i) ≥ 56 đưa vào tập HCWU1 Ta được, tập HCWU1 sau xếp theo AU gồm: {C, E, B, A, F} C 25 12 0 E 2 0 2 B 1 0 0 A 0 0 F 1 0 0 Bảng Bảng TC1 sau cập nhật lại CWU Itemsets CWU AU 2.2 Nếu AU(i) ≥ 56 đưa vào tập HUs Ta tập HUs ={C:57} Bước 3, duyệt lại Tj: A 87 24 B 102 40 C 115 57 D 50 24 E 107 45 F 75 12 Bảng Bảng UTC phần tử C 3.1 Nếu CWU(i) < α thì: Tid 10 3.1.1 Loại i khỏi giao dịch Tj, ta thấy có CWU(D) = 50< 56 nên loại D khỏi giao dịch 1, 6, 7, 3.1.2 Cập nhật lại TU giao dịch 1, 6, 7, D bị loại khỏi giao dịch Vậy ta TU ={12, 35, 12, 22, 24, 6, 2, 45, 6, 14} tương ứng với giao dịch từ đến 10 3.2 Sau loại D khỏi giao dịch xếp giao dịch giảm dần theo AU kết Bảng U(C,Tj) 1*2 = 1*25 = 25 1*12 = 12 1*8 = 1*4 = 1*2 = 1*4 = Bảng 10 Bảng số ITC phần tử C Tid 10 3.3 Cập nhật lại CWU cho bảng TC1 sau loại D, kết Bảng 8; Bước 4, với phần tử i ∈ HCWU1: 4.1 Nếu CWU(i) > α thực hiện: (giả sử với phần tử C có CWU(C) = 115 > α) 4.1.1 Xây dựng bảng UTC Bảng 9; - 32 - Vị trí cuối 1 1 1 U(C,Tj) 1*2 = 1*25 = 25 1*12 = 12 1*8 = 1*4 = 1*2 = 1*4 = Các cơng trình nghiên cứu, phát triển ứng dụng CNTT-TT Bước 5, duyệt (j,U) ∈ UTi 5.1 Cập nhật TU(Tj) = TU(Tj) – U(i,Tj) Giả sử với UTC giá trị TU giao dịch 1, 2, 4, 5, 6, 7, 10 giảm tương ứng {2, 25, 12, 8, 4, 2, 4} Kết TU giao dịch từ đến 10 {10, 10, 12, 10, 16, 2, 0, 45, 6, 10} Bước 6, hiển thị danh sách tập lợi ích cao HUs Tương tự, lặp lại Bước với (5,1), (6,1), (7,1), (10,1) ta kết bảng TC2 với tiền tố C kết Bảng 13 Bảng 11 Bảng TC2 với tiền tố C Itemsets CWU AU CE 12 CA 12 CF 12 Hàm Search-HU({C},k,ITC) //Xây dựng bảng TC2 với C tiền tố dựa bảng ITC Bước 1, TC2={}; Bước 2, Với (j,p) ITC thực Giả sử với (1,1) – giao dịch vị trí 2.1 Với phần tử ip+1 đứng sau vị trí p giao dịch T j thực Giả sử với phần tử E 2.1.1 Ta có, E ∈ HCWU1 nên tạo tập {CE} = C ∪ E; 2.1.2 Ta có, {CE} ∉ TC2 nên đưa: {CE}; TU(T1)=12; U({C},T1) + U(E,T1) = + 5*1 =7 vào TC2(Itemsets, CWU, AU) Lặp lại Bước 2.1, với hai phần tử A, F sau vị trí giao dịch HCWU2 = ({CE}, {CA}, {CF}) Bảng TC2 Bảng 11 Lặp lại Bước 2, với (2,1) – giao dịch 2, sau vị trí có phần tử B ∈ HCWU1 nên tạo tập {CB} = {C} ∪ B Ta thấy, {CB} ∉ TC2 nên đưa: {CB}; TU(T2) = 35; U({C},T2) + U(B,T2) = 25 + 10*1 = 35 vào TC2(Itemsets, CWU, AU) Kết Bảng 12 Lặp lại Bước 2, với (4,1) - giao dịch 4, sau vị trí có phần tử B ∈ HCWU1 nên tạo tập {CB} = {C} ∪ B 2.1.3 Vì {CB} ∈ TC2 nên cập nhật giá trị CWU AU {CB} Bảng 12 sau: CWU({CB}) = CWU({CB}) + TU(T4) = 35 + 22 = 57; AU({CB}) = AU({CB}) + U({C},T4) + U(B,T4) = 35 + 22 = 57 Tập V-1, Số 13 (33), tháng 6/2015 Bảng 12 Bảng TC2 với tiền tố C Itemsets CWU AU CE 12 CA 12 CF 12 CB 35 35 Bảng 13 Bảng TC2 với tiền tố C Itemsets CWU AU CE 50 39 CA 36 19 CF 18 10 CB 57 57 Bảng 14 Bảng TC1 sau cập nhật lại CWU Itemsets A B C D E F CWU 77 65 115 50 93 69 AU 24 40 57 24 45 12 Bảng 15 Bảng số IT{CB} tập {CB} Tid Vị trí cuối U({CB},Tj) 2 35 22 2.1.4 Nếu k = CWU(ip+1) = CWU(ip+1) – U(ip,Tj) Ví dụ, phía sau phần tử C giao dịch có phần tử E, A, F CWU phần tử giảm U({C},T1) = Vậy sau duyệt (1,1) giá trị CWU tương ứng E, A, F 105, 85, 73 Tương tự, sau duyệt bộ: (2,1), (4,1), (5,1), (6,1), (7,1), (10,1) giá trị CWU bảng TC1 có kết Bảng 14 Bước 3, duyệt tập X’∈ TC2 3.1 Chỉ có CWU({CB}) = 57> 56 nên HCWU2 = ({CB}) - 33 - Các cơng trình nghiên cứu, phát triển ứng dụng CNTT-TT 3.2 Chỉ có AU({CB}) = 57 > 56 nên HUs = {C:57, CB:57} Bước 4, với X’ ∈ HCWU2 4.1 Xây dựng bảng IT{CB} từ bảng ITC kết Bảng 15 4.2 k = k + 1; //k = +1 = 4.3 Gọi hàm Search-HU({CB}, k, IT{CB}) để tìm tất tập lợi ích cao với tiền tố {CB} Khi gọi hàm Search-HU({CB},k,IT{CB}) để tìm tập lợi ích cao gồm phần tử cách duyệt (2,2) (4,2) bảng IT{CB} để sinh ứng viên gồm phần tử Nhưng vị trí giao dịch vị trí cuối nên khơng có tập ứng viên gồm phần tử sinh Vậy, sau tìm kiếm tập lợi ích cao với tiền tố C HUs = {C, CB} Và kết thúc hàm Search-HU({C},1,IT{C}) Lặp lại bước chương trình để tìm tập lợi ích cao với tiền tố phần tử E, B, A, F HCWU1 cách gọi hàm Search-HU giống phần tử C Bảng 16 So sánh giá trị CWU TWU Tiền tố C E B A F CWU {C}: 115, {CB}: 57, {CF}: 18, {CA}: 36, {CE}:50 {E}:93, {EB}:45, {EF}: 67, {EA}:71, {EAF}: 55 TWU {C}: 115, {CB}: 57, {CF}: 18, {CA}: 36, {CE}: 50 {E}: 107, {EB}: 45, {EF}: 69, {EA}: 81, {EAF}: 57 {B}: 102, {BF}: 45, {BA}: 45 {A}: 87, {AF}: 57 {F}: 75 Kết thúc q trình khai phá với ngưỡng lợi ích tối thiểu α = 56 ta thu tập lợi ích cao HUs= {C:57, CB:57} Tập V-1, Số 13 (33), tháng 6/2015 Bảng 16 cho ta thấy sử dụng mơ hình CWU hiệu mơ hình TWU việc cắt tỉa ứng viên Mơ hình CWU sinh 10 ứng viên cịn mơ hình TWU sinh 16 ứng viên V KẾT QUẢ ĐÁNH GIÁ Trong phần này, so sánh kết thực thuật toán HP chúng tơi với thuật tốn TP [3], PB [8] Đầu tiên giới thiệu liệu dùng để thử nghiệm Tiếp theo kết thực số lượng tập ứng viên V.1 Môi trường liệu Thuật tốn thực máy tính IBM core due 2.4GHz với GB nhớ, chạy Windows Chương trình chúng tơi viết Visual C++ 2010 Dữ liệu thử nghiệm gồm: Mushroom [13] T30I4D100K sinh từ sinh liệu IBM [12] Đặc điểm liệu mô tả phía dưới: Database T30I4D100K Mushroom T 30 23 D 100.000 8.124 N 100 119 Trong đó: T – số phần tử trung bình giao dịch; N – số phần tử khác nhau; D – số giao dịch Các liệu chưa có giá trị lợi ích ngồi cho phần tử giao dịch cho biết phần tử xuất Do vậy, sinh ngẫu nhiên số lượng cho phẩn tử giao dịch với giá trị thuộc từ đến lợi ích ngồi phần tử từ 0.1 đến 10 Hình 1a cho biết việc phân bổ lợi ích ngồi phần tử T30I4D100K Hình 1b cho biết việc phân bổ lợi ích ngồi phần tử Mushroom Hình 1a Biểu đồ phân bố lợi ích ngồi phần tử T30I4D100K - 34 - Các công trình nghiên cứu, phát triển ứng dụng CNTT-TT Tập V-1, Số 13 (33), tháng 6/2015 Hình 1b Biểu đồ phân bố lợi ích ngồi phần tử Mushroom Hình 2c So sánh thời gian thực theo số lượng giao dịch khác với ngưỡng α=20% V.2 Thời gian thực số ứng viên Kết thử nghiệm, so sánh thuật toán HP với thuật toán TP, PB liệu T30I4D100K thể Hình 2a, 2b, 2c Cụ thể, Hình 2a so sánh số lượng ứng viên tương ứng với ngưỡng lợi ích tối thiểu khác nhau, Hình 2b so sánh thời gian thực khai phá thay đổi ngưỡng lợi ích tối thiểu, Hình 2c so sánh thời gian thực khai phá cố định ngưỡng lợi ích tối thiểu 20% thay đổi số lượng giao dịch Hình 3a, 3b so sánh số ứng viên sinh thời gian thực khai phá thuật tốn tương ứng với ngưỡng lợi ích tối thiểu khác liệu Mushroom Hình 2a So sánh số lượng ứng viên sinh với ngưỡng lợi ích khác Hình 3a So sánh số lượng ứng viên sinh với ngưỡng lợi ích khác Hình 3b So sánh thời gian thực với ngưỡng lợi ích khác VI KẾT LUẬN Hình 2b So sánh thời gian thực với ngưỡng lợi ích khác Trong báo chúng tơi phân tích ưu, nhược điểm số thuật tốn khai phá tập lợi ích cao đề xuất năm gần đây, phân tích ưu, nhược điểm mơ hình TWU nhằm loại bớt tập ứng viên Trên sở đó, chúng tơi đề xuất mơ hình lợi ích ứng viên có trọng số – CWU (Candidate Weight Utility) Kết thử nghiệm cho thấy mô hình CWU sinh số lượng ứng viên mơ hình TWU - 35 - Các cơng trình nghiên cứu, phát triển ứng dụng CNTT-TT Chúng đề xuất thuật toán HP cải tiến từ thuật toán PB [8] số điểm: thực khai phá theo thứ tự giảm dần lợi ích phần tử, thay đổi cấu trúc bảng số IT giúp tính tốn nhanh giá trị CWU U, sử dụng mơ hình CWU để giảm số lượng tập ứng viên Thử nghiệm, so sánh thuật toán đề xuất với hai thuật toán TP PB liệu chuẩn Thời gian tiếp theo, thử nghiệm mơ hình CWU số thuật tốn khác nhằm tiếp tục khẳng định ưu điểm mô hình TÀI LIỆU THAM KHẢO [1] R Chan, Q Yang, and Y Shen, “Mining high utility itemsets” In Proc of Third IEEE Int'l Conf on Data Mining, pp 19-26, 2003 [2] R.Agrawal, and R Sri kant, "Fast algorithms for mining association rules in large databases", Proc 20th IntI Conf Very Large Data Bases (VLDB'94), pp 487-499, September 1994 [3] Y Liu, W Liao, and A N Choudhary, "A twophase algorithm for fast discovery of high utility itemsets", Proc 9th Pacific-Asia Conf Knowledge Discovery and Data Mining (PAKDD'05), pp 689-695, May 2005 [4] H Yao, H.J Hamilton, and C Butz, "A foundational approach to mining itemset utilities from databases", Proc 4th SIAM IntI Conf Data Mining (SDM'04), pp 482-486, April 2004 [5] Wei Song, Yu Liu, Jinhong Li, “Vertical Mining for High Utility Itemsets”, IEEE International Conference on Granular Computing, 2012 [6] C F Ahmed, S K Tanbeer, B.-S Jeong, and Y.-K Lee, "HUC-Prune: an efficient candidate pruning technique to mine high utility patterns," Appl Intell., vol 34, pp.181-198, April 2011 [7] Liu Y, Liao W, Choudhary A “A fast high utility itemsets mining algorithm” In: Proceeding of the utilitybased data mining workshop, pp 90–99, 2005 [8] Guo-Cheng Lan, Tzung-Pei Hong, Vincent S Tseng, “An efficient projection-based indexing approach for mining high utility itemsets”, Knowl Inf Syst (2014) 38:85–107, Springer-Verlag London 2013 [9] Vincent S Tseng, Cheng-Wei Wu, Bai-En Shie, Philip S.Yu, “UP-Growth: An Efficient Algorithm for High Utility Itemset Mining”, KDD’10, July 25–28, Washington, DC, USA, 2010 Tập V-1, Số 13 (33), tháng 6/2015 [10] A.Erwin, R P Gopalan, and N R Achuthan, "CTU-Mine: an efficient high utility item set mining algorithm using the pattern growth approach," Proc 7th IEEE IntI Conf Computer and Information Technology (CIT'07), pp 71-76, October 2007 [11] C F Ahmed, S K Tanbeer, B.-S Jeong, and Y.-K Lee, "HUC-Prune: an efficient candidate pruning technique to mine high utility patterns" Appl Intell., vol 34, pp 181-198, April 2011 [12] IBM Quest Data Mining Project, Quest Synthetic Data Generation Code Available at (http:// www.almaden.ibm.com/cs/quest/syndata.html) [13] https://archive.ics.uci.edu/ml/datasets Nhận ngày: 1/10/2014 SƠ LƯỢC VỀ TÁC GIẢ ĐẬU HẢI PHONG Sinh năm: 1977 Tốt nghiệp đại học Hệ thống thông tin quản lý năm 2000 Đại học Thăng Long, CNTT năm 2006 HVKTQS Nhận thạc sỹ CNTT 2008 Học viện Kỹ thuật Quân Hiện cơng tác Khoa Tốn Tin học – trường Đại học Thăng Long Lĩnh vực nghiên cứu: Khai phá liệu, Tính tốn song song, Cơ sở liệu phân tán Email: phong4u@gmail.com; ĐT: 0912.441.435 NGUYỄN MẠNH HÙNG Sinh năm 1974 Tốt nghiệp đại học CNTT năm 1998 Học viện Kỹ thuật Quân Bảo vệ luận án Tiến sỹ năm 2004 Trung tâm tính tốn – Viện hàn lâm khoa học Liên bang Nga Hiện cơng tác Phịng Sau đại học – Học viện Kỹ thuật Quân Lĩnh vực nghiên cứu: cấu trúc liệu đại, khai phá liệu, phân loại gói tin hiệu cao Email: manhhungk12@mta.edu.vn; ĐT: 0989.146.397 - 36 - ... tổng lợi ích giao dịch chứa {aX} Trong thuật toán khai phá tập lợi ích cao UDepth [5], PB [8], tập lợi ích cao khai phá theo chiều sâu Giả sử, {aX} tất tập có tiền tố phần tử a, {bX} tất tập. .. 19 Định nghĩa [8] – Tập phần tử lợi ích cao: Tập X gọi tập phần tử lợi ích cao (HU – High Utility) AU(X) ≥ α, ngược lại gọi X tập phần tử lợi ích thấp Trong α ngưỡng lợi ích tối thiểu cho trước... dụng bảng số tập để sinh ứng viên, tìm tập lợi ích cao tạo nhanh bảng số từ tập tiền tố Hầu hết thuật tốn khai phá tập lợi ích cao, [3,5,8], sử dụng mơ hình TWU làm sở để cắt tỉa tập ứng viên

Ngày đăng: 17/04/2022, 09:10

Tài liệu cùng người dùng

Tài liệu liên quan