Luật kết hợp Được Agrawal đưa ra vào năm 1993 trong “Mining Association Rules between Sets of Items in Large Databases” Là một trong các phương pháp khai thác đặc trưng đối với
Trang 1Nghiên cứu các thuật toán khai phá luật kết hợp có trọng số và ứng dụng.
Gv hướng dẫn: TS
Trang 3Tổng quan về luật kết hợp
1
4
Trang 41 Luật kết hợp
Được Agrawal đưa ra vào năm 1993 (trong “Mining Association Rules between Sets of Items in Large Databases”
Là một trong các phương pháp khai thác
đặc trưng đối với khai phá dữ liệu.
Nhiệm vụ: phân tích dữ liệu trong cơ sở dữ
liệu nhằm phát hiện và đưa ra những mối liên hệ giữa các giá trị dữ liệu.
Trang 51.1 Các khái niệm liên quan
Gọi I= {i 1 , i 2 ,…,i n } là tập hợp các hạng mục (các mặt hàng hay thuộc tính).
Bánh mỳ, sữa, phomát,… là các hạng mục
Các hoá đơn:
• T 1 = { bánh mỳ, sữa, cam,};
• T 2 = {bơ, đậu phụ, salát}… là các giao dịch
Trang 61.1 Các khái niệm (tiếp)
Một giao dịch T gọi là hỗ trợ tập X nếu nó chứa tất
cả các hạng mục trong X, nghĩa là X ⊆ T.
Độ hỗ trợ (ký hiệu support(X)):
Nếu X có support(X) ≥ minsup thì ta nói X là một
tập hạng mục phổ biến.
Độ tin cậy (confidence) của luật X ⇒ Y:
Giá trị tiêu biểu: minsup = 2% – 10%, minconf = 70% –
D
T X
D
T X
) ( sup
) sup(
X conf − > = ∪
Trang 7Mô tả bài toán
Bài toán khai thác luật kết hợp là bài toán tìm tất cả các luật dạng X Y (X, Y ⊂ I và X ∩Y = ∅) thỏa mãn độ hỗ trợ và độ tin cậy tối thiểu.
Trang 81.2 Giải thuật Apriori khai phá luật kết hợp.
Là thuật toán phổ biến nhất và là cơ sở để phát triển các giải thuật khác.
Dựa trên tính chất Apriori của tập phổ biến: một tập item phổ biến thì tất cả các tập item con của nó đều là phổ biến
Trang 9Giả mã Apriori
Input: Tập giao dịch D, ngưỡng minsup
Output: Các tập phổ biến trên D.
Giả mã:
1 L 1 ={large 1- itemset}
2 for (k=2; L k-1 ≠ ∅ ; k++) do begin
3 C k = apriori_gen(L k-1 );//sinh tập ứng viên mới
4 for each giao dịch t ∈ D do begin
5 C t =subset(C k , t);//tìm các tập ứng viên được chứa trong t
Trang 101.3 Giải thuật sinh luật từ tập phổ biến.
Nhận thấy: nếu luật (l-a) ⇒ a thoả mãn thì mọi luật có dạng (l-a*) ⇒ a* cũng thoả mãn a* ⊂ a, a*≠ ∅
) (
c a l s
l
s ≥
−
Trang 11Luật kết hợp có trọng số
2
4
Trang 12A Ý nghĩa của trọng sô
Nhận xét:
lớn trong thực tế
hợp nhị phân, tức là chỉ xét đến sự có mặt hay không của hạng mục trong giao dịch Trong một số bài toán thì các tham số khác như tầm quan trọng hay tần xuất xuất hiện của hạng mục trong giao dịch đóng vai trò không nhỏ.
Vd: {milk, bread} sup = 40%, mang lại 4% tổng lợi nhuận, {birthday cake, birthday card} sup= 8% đóng góp 8% tổng lợi nhuận Minsup=10%
Pp: gán trọng số cho các hạng mục
Trang 13Các dạng trọng sô:
Trọng số phản ánh tầm quan trọng của hạng mục, do người sử dụng xác định, độc lập với giao dịch Ví dụ: lợi nhuận của một đơn vị hạng mục (profit).
Trọng số xác định bởi tần xuất xuất hiện hạng mục trong giao dịch Thường là số lượng hạng mục trong giao dịch.
Cả 2 dạng trọng số trên (gọi là utility của hạng mục)
Trang 14B Các dạng luật kết hợp có trọng sô
1 Luật kết hợp có trọng số trong CSDL nhị phân
Y X
Support
w
Y X i
Trang 15Ví du
Trang 16k- Support Bound
support_count (SC) của X là số giao dịch chứa X
K - support bound của Y là count nhỏ nhất của tập k hạng mục lớn chứa Y:
(6)
W(Y,k): trọng số lớn nhất của bất kỳ tập hạng mục chứa Y:
i
j
w w
k Y
W
1
) , (
sup
min )
,
(
k Y W
T
w k
Y B
Trang 171.2 Giải thuật MinWal(0)
Input: CSDL D, ngưỡng wminsup và
minconf, trọng số của các item w i
Output: danh sách các luật
Trang 18Ví du với dữ liệu ở bảng 1 và 2
Giả sử wminsup=1
Trang 19Ví du (tiếp)
Pass II (k=2):
C 2 = Join(C 1 )= { {1,2}, {1,4}, {1,5}, {2,4}, {2,5}, {4,5} }
Prune(C 2 ):
Ước lượng biên trên (UpperBound) cho các tập hạng mục trong
C 2 tương ứng là {4, 4, 4, 5, 5, 6}
B[Y,k] được tính như pass I.
Tất cả các tập hạng mục trong C 2 sẽ giữ nguyên, bởi tất cả đều
có thể là lớn trong các pass tiếp theo.
Checking(C k ,D):
counts được cập nhật cho các tập hạng mục là (2, 3, 4, 5, 5, 6)
Từ các biên hỗ trợ được tính trong bước prune, {1, 2} bị loại bỏ
Độ hỗ trợ có trọng số của các ứng viên còn lại tương ứng:
{0.39, 0.57, 0.76, 0.86, 1.46} minsup=1 chỉ có {4, 5} là tập hạng mục lớn Thêm {4, 5} vào L 2
Các tập hạng mục trong C 2 sẽ được sử dụng trong pass tiếp
theo.
Trang 201.3 Luật kết hợp có trọng số được chuẩn hoá
• Các khái niệm:
- Độ hỗ trợ có trọng số được chuẩn hoá của một luật X Y
- Biên hỗ trợ k (k-support bound) :
)) (
(
1
) (
Y X
w k k
Y
B
) , (
sup
min }
, {
Trang 21Giải thuật MINWAL(W)
Trang 222 WAR (Weighted association rule) - Luật kết
hợp với trọng số thể hiện tần xuất hạng
mục trong giao dịch.
Trang 23Ví du
Vd1:
Kh1: soda: 10, snack: 5 Kh2: soda: 4, snack: 1
nếu giữa soda và snack có độ tin cậy cao thì siêu thị có thể giảm giá soda để tăng lượng bán của snack…
vd2:
soda[4, 6] snack[3, 5]
Trang 242.1 Các khái niệm
Một giao dịch là một tập các hạng mục có trọng số <x, w>
Vd: T1 = {<bánh mỳ, 15>, <sữa, 10>}; T2 = {<bánh mỳ,
20>, <pate, 3>}
Hạng mục có trọng số: <x, l, u>
Vd: I 1 = <bánh mỳ, 1, 5>
Tập hạng mục có trọng số: X={<x 1 , l 1 , u 1 >, <x 2 , l 2 , u 2 >,…}
Vd: X={<bánh mỳ, 5, 20>, <sữa, 1, 12 >};…
I 1 =<x 1 , l 1 , u 1 > và I 2 =<x 2 , l 2 , u 2 >, I 1 là khái quát hoá của I 2
(hay I 2 là cụ thể hóa của I 1 ) nếu x 1 = x 2 và l 1 ≤ l 2 ≤ u 2 ≤
u 1
Vd: <fashion, 10, 20> là cụ thể hoá của <fashion, 10, 25>
Giao dịch T hỗ trợ hạng mục I = x, l, u> nếu <x,w> ∈ T:
l ≤ w ≤ u
T hỗ trợ tập hạng mục X nếu T hỗ trợ mọi hạng mục trong
∃
Trang 252.1 Các khái niệm (tiếp)
Một giao dịch T được gọi là hỗ trợ một luật kết hợp có trọng số X Y nếu T hỗ trợ tập có trọng số X
∪ Y
WAR X Y có độ tin cậy c nếu c% giao dịch trong
R hỗ trợ X cũng hỗ trợ Y.
độ hỗ trợ thực của WAR và độ hỗ trợ mong muốn của WAR.
nếu với bất kỳ tập khái quát hoá X’ của X và Y’ của
Y với X’ ≠ X, Y’≠ Y, cả X’ Y, X Y’, và X’ Y’ đều không phải là luật thoả mãn
Trang 262.2 Phương pháp tổng quát
Tạo tập phổ
biến, bỏ qua trọng số.
MAXWAR
Với mỗi tập phổ biến, tìm các luật kết hợp có trọng số mà thoả mãn ngưỡng độ hỗ trợ,
độ tin cậy và mật độ.
Trang 27Sơ đồ giải thuật
Shrink các hộp đặc
Kiểm tra sup, conf Đưa ra luật
Trang 29 Cho α là số các giao dịch trung bình mà hỗ trợ một grid
Mật độ của một grid là tỉ số giữa độ hỗ trợ của grid và α
Một grid là đặc nếu mật độ ≥ d (d ≥1).
Một vùng đặc (dense region) là sự hợp nhất của một tập các ô lưới đặc liền kề
Trang 30Shrinkage có thứ tư
Một shrinkage: là hành động giảm span của một hộp theo 1 chiều bằng chính xác một khoảng cơ sở.
Để tránh tạo thừa các hộp đặc
Chọn một hoán vị, gọi là Ω
Một shrinkage của hướng thứ k trong chuỗi thứ tự có thể thực hiện trên hộp B chỉ khi không có shrinkage của hướng sau hướng thứ k trong chuỗi đã được thực hiện để tạo ra B
Trang 31Ví du: Ω = {tăng biên dưới của chiều 1, giảm biên trên của chiều 1, tăng biên dưới của chiều 2, giảm biên trên của chiều 2, tăng biên dưới của
chiều 3, giảm biên trên của chiều 3 }
Trang 322.4 Giải thuật
Trang 332.4 Giải thuật
MAX_WAR(s, c)
{
ψ←∅ ; insert (ψ, minimum bounding of the dense region);
number_found ← 0;
while (ψ ≠ ∅ )
R ← Pick(ψ); /* Take a box R from ψ*/
if (support(R) ≥ s and confedence(R) ≥ c) then {
Trang 34Trọng sô utility - mức đo lợi ích của hạng muc và giải thuật khai phá tập
utility phổ biến.
3
4
Trang 363.1 Khái niệm
u(ip, T)= f( xp, yp)=xp * yp, ip ∈ T.
u(S, T)=∑ ip∈S u(ip,T)
S được gắn với 1 tập các giao dịch:
Độ hỗ trợ mở rộng của một tập hạng mục S với ngưỡng uti µ
Tập hạng mục S là uti phổ biến nếu với một ngưỡng uti đã cho τ S , µ = { T | S ⊆ T ∧ uµ và ngưỡng độ hỗ trợ s, support(S, ( S , T ) ≥ µ ∧µ ) T≥ s. ∈ DB }
Trang 373.2 Giải thuật FUFM khai phá tập hạng mục utility phổ biến
Cơ sở: support(S, µ) ≤ support(S)
Giả mã:
Trang 38Kết luận
Kết quả đã làm được
luật kết hợp có trọng số tương ứng
liệu bán hàng có sử dụng các phương pháp tăng hiệu quả của thuật toán.
Hướng phát triển
số (CSDL web log, trong y học,…)
tiến thuật toán, cài đặt thuật toán song song,…
Trang 39Em xin chân thành cám ơn!