khai pha luat ket hop (phan 1)
DESCRIPTION
Khai Pha Luat Ket Hop (Phan 1)TRANSCRIPT
BÀI TẬP MÔN KHAI PHÁ DỮ LIỆU Chương 2: Khai phá luật kết hợp
Giảng viên: Nguyễn Vương Thịnh – Bộ môn: Hệ thống thông tin
KHÁI NIỆM VỀ TẬP PHỔ BIẾN VÀ LUẬT KẾT HỢP
Yêu cầu
Trong phần này, sinh viên cần phải nắm vững các khái niệm sau đây:
- Mục và tập mục.
- Cơ sở dữ liệu giao dịch.
- Độ hỗ trợ ứng với một tập mục, tập phổ biến.
- Luật kết hợp, độ hỗ trợ và độ tin cậy của luật kết hợp, luật mạnh
1. Tóm tắt lý thuyết
A. Khái niệm về mục, tập mục và cơ sở dữ liệu giao dịch
Cho một tập gồm n đối tượng I = {I1, I2, I3,…, In}, mỗi phần tử Ii ∈ I được gọi là một
mục (item). Một tập con bất kỳ X ⊆ I được gọi là một tập mục (item set).
Cho một tập D = {T1, T2,…, Tm}, mỗi phần tử Tj ∈ D được gọi là một giao dịch
(transaction) và là một tập con nào đó của I (Tj ⊆ I). Người ta gọi D là cơ sở dữ liệu
giao dịch (transaction database). Số giao dịch có trong D ký hiệu là |D|.
Ví dụ: I = {A, B, C, D, E, F}, X = {A, D, E} là một tập mục
Một cơ sở dữ liệu giao dịch D gồm các tập con Tj khác nhau của I:
T1 {A, B, C, D}
T2 {A, C, E}
T3 {A, E}
T4 {A, E, F}
T5 {A, B, C, E, F}
Ở đây |D| = 5
B. Khái niệm độ hỗ trợ ứng với một tập mục, tập phổ biến
“Độ hỗ trợ ứng với tập mục X là xác suất xuất hiện của X trong cơ sở dữ liệu giao
dịch D”
Hoặc
BÀI TẬP MÔN KHAI PHÁ DỮ LIỆU Chương 2: Khai phá luật kết hợp
Giảng viên: Nguyễn Vương Thịnh – Bộ môn: Hệ thống thông tin
“Đỗ hỗ trợ ứng với tập mục X là tỷ lệ các giao dịch có chứa X trên tổng số các giao
dịch có trong cơ sở dữ liệu giao dịch D”
( )sup( )
| |
C XX
D
Trong đó: C(X) là số lần xuất hiện của X hay số giao dịch có chứa X
Trong ví dụ trên, xét tập X = {A, E} thì số lần xuất hiện của A, E là 4 nên C(X) = 4.
Vậy sup(X) = 4/5 = 20%
Các tập mục có độ hỗ trợ lớn hơn một giá trị ngưỡng minsup nào đó cho trước được gọi
là các tập phổ biến (frequent item set).
C. Khái niệm về luật kết hợp
Cho hai tập mục X, Y ⊆ I, X ∩ Y = ϕ. Luật kết hợp ký hiệu là X → Y chỉ ra mối ràng
buộc của tập mục Y theo tập mục X, nghĩa là khi X xuất hiện trong cơ sử dữ liệu giao
dịch thì sẽ kéo theo sự xuất hiện của Y với một một tỷ lệ nào đấy.
Luật kết hợp được đặc trưng bởi hai khái niệm:
- Độ hỗ trợ của luật: là tỷ lệ hay xác suất xuất hiện cả X và Y trong cùng một giao
dịch.
( )sup( ) sup( )
| |
C X YX Y X Y
D
- Độ tin cậy của luật: là tỷ lệ các giao dịch có chứa cả X và Y so với các giao dịch
có chứa X
( ) sup( )onf ( )
( ) sup( )
C X Y X Yc X Y
C X X
Trong đó: C(X ∪ Y): Số giao dịch có chứa cả X và Y
C(X): Số giao dịch có chứa X
Các luật có độ hỗ trợ lớn hơn một giá trị ngưỡng minsup và độ tin cậy lớn hơn một
giá trị ngưỡng minconf cho trước được gọi là các luật “mạnh” hay “luật có giá trị”. Cụ
BÀI TẬP MÔN KHAI PHÁ DỮ LIỆU Chương 2: Khai phá luật kết hợp
Giảng viên: Nguyễn Vương Thịnh – Bộ môn: Hệ thống thông tin
thể: Nếu có đồng thời sup(X→Y) ≥ minsup và conf(X→Y) ≥ minconf thì X→Y
được gọi là luật mạnh (strong association rule).
D. Bài toán khai phá luật kết hợp
Input: Cơ sở dữ liệu giao dịch D.
Các ngưỡng minsup, minconf.
Output: Tất cả các luật mạnh.
Để giải quyết bài toán khai phá luật kết hợp bao giờ cũng thường trải qua hai pha:
Pha 1: Sinh tất cả các tập phổ biến có thể có.
Pha 2: Ứng với mỗi tập phổ biến K tìm được ở pha 1, tách K thành hai tập X, Y không
giao nhau (K = X ∪ Y và X ∩ Y = ϕ). Tính độ tin cậy của luật X → Y, nếu độ tin cậy
trên ngưỡng minsup thì nó là luật mạnh. Chú ý là nếu tập K có k phần tử thì số tập con
thực sự của K sẽ là 2k-2
tức là từ K ta sẽ sinh được tối đa là 2k-2
luật.
2. Bài tập áp dụng
Cho I = {A, B, C, D, E, F, G} và cơ sở dữ liệu giao dịch D như sau:
(sử dụng cho các bài tập 1 và 2)
Bài tập số 1: Hãy tính độ hỗ trợ và độ tin cậy cho các luật kết hợp sau đây:
a) R1: {A, B} → {D}
b) R2: {D, G} → {C}
c) R3: {A, D} → {E}
d) R4: {C, E} → {G}
e) R5: {C, D} → {E}
f) R6: {G} → {D, E}
g) R7: {A, D, E} → {G}
h) R8: {E, G} → {C}
i) R9: {D} → {A, B}
j) R10: {E} → {D}
T1 {A, B, D, E}
T2 {D, E, G}
T3 {A, B, D, G}
T4 {A, C, D, E, G}
T5 {C, D, E, G}
T6 {C, E, F, G}
T7 {A, D, E, F, G}
T8 {B, C, D, E}
BÀI TẬP MÔN KHAI PHÁ DỮ LIỆU Chương 2: Khai phá luật kết hợp
Giảng viên: Nguyễn Vương Thịnh – Bộ môn: Hệ thống thông tin
Trong 10 luật trên thì luật nào là luật mạnh nếu như chọn minsup = 20% và minconf =
80% ?
Giải
a) 1
({A,B,D}) 2sup( ) 25%
| | 8
CR
D , 1
({A,B,D}) 2conf ( ) 100%
({A,B}) 2
CR
C
b) 2
({C,D,G}) 2sup( ) 25%
| | 8
CR
D , 2
({C,D,G}) 2conf ( ) 67%
({C,D}) 3
CR
C
c) 3
({A,D,E}) 3sup( ) 37.5%
| | 8
CR
D , 3
({A,D,E}) 3conf ( ) 75%
({A,D}) 4
CR
C
d) 4
({C,E,G}) 3sup( ) 37.5%
| | 8
CR
D , 4
({C,E,G}) 3conf ( ) 75%
({C,E}) 4
CR
C
e) 5
({C,D,E}) 3sup( ) 37.5%
| | 8
CR
D , 5
({C,D,E}) 3conf ( ) 100%
({C,D}) 3
CR
C
f) 6
({G,D,E}) 4sup( ) 50%
| | 8
CR
D , 6
({G,D,E}) 4conf ( ) 67%
({G}) 6
CR
C
g) 7
({A,D,E,G}) 2sup( ) 25%
| | 8
CR
D , 7
({A,D,E,G}) 2conf ( ) 50%
({A,D,E}) 4
CR
C
h) 8
({C,E,G}) 3sup( ) 37.5%
| | 8
CR
D , 8
({G,D,E}) 4conf ( ) 67%
({G}) 6
CR
C
i) 9
({A,B,D}) 2sup( ) 25%
| | 8
CR
D , 9
({A,B,D}) 2conf ( ) 33.3%
({D}) 6
CR
C
j) 10
({D,E}) 6sup( ) 75%
| | 8
CR
D , 10
({D,E}) 3conf ( ) 42.9%
({E}) 7
CR
C
Trong 10 luật trên ta thấy chỉ có R1 và R5 là luật mạnh vì có độ hỗ trợ và độ tin cậy vượt
ngưỡng cho trước.
BÀI TẬP MÔN KHAI PHÁ DỮ LIỆU Chương 2: Khai phá luật kết hợp
Giảng viên: Nguyễn Vương Thịnh – Bộ môn: Hệ thống thông tin
Bài tập số 2:
Chọn ngưỡng minsup = 30% và minconf = 75%. Tập mục {D, E, G} có phải là tập phổ
biến không? Nếu {D, E, G} là tập phổ biến thì hãy chỉ ra những luật mạnh có thể sinh từ
tập này.
Giải
Ta có: ({D,E,G}) 4
sup({D,E,G}) 30%| | 8
C
D nên {D, E, G} là tập phổ biến. Các luật
kết hợp có thể sinh ra từ {D, E, G} bằng cách tách thành 2 tập con khác rỗng không giao
nhau là:
R1: {D}→{E, G}
R2: {E}→{D, G}
R3: {G}→{D, E}
R4: {D, E}→{G}
R5: {D, G}→{E}
R6: {E, G}→{D}
Các luật này đều được sinh ra từ tập phổ biến {D, E, G} nên hiển nhiên độ hỗ trợ của
chúng đều thỏa mãn ngưỡng minsup. Giờ để chỉ ra luật mạnh ta chỉ cần đi tìm độ tin cậy
và kiểm tra xem độ tin cậy có thỏa mãn ngưỡng minconf không.
1
({D,E,G}) 4conf ( ) 57.1%
({D}) 7
CR
C , 2
({D,E,G}) 4conf ( ) 57.1%
({E}) 7
CR
C
3
({D,E,G}) 4conf ( ) 66.7%
({G}) 6
CR
C , 4
({D,E,G}) 4conf ( ) 66.7%
({D,E}) 6
CR
C
5
({D,E,G}) 4conf ( ) 80%
({D,G}) 5
CR
C , 6
({D,E,G}) 4conf ( ) 80%
({E,G}) 5
CR
C
Vậy trong số 6 luật được sinh ra từ tập phổ biến {D, E, G} thì chỉ có R5 và R6 là luật
mạnh.
BÀI TẬP MÔN KHAI PHÁ DỮ LIỆU Chương 2: Khai phá luật kết hợp
Giảng viên: Nguyễn Vương Thịnh – Bộ môn: Hệ thống thông tin
Bài tập số 3:
Chia cơ sở giao dịch D thành n đoạn cơ sở dữ liệu con D1, D2,…, Dm không giao nhau,
tức là D = D1 ∪ D2 …∪ Dm và Di ∩ Dj = ϕ với ∀i, j ∈ [1, m] và i ≠ j. Hãy chứng minh
rằng nếu X là tập phổ biến ứng với cơ sở dữ liệu giao dịch D thì nó cũng là tập phổ biến
ứng với ít nhất một đoạn con Dj nào đó của D.
Giải
Ta phải chứng minh rằng nếu một tập mục là tập phổ biến ứng với CSDL giao
dịch D thì nó cũng là tập phổ biến ứng với ít nhất một đoạn CSDL con Dj nào đó của D.
Tức là: Nếu sup ( )D iI ≥ p thì phải j ∈ [1, m] sao cho sup ( )jD iI ≥ p. Trong đó: Ii là tập
mục, p là ngưỡng độ hỗ trợ (minsup), sup ( )D iI là độ hỗ trợ của Ii ứng với cơ sở dữ liệu
giao dịch D và sup ( )jD iI là độ hỗ trợ của Ii ứng với cơ sở dữ liệu giao dịch con Dj.
Ta sẽ chứng minh mệnh đề này bằng phương pháp phản chứng:
Giả sử nếu với sup ( )D iI ≥ p không tồn tại j ∈ [1, m] sao cho sup ( )jD iI ≥ p, tức là ∀j ∈ [1,
m] ta đều có sup ( )jD iI < p.
Gọi số lần xuất hiện (support count) của Ii trong cơ sở dữ liệu D là ( )D iC I . Theo
định nghĩa về độ hỗ trợ thì ( )
sup ( ) D iD i
C II
D . Từ giả thiết sup ( )D iI p , ta có
( )D iC Ip
D
và suy ra: ( )D iC I p D (*).
Gọi ( )jD iC I là số lần xuất hiện của Ii trong cơ sở dữ liệu con Dj. Theo định nghĩa về
độ hỗ trợ thì ( )
sup ( )j
j
D i
D i
j
C II
D . Từ giả thiết phản chứng: ∀j ∈ [1, m] ta đều có sup ( )
jD iI <
p, từ đó suy ra ( )
jD i
j
C Ip
D (∀j ∈ [1, m]) hay ( )
jD i jC I p D (∀j ∈ [1, m]).
Áp dụng bất đẳng thức trên lần lượt cho các cơ sở dữ liệu con D1, D2,…, Dm, ta thu
được m bất đẳng thức sau đây:
1 1( )D iC I p D
BÀI TẬP MÔN KHAI PHÁ DỮ LIỆU Chương 2: Khai phá luật kết hợp
Giảng viên: Nguyễn Vương Thịnh – Bộ môn: Hệ thống thông tin
2 2( )D iC I p D
3 3( )D iC I p D
…
( )mD i mC I p D
Cộng các bất đẳng thức trên theo từng vế ta được:
1 2 1 2( ) ( ) ... ( ) ...
mD i D i D i mC I C I C I p D D D (1)
Do D = D1 ∪ D2 …∪ Dm và các tập D1, D2,…, Dm đôi một không giao nhau suy ra:
1 2( ) ( ) ( ) ... ( )
mD i D i D i D iC I C I C I C I (2)
1 2 ... mD D D D (3)
Từ (1), (2), (3) suy ra: (**)
Ta dễ thấy (*) và (**) mâu thuẫn với nhau nên điều chúng ta giả sử là sai. Vậy nếu
như một tập mục là phổ biến với cơ sở dữ liệu D thì nó cũng là phổ biến với ít nhất một
cơ sở dữ liệu con nào đó của D (đpcm).
( )D iC I p D