2.3.1. Luật kết hợp đa thức [7, 8]
Trong nhiều ứng dụng, chúng ta khó mà có thể khám phá những kết hợp mạnh giữa các Item dữ liệu ở mức trừu tượng thấp hay nguyên thuỷ, do sự thưa thớt của dữ liệu không gian đa chiều. Do đó, một hệ thống KPDL nên hỗ trợ những khả năng để khai phá luật kết hợp các mức trừu tượng khác nhau.
Ví dụ: Cho tập dữ liệu giao dịch của cho nhánh AllElectronecs như Bảng 2.2.
I1:2
I1:2 I2:4
null{}
25
Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
all
computer software Printer
lattop uter color wris t pad computer accesory b/w desktop education fnancial
managemen t … … … microsoft … HP … l … son y … … … mouse …
TID Items purchased
T1 T2 T3 T4 T5 …..
IBM destop computer, Sony b/w printer
Microsoft educational software, Microsoft financial management software Logitech mouse computer accessory, Ergoway wrist pad computer accessory IBM destop cumputer, Microsoft financial management sofrware
IBM destop cumputer ………
Bảng 2.2
Một hệ thống phân cấp khái niệm cho các item như Hình 2.6. Hệ thống phân cấp khái niệm này có bốn mức 0,1,2,3.
Việc tìm kiếm những mẫu hàng đáng quan tâm ở mức thấp là rất khó. Chẳng hạn, nếu “IBM desop computer” hoặc “Sony b/w printer” xuất hiện trong phần rất nhỏ của các giao dịch, thì khó mà có thể tìm những sự kết hợp mạnh liên quan đến chúng. Tuy nhiên, nếu xét sự khái quát của “Sony b/w priner” là “b/w printer” , thì việc tìm kiếm kết hợp mạnh giữa “IBM destop computer” và “b/w printer” sẽ dễ dàng hơn giữa “IBM destop computer” và “Sony b/w printer” .
M ức 0
M ức 1
M ức 2
M ức 3 logitech
26
Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Hay nói cách khác, những itemset chứa các item được khái quát hoá hơn thì có nhiều khả năng thoả min_sup hơn so với những itemset chứa item ở mức nguyên thủy.
2.3.2 Các phƣơng pháp khai phá luật kết hợp đa mức
Các phương pháp khai phá luật kết hợp đa mức thường sử dụng chiến lược top-down. Khởi đầu từ mức khái niệm 1 và tiếp tục tại mức thấp hơn cho đến khi không còn frequent itemset nào được tìm thấy [8]. Ở mỗi mức chúng ta có thể sử dụng bất kỳ thuật toán nào để tìm các frequent itemset, chẳng hạn thuật toán Apriori và các biến thể của chúng.
Một số phƣơng pháp:
2.3.2.1. Đồng nhất độ hỗ trợ tối thiểu cho tất cả các mức
Cùng một min_sup được sử dụng khi khai phá ở các mức trừu tượng khác nhau. Ví dụ như hình 2.7, với min_sup=5% thì các “computer” và “laptop computer” được tìm thấy là frequent, nhưng “desktop computer” thì không.
Ƣu điểm:
- Cách thực hiện đơn giản.
- Có thể tránh được việc xem xét những itemset chứa các item mà tổ tiên của nó không phải là frequent.
Nhƣợc điểm:
- Nếu min_sup quá cao, thì một số luật kết hợp có ý nghĩa ở mức thấp có thể bị bỏ qua.
- Nếu min_sup quá thấp, thì ta có thể sinh ra một số luật kết hợp không có nghĩa ở mức cao.
Hình 2.7
Mức 2
Min_sup = 5%
Computer[support=10%]
Laptop computer[support=6%] Desktop Computer[support=4%]
Mức 1
27
Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
2.3.2.2. Giảm dần độ hỗ trợ tối thiểu ở mức thấp hơn
Mỗi mức trừu tượng có mỗi min_sup riêng. Ở mỗi mức trừu tượng thấp hơn, thì có min_sup thấp hơn.
Ví dụ: Như hình 2.8, thì có tất cả “computer”, “laptop computer” và
“desktop computer” đều là frequent.
Hình 2.8
2.3.2.3. Độc lập theo từng mức ( Level – cross filtering by single item)
Một item tại mức i được xét, nếu nút cha của nó tại mức (i-1) là frequent.
Ví dụ: Như hình 2.9, hai nút con của nút “Computer” là “Laptop Computer”
và “Destop Computer” sẽ không được xét, vì nút “computer” không là frequent.
Mức 1
Min_sup = 12%
Mức 2
Min_sup = 3%
2.3.2.4. Lọc chéo mức bởi một itemset (Level – cross filtering by k-itemset)
Một k-itemset tại mức thứ i được xem xét nếu và chỉ nếu k-itemset cha của nó tại mức (k-1) là frequent.
Ví dụ: Như hình 2.10, 2-itemset “{computer, printer}” là frequent. Do đó, các nút
“{laptop computer, b/w printer}”, “{laptop coputer, color printer}”, “{desktop computer,b/w printer}”, “{desktop computer,color printer}” đều được xem xét.
Computer[support=7%]
Laptop (not examined) Desktop Computer (not examined)
Computer[support=10%]
Laptop computer[support=6%] Desktop Computer[support=4%]
Mức 1
Min_sup = 5%
Mức 2
Min_sup = 3%
28
Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Hình 2.10
2.4. Khai phá luật kết hợp đa chiều từ CSDL quan hệ và kho dữ liệu
Trong phần này, chúng tôi sẽ trình bày các phương pháp khai phá luật kết hợp đa chiều, tức là những luật có nhiều hơn một chiều hoặc vị từ (predicate)[8].
2.4.1. Luật kết hợp đa chiều
Từ đầu chương cho đến phần này, chúng ta chỉ xem xét những luật kết hợp hàm ý là đơn chiều, tức là những luật chỉ liên quan đến một vị từ buys. Chẳng hạn, luật “IBM destop computer Sony b/w printer” có thể viết lại là:
Buys(X, “IBM destop computer”) buys (X, “Sony b/w printer”) (9) Trong đó: X là khách hàng
Luật (9) được gọi là luật đơn chiều, vì nó chỉ chứa một vị từ phân biệt (buys) mặc dù nó xuất hiện nhiều lần trong luật.
Những luật có hơn một vị từ được gọi là luật kết hợp đa chiều. Ví dụ luật: age (X, “20…29”) occupation (X, “student”) buys (X, “laptop”) (10) Luật 10 được goi là luật kết hợp đa chiều vì nó chứa ba vị từ (age, occupation và buys), mỗi vị từ chỉ xuất hiện một lần trong luật . Những luật kết hợp đa chiều không có sự lặp lại của các vị từ được gọi là các luật interdimension, ngược lại gọi là các luật hybriddimension. Ví dụ luật
age (X, “20…29”) buys (X, “laptop”) buys (X, “b/w printer”) (11) là luật kết hợp là hybriddimension.
Các thuộc tính của các CSDL có thể phân thành hai loại phân hạng (categorical) và số lượng (quantitative). Miền giá trị của thuộc tính phân hạng là
Computer and printer [support=7%]
Laptop computer and b/w printer [support =1%] Laptop computer and color printer [support =2%] Destop computer and b/w printer [support =1%] Destop computer and color printer [support =3%] Mức 1 Min_sup = 5% Mức 2 Min_sup = 2%
29
Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
hữu hạn và là tập không có thứ tự. Thuộc tính số lượng là những con số, các giá trị của nó có thứ tự rõ ràng. Có ba phương pháp cơ bản để khai phá luật kết hợp đa chiều tuỳ thuộc vào phương diện xử lý thuộc tính số lượng. Ba phương pháp đó là khai phá luật kết hợp đa chiều sử dụng việc rời rạc hoá tĩnh các thuộc tính số lượng, khai phá luật kết số lượng và khai phá luật dựa trên khoảng cách.
2.4.2. Khai phá luật kết hợp đa chiều sử dụng việc rời rạc hoá tĩnh các thuộc tính số lƣợng. thuộc tính số lƣợng.
Việc rời rạc hoá các thuộc tính số lượng được thực hiện trước khi khai phá, với các giá trị số được thay thế bởi các miền (range). Các thuộc tính categorical cũng có thể được khái quát hoá thành những khái niệm cao hơn nếu cần.
Dữ liệu bài toán được biến đổi để có thể được lưu trữ ở dạng khối dữ liệu (data cube). Các data cube rất phù hợp cho việc khai phá luật kết hợp đa chiều. Data cube là một mạng các khối lập phương (cuboid), cuboid là một cấu trúc dữ liệu đa chiều. Những cấu trúc dữ liệu này có thể chứa dữ liệu bài toán đã cho, cũng như kết tâp, nhóm thông tin. Ví dụ như hình 2.11 là một mạng các cuboid xác định một data cube cho các chiều age, income và buys. Các ô của cuboid n - chiều được sử dụng để lưu trữ support count cho các tập n – predicate. Cuboid cơ sở kết tập dữ liệu bài toán theo age, income và buys; 2-D cuboid (ví dụ: age, income ) kết tập theo age, income. 0 – D cuboid chứa tổng số giao dịch trong bài toán đã cho.
Hình 2.11: Mạng cuboids tạo thành một data cube 3D
0
(age) (income) (Buys)
(income, buys) (age, buys)
(age, income, buys) (age, income)
0 – D cuboid
1 – D cuboids
2 – D cuboids
30
Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
2.4.3. Khai phá luật kết hợp số lƣợng
Luật kết hợp số lượng là luật kết hợp đa chiều với những thuộc tính số lượng được rời rạc hoá trong quá trình khai phá nhằm thoả mãn một số tiêu chuẩn như cực đại hoá độ tin cậy của các luật khai phá. Trong phần này, chúng tôi chỉ tập trung vào việc làm thế nào để khai phá những luật kết hợp số lượng có hai thuộc tính số lượng bên trái luật và một thuộc tính categorical bên phải luật. Chẳng hạn, Aqu an 1 Aquan2 Acat. Trong đó, Aquan1 và Aquan2 là xét trên các miền thuộc tính categorical. Những luật như vậy được gọi là luật kết hợp số lượng hai chiều.
Ví dụ: age (X, “30…39”) income (X, “42K…48K”) buys (X, “high resolutionTV”
(12)
Để khai phá các luật dạng này chúng ta dùng phương pháp ARCS (Association Rule Clustering System) xuất phát từ ý tưởng của việc xử lý ảnh..
Về cơ bản, phương pháp này là ánh xạ các cặp của hai thuộc tính số lượng lên một lưới 2 chiều đối với những bộ thoả điều kiện thuộc tính categorical đã cho. Sau đó, lưới này được sử dụng để tìm các nhóm điểm và nó tự sinh ra các luật.
Các bƣớc thực hiện phƣơng pháp ARCS [8]:
Bước 1 – Bining: Để giảm kích thước của các lưới, chúng ta chia miền giá trị
của các thuộc tính số lượng ra thành nhiều khoảng (interval), các khoảng này là động. Tức là, chúng có thể được kết hợp lại sau này trong quá trình khai phá. Quá trình phân chia được gọi là binning, các khoảng được gọi là các bin. Ba chiến lược bining chung là:
- Equiwidth binning: Kích thước khoảng cách của mỗi bin là bằng nhau. - Equidepth binning: Số bộ trong mỗi bin là gần bằng nhau.
- Homogeneity - base binning: Kích thước của mỗi bin được xác định sao cho các bộ trong các bin được phân bố đều nhau.
ARCS sử dụng phương pháp Equiwidth binning, với kích thước bin của mỗi thuộc tính số lượng được nhập vào bởi người dùng. Với mỗi lớp của thộc tính categorical, chúng ta tạo một mảng hai chiều để thể hiện sự kết hợp của hai thuộc tính số lượng. Mỗi ô của mảng chứa tần số phân bố của hai thuộc tính số lượng đối
31
Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
với mỗi lớp của thuộc tính categorical, chúng ta tạo một mảng hai chiều thể hiện sự kết hợp của hai thuộc tính số lượng đối với mỗi lớp của thuộc tính categorical.
Bước 2 – Tìm những tập frequent predicate: Ngay khi, mảng hai chiều chứa
tần số phân bố được thiết lập, nó được quét để tìm các tập frequent predicate. Sau đó, các luật kết hợp mạnh có thể sinh ra bằng cách sử dụng thuật toán ở trên.
Bước 3 – Nhóm các luật kết hợp: Những luật kết hợp đạt được ở bước 2
được ánh xạ vào lưới hai chiều. Ví dụ như hình 2.12 là một lưới hai chiều do các luật kết hợp số lượng hai chiều với điều kiện buys (X, “high resolution TV”) ở bên phải của luật, các thuộc tính số lượng cho trước age và income. Bốn ô được đánh chéo là tương ứng cho 4 luật.
age(X, 34) income (X, “31K…40K”) buys (X, “high resolution TV”) (13)
age(X, 35) income (X, “31K…40K”) buys (X, “high resolution TV”) (14)
age(X, 34) income (X, “41K…50K”) buys (X, “high resolution TV”) (15)
age(X, 35) income (X, “41K…50K”) buys (X, “high resolution TV”) (16) Bốn luật này có thể được nhóm lại với nhau để có một luật đơn giản hơn là:
age(X, 34…35) income (X, “31K…50K”) buys (X, “high resolution TV”) (17)
Hình 2.12 2.4.4. Khai phá luật kết hợp dựa vào khoảng cách
Trong phần trước, chúng tôi đã đề cập cách khai phá luật kết hợp số lượng với các thuộc tính số lượng được rời rạc hoá động. Tuy nhiên, cách tiếp cận này có thể không đáp ứng được ngữ nghĩa của khoảng cách. Chẳng hạn như bảng 2.3, ta thấy sự phân chia dựa trên khoảng cách dường như là thích hợp nhất, vì nó nhóm những
71K…80K 61K…70K 51K…60K 41K…50K 31K…40K 21K…30K <= 20K 32 33 34 35 36 37 38 age income
32
Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
giá trị gần nhau thành một khoảng. Trong khi đó, phương pháp Equidepth thì nhóm những giá trị cách xa nhau thành một nhóm (ví dụ [22, 50]). Phương pháp Equiwidth có thể tách các giá trị gần nhau ra và tạo những khoảng không có dữ liệu.
Price ($) Equiwidth (width $10) Equidepth (depth 2) Distance - Based 7 20 22 50 51 53 [0, 10] [11, 20] [21, 30] [31, 40] [41, 50] [51, 60] [7, 20] [22, 50] [51, 53] [7, 7] [20, 22] [50, 53] Bảng 2.3
Điều này tạo động cơ cho việc khai phá các luật kết hợp dưa vào khoảngcách. Thuật toán khai phá các luật dạng này có hai giai đoạn [8]:
Giai đoạn 1: Hình thành các nhóm (cluster).
Đặt S[X] là một tập có N bộ t1, t2,…, tN được chiếu trên tập thuộc tính X. Đường kính S[X] là khoảng cách từng đôi trung bình (average pairwise distance) giữa các bộ được chiếu trên X. Các độ đo khoảng cách có thể sử dụng là khoảng cách Euclidean và Manhattan.
Cho 2 bộ t1 (x11, x12, …, x1m) và t2 (x21, x22, .., x2m), khoảng cách Euclidean giữa là d(t1, t2) = m i i i x x 1 2 2 1 , khoảng cách Manhattan d(t1, t2) = m i i i x x 1 2 1 .
Đường kính của S[X] càng nhỏ thì các bộ này càng gần nhau hơn khi chiếu trên tập X.
Nhóm Cx là tập các bộ được xác định trên tập X và những bộ này phải thoả ngưỡng mật độ (density threshold), ngưỡng tần số (số tối thiểu các bộ).
Giai đoạn 2: Phối hợp các nhóm để tạo thành các luật kết hợp dựa vào khoảng cách.
Xét luật đơn giản dạng CX CY. Giả sử X là tập thuộc tính {age} và Y là các tập thuộc tính {income}. Chúng ta muốn khẳng định luật CX CY là mạnh, tức là
33
Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
khi chiếu những bộ của CX trên tập thuộc tính Y, thì những giá trị của nó trên Y nằm trong phạm vi CY. Gọi Cx[Y] là chiếu CX trên thuộc tính Y. Do đó, khoảng cách giữa Cx[Y] vàCY[Y] phải là nhỏ. Khoảng cách giữa Cx[Y] vàCY[Y] càng nhỏ thì mức độ kết hợp giữa CX và CY càng mạnh. Mức độ kết hợp có thể xác định bằng những cách dùng những độ thống kê chuẩn như khoảng cách Manhattan trọng tâm (Centriod Manhattan distance), trong đó trọng tâm của một nhóm thể hiện độ trung bình của nhóm.
Tổng quát: Xét luật dạng CX CX2 … CXx CY1 CY2 …. CYy với Xi Yj ( i, j),
luật này được gọi là mạnh nếu nó thoả mãn 3 điều kiện: 1. Các Cxi là được kết hợp mạnh tương ứng với mỗi CYj 2. Các Cxi xuất hiện đồng thời với nhau.
3. Các CYi xuất hiện đồng thời với nhau.
Chú ý: Mức độ kết hợp chính là độ tin cậy và ngưỡng mật độ là sự hỗn hợp ở những luật kết hợp không dựa trên khoảng cách.
34
Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
CHƢƠNG 3
MỘT SỐ THUẬT TOÁN KHAI PHÁ LUẬT KẾT HỢP
Theo [4, 5, 8] bài toán khai phá luật kết hợp được tách thành hai bài toán con: tìm các frequent itemset, sử dụng các frequent itemset để sinh luật kết hợp. Trong chương này, chúng tôi sẽ trình bày các thuật toán khám phá frequent itemset như: AIS, SETM, Apriori, AprioriTID và AprioriHybrid. Tiếp đó sẽ trình bày các thuật toán sinh luật kết hợp. Thuật toán DHP và PHP cùng việc so sánh thuật toán trên cũng được đề cập ở đây.
3.1. Khám phá các frequent itemset
Các thuật toán khám phá frequent itemset tạo ra nhiều lần quét dữ liệu [5, 8]. Trong lần quét thứ nhất, chúng tìm support count cho các item và xác định frequent item. Trong mỗi bước quét dữ liệu tiếp theo, chúng sủ dụng tập frequent itemset được tìm thấy để sinh ra tập itemset ứng cử viên và xác định tập các itemset ứng cử viên là frequent itemset. Quá trình này thực hiện cho đến khi không còn thấy frequent itemset nào nữa.
Thuật toán Apriori và AprioriTID về cơ bản là khác với thuật toán SETM trong việc sinh và đếm các itemset ứng cử viên. Trong thuật toán AIS và SETM, các itemset ứng cử viên được sinh ra ngay sau khi dữ liệu được đọc. Cụ thể, sau khi một giao T, AIS và SETM xác định các frequent itemset được tìm thấy ở trước đó hiện diện trong T và sinh ra các itemset ứng cử viên mới bằng cách mở rộng các frequent itemset này với các item khác trong t.
3.1.1. Thuật toán AIS
Với Thuật toán AIS, các itemset ứng cử viên được sinh ra và đếm ngay khi CSDL được quét [5, 15]. Sau khi đọc một giao dịch T, AIS xác định xem các itemset frequent nào ở bước quét trước đó được chứa trong giao dịch này. Các