khai pha luat ket hop (phan 1)

7
BÀI TP MÔN KHAI PHÁ DLIU Chương 2: Khai phá luật kết hp Ging viên: Nguyễn Vương Thịnh Bmôn: Hthng thông tin KHÁI NIM VTP PHBIN VÀ LUT KT HP Yêu cu Trong phn này, sinh viên cn phi nm vng các khái niệm sau đây: - Mc và tp mc. - Cơ sở dliu giao dch. - Độ htrng vi mt tp mc, tp phbiến. - Lut kết hợp, độ htrvà độ tin cy ca lut kết hp, lut mnh 1. Tóm tt lý thuyết A. Khái nim vmc, tp mục và cơ sở dliu giao dch Cho mt tp gồm n đối tượng I = {I 1 , I 2 , I 3 ,…, I n }, mi phn tI i I được gi là mt mc (item). Mt tp con bt kX I được gi là mt tp mc (item set). Cho mt tp D = {T 1 , T 2 ,…, T m }, mi phn tT j D được gi là mt giao dch (transaction) và là mt tập con nào đó của I (T j I). Người ta gọi D là cơ sở dliu giao dch (transaction database). Sgiao dch có trong D ký hiu là |D|. Ví d: I = {A, B, C, D, E, F}, X = {A, D, E} là mt tp mc Một cơ sở dliu giao dch D gm các tp con T j khác nhau ca I: T 1 {A, B, C, D} T 2 {A, C, E} T 3 {A, E} T 4 {A, E, F} T 5 {A, B, C, E, F} đây |D| = 5 B. Khái niệm độ htrng vi mt tp mc, tp phbiến Độ htrng vi tp mc X là xác sut xut hin của X trong cơ sở dliu giao dch DHoc

Upload: hai-hung

Post on 14-Dec-2014

8 views

Category:

Documents


1 download

DESCRIPTION

Khai Pha Luat Ket Hop (Phan 1)

TRANSCRIPT

Page 1: Khai Pha Luat Ket Hop (Phan 1)

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

Page 2: Khai Pha Luat Ket Hop (Phan 1)

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ụ

Page 3: Khai Pha Luat Ket Hop (Phan 1)

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}

Page 4: Khai Pha Luat Ket Hop (Phan 1)

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.

Page 5: Khai Pha Luat Ket Hop (Phan 1)

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.

Page 6: Khai Pha Luat Ket Hop (Phan 1)

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

Page 7: Khai Pha Luat Ket Hop (Phan 1)

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