Khai thác luật kết hợp Boolean từ cơ sở dữ liệu giao tác

Một phần của tài liệu Khai thác luật bác cầu thú vị (Trang 34 - 52)

Khai thác luật kết hợp là quá trình bao gồm 2 bước :

(1) Tìm tất cả các tập phổ biến dựa trên độ hỗ trợ (minsup). Nếu một itemset X có độ hỗ trợ supp(X) ≥ minsupp thì X là tập phổ biến;

(2) Sinh ra các luật kết hợp mạnh từ các tập phổ biến đó là những luật có độ tin cậy lớn hơn hoặc bằng minconf.

Hiện có rất nhiều thuật toán để giải quyết vấn đề tìm luật kết hợp. Ởđây bắt đầu với thuật toán cơ sở kinh điển Apriori cho việc tìm các tập mục phổ biến, thủ tục sinh ra các luật kết hợp từ các tập phổ biến, sau đó là một số thuật toán mới hiệu quả được phát triển gần đây là thuật toán FP- growth và thuật toán CHARM.

Thuật toán Apriori

Các thuật toán phát hiện các tập mục phổ biến thực hiện nhiều lần duyệt dữ liệu. Trong lần duyệt thứ nhất, chúng ta tính độ hỗ trợ của tập mục riêng biệt và xác định các mục phổ biến trong chúng, tức là thoả mãn độ hỗ trợ cực tiểu. Trong mỗi lần duyệt sau,

chúng ta bắt đầu với tập hạt giống là các tập phổ biến đã tìm được trong lần duyệt trước. Chúng ta sử dụng tập hạt giống này để sinh ra tập phổ biến tiềm năng, gọi là tập ứng viên và tính độ hỗ trợ thực sự của các tập ứng viên này khi duyệt qua dữ liệu, ở cuối mỗi lần duyệt, chúng ta xác định được tập item nào trong các tập ứng viên là tập phổ biến thực sự và chúng trở thành hạt giống cho lần duyệt tiếp theo. Quá trình này thực hiện cho đến khi không có một tập mục phổ biến mới nào nữa được tìm thấy.

Thuật toán Apriori sinh ra các tập ứng viên để tính trong một lần duyệt bằng việc sử dụng tập ứng viên đã là phổ biến trong lần duyệt trước mà không cần quan tâm đến các giao tác trong cơ sở dữ liệu. Cơ sở để thực hiện điều đó là dựa vào tính chất:

mọi tập con của tập phổ biến là phổ biến. Vì vậy, các tập ứng viên có k item có thể được sinh ra bằng cách kết nối các tập phổ biến có (k - 1) item và xoá tập ứng viên nếu nó chứa ít nhất một tập con không phải là phổ biến. Thủ tục này nói chung dẫn đến một số nhỏ hơn nhiều các tập ứng viên, nói cách khác nó khá hiệu quả trong việc "tỉa gọn" không gian tìm kiếm.

Ký hiệu: Chúng ta giả sử các mục trong mỗi giao tác được lưu giữ theo trật tự từ điển.

Bảng 2.3. Bảng kí hiệu cho thuật toán Apriori k-itemset Tập có k mục.

Lk

Tập chứa k-itemset phổ biến (với độ hỗ trợ cực tiểu minsupp

nào đó). Mỗi phần tử của tập này có 2 trường: i) itemset và ii) Độ hỗ trợ của itemset đó.

Ck

Tập chứa các k-itemset ứng viên (các tập phổ biến tiềm năng). Mỗi phần tử của tập này có 2 trường: i) itemset và ii) Độ hỗ trợ của nó.

Quá trình gồm 2 bước: bước kết nốibước tỉa.

1. Bước kết ni: để tìm Lk, tập k-itemset được sinh ra bởi việc kết nối Lk-1 với chính nó. Kết quả là tập các ứng viên Ck. Thành phần l1l2 của Lk-1 được nối nếu: ]). 1 [ ] 1 [ ( ]) 2 [ ] 2 [ ( ]) 2 [ ] 2 [ ( ]) 1 [ ] 1 [ (l1 =l2 ∧ l1 =l2 ∧K∧ l1 k− =l2 k− ∧ l1 k− <l2 k− Dạng của itemset nhận được bởi nối l1l2 là :l1[1] l1[2] ...l1[k-2] l1[k-1] l2[k-1]. 2. Bước ta: Ck là tập chứa Lk, tức là các k-itemset của Ck có thể là phổ biến hoặc không nhưng k-itemset phổ biến được chứa trong Ck. Mặt khác, tập Ck có thể là rất lớn và do đó dẫn đến tính toán rất lớn. Để rút gọn kích thước của Ck, tính chất Apriori được sử dụng như sau: ”mọi tập (k – 1)-itemsetkhông phổ biến không thể là tập con của tập k-itemset phổ biến”. Do đó, nếu bất kỳ tập con (k - 1)-itemset của ứng viên k-itemsset mà không xuất hiện trong Lk-1 thì ứng viên đó không thể là phổ biến và do vậy loại bỏ nó khỏi Ck. Kiểm tra tập con (k - 1)-itemset này có thể làm nhanh bởi duy trì một cây băm của tất cả các tập phổ biến đã tìm thấy.

Thut toán Apriori: Tìm các tập mục phổ biến dựa trên cơ sở sinh các ứng viên.

Đầu vào: Cơ sở dữ liệu giao tác T, ngưỡng độ hỗ trợ cực tiểu minsupp.

Đầu ra: L, tập phổ biến trong U.

Phương pháp :

(1) Tìm các tập 1-itemset phổ biến, nhận được L1. (2) For (k = 2; Lk-1≠∅; k++) {

(3) Ck = apriori_gen(Lk-1, minsupp); // Sinh tập ứng viên từLk-1

(4) For (mỗi giao tác t trong T) { //Quét T đểđếm

(6) for (mỗi ứng viên c Ct)

(7) c.count++; // Tăng đếm cho c một đơn vị

(8) }

(9) Lk = {cCk / c.counnt ≥minsupp} (10) }

(11) Return L = TkLk

Th tc sinh các ng viên Ck:

Procedure apriori _gen(Lk-1: tập phổ biến (k-1)-itemset; minsupp: độ hỗ trợ cực tiểu)

(1) For mỗi itemset l1Lk-1

(2) For mỗi itemset l2Lk-1{

(3) If (l1[1]=l2[1])∧(l1[2]=l2[2])∧K∧(l1[k−2]=l2[k−2])∧(l1[k−1]<l2[k−1])

(4) then c = l1 l2; //bước nối l1l2: sinh ra các ứng viên c (5) if has_infrequent_subset(c, Lk-1) then

(6) Xoá c ; // Bước tỉa (7) else Thêm c vào Ck; (8) }

(9) Return Ck;

Hàm kim tra tp con (k-1)-itemset ca ng viên k-itemset không phi là tp ph

biến:

Procedure has_infrequent_subset (c: ứng viên k item c; Lk-1: Tập phổ biến (k - 1) mục) // sử dụng tập phổ biến có trước

(1) For mỗi tập con (k - 1)-itemset s của c. (2) If sLk-1 then

(3) return TRUE ;

Return FALSE;

Sinh các luật kết hợp từ tập phổ biến

- Với mỗi tập phổ biến l, sinh ra tất cả các tập con khác rỗng của l.

- Với mỗi tập con không rỗng a của l, ta có luật a → (l - a) nếu ở đó minconf là ngưỡng độ tin cậy cực tiểu.

Thuật toán đơn giản: chúng ta cải tiến thủ tục xử lý bằng cách sinh ra các tập con của tập phổ biến theo kiểu đệ qui ưu tiên độ sâu. Ví dụ: với tập phổ biến ABCD, đầu tiên chúng ta xét tập con ABC, sau đó đến AB,...

Tiếp đến, nếu tập con a của tập phổ biến l không sinh ra được luật thì ta không cần xét đến các tập con của nó nữa. Chẳng hạn: nếu luật ABC → D không đủ độ tin cậy thì ta không cần xét luật AB → CD.

2.4.4 Cơ sở lý thuyết

Hiện còn ít các nghiên cứu cơ sở lý thuyết của luật kết hợp. Việc đánh giá độ phức tạp của các thuật toán khai thác luật kết hợp là một bài toán khó.

Định nghĩa 1: Một đồ thị nhị phân là bộ ba G = (U, V, E) trong đó U và V là hai tập đỉnh phân biệt (U∩V = ∅), tập cạnh E = {(u, v)| u ∈ U và v ∈ V}.

Đồ thị con nhị phân đầy đủđược gọi là clique nhị phân. minconf

support(a) support(l) ≥

Định nghĩa 2: Một đồ thị (hypergraph) trên I là họ H = {E1, E2, ... , En}, các cạnh hay các tập con của I, với Ei≠∅ và n=1Ei =I

i

U . Tập T ⊂ I là transversal của H nếu nó giao với tất cả các cạnh, T ∩ Ei ≠∅, ∀Ei.

Cơ sở dữ liệu cho việc khai phá luật kết hợp được xem như một đồ thị nhị phân rất lớn, với U là tập đối tượng, V là tập định danh (TIDset) và mỗi cặp (item, tid) là một cạnh. Việc tìm tất cả các tập phổ biến tương ứng với tìm tất cả các đồ thị con nhị phân

đầy đủ có ràng buộc, I x T, trong đó I ⊆ U, T ⊆ V và⎥ T ⎢≥minsupp. Như vậy bài toán tìm tất cả các tập phổ biến tương đương với bài toán tìm các đồ thị con nhị phân đầy

đủ trong đồ thị lai với ràng buộc⎟ T⎟ ≥ minsupp. Do đó việc đánh giá độ phức tạp của các thuật toán khai phá luật kết hợp được quy về việc đánh giá độ phức tạp của bài toán tìm các đồ thị con nhị phân đầy đủ trong đồ thị lai. Việc đánh giá độ phức tạp thuật toán của bài toán tìm các đồ thị con nhị phân đầy đủđã được giải quyết từ lâu. Trên thực tế kết quả ta có thể phân tích như sau:

- Nếu tập thuộc tính có m thuộc tính (tức có m item) thì không gian tìm kiếm các tập phổ biến là 2m (tất cả các tập con của tập m phần tử), hàm mũ của m. Tìm tất cả các tập phổ biến như trên đã phân tích, tương ứng với bài toán đồthị con nhị phân đầy đủ, nên chắc chắn có độ phức tạp NP_khó.

Tuy nhiên nếu giả sử có giới hạn chiều dài của giao tác thì việc tìm tất cả các tập phổ biến về cơ bản tuyến tính với kích thước của cơ sở dự liệu, độ phức tạp là O(r.n.2l), trong đó: n là số giao tác trong cơ sở dự liệu, l là độ dài của tập mục phổ biến dài nhất (length of the longest frequent itemset), r là số tập phổ

biến cực đại (number of maximal frequent itemsets)

- Trong bước sinh luật: nếu tập phổ biến có kích thước k thì có 2k-2 luật có độ tin cậy tiềm năng có thể được sinh ra (tính từ cách chọn phần tiền đề là tập con thực sự khác rỗng của k-itemset). Khi có giớ hạn chiều dài giao tác thì độ phức

tạp của bước sinh luật là: O( f.2l), trong đó f là số tập phổ biến (number of frequent itemsets); l là độ dài tập phổ biến dài nhất (longest frequent itemset). Kết quả phân tích trên nói lên rằng: trong thực tế, do các cơ sở dự liệu rất thưa, tức là chiều dài của giao tác rất nhỏ, các thuật toán khai phá luật kết hợp có thể đạt được độ

Chương 3: KHAI THÁC LUT BC CU THÚ V

3.1 MỞ ĐẦU

Phát hiện biệt lệ là một nhánh rất quan trọng trong khai khác dữ liệu. Biệt lệ là một

điểm dữ liệu khác từ dữ liệu còn lại dựa vào một sốđộ đo. Do đó, phát hiện biệt lệ là quá trình tìm kiếm thông tin trong hoạt động không bình thường của hệ thống mà đã

được mô tả bởi cơ sở dữ liệu. Luật bắc cầu đã được sử dụng rộng rãi trong nhiều lĩnh vực như: tiếp thị bán hàng và phát hiện gian lận trong ngân hàng [12]. Nhiều thuật toán đã được phát triển để khám phá các dạng biệt lệ khác nhau. Luật bắc cầu cũng là một dạng biệt lệ mới được đề xuất lần đầu tiên bởi nhóm tác giả Zhang, S., Chen, F., & You, X. vào năm 2006. Luật bắc cầu là luật XY trong đó hai thành phần X, Y

thuộc về các lớp khái niệm khác nhau. Các lớp khái niệm ởđây có được dựa vào gom cụm dữ liệu theo một chuẩn nào đó. Các luật bắc cầu thể hiện sự liên quan giữa các lớp khái niệm này. Có nhiều hướng tiếp cận khác nhau để thực hiện khai thác luật bắc cầu thú vị. Tuy nhiên, với phương pháp nào đi nữa thì để khai thác luật bắc cầu thú vị

chúng ta cũng cần thực hiện các bước sau:

Bước 1: Gom cụm dữ liệu.

Bước 2: Tìm tập cầu, nghĩa là đi tìm những tập đối tượng dữ liệu thuộc về hai lớp khái niệm khác nhau mà giữa chúng có sự liên quan với nhau.

Bước 3: Khai thác luật bắc cầu thú vị dựa trên các tập cầu vừa tìm được. Chúng ta đi vào chi tiết từng phần như sau:

3.2 TÌM TẬP CẦU

Trong lý thuyết tập thô [18], gọi U là tập đối tượng, hữu hạn, khác rỗng; XU được gọi là một khái niệm (concept) hoặc một nhóm (category) trong U. Họ các khái niệm trong Uđược gọi là tri thức trừu tượng (abstract knowledge).

Ởđây luận văn quan tâm đến các lớp khái niệm trong U cùng với dạng phân hoạch cụ thể cơ sở dữ liệu U. Ví dụ, cho họ các tập C={C1 ,C2,...,Cn},CiU, ∅ = ∩ ∅ ≠ i j i , C C C với ∀i j; i, j =1, nn Ci U i = =1 U .

Vì tính chuẩn hóa nên tập ∅ cũng được xem là một lớp khái niệm.

Trong trường hợp tổng quát, để xét U cần dùng nhiều họ phân hoạch chứ không dựa vào một họ phân hoạch duy nhất. Họ các phân hoạch Uđược định nghĩa như là tri thức nền của U. Do đó, tri thức nền phản ánh toàn bộ tất cả các loại phương pháp phân hoạch cơ sở trong trí tuệ nhân tạo. Chúng ta sử dụng quan hệ tương đương để phân hoạch vì quan hệ tương đương phân hoạch U thành các lớp tương đương khác nhau và các lớp tương đương này thỏa mãn khái niệm phân hoạch.

Giả sử R là một quan hệ tương đương trên U, U/R là họ tất cả các lớp tương đương (hoặc phân hoạch U thành các cụm). Gọi [x]R là một lớp tương đương của quan hệ R

xU. Vì R là một quan hệ tương đương trên UR = {X1, X2, …, Xn} thì (U, R)

được gọi là không gian xấp xỉ.

Dựa vào định nghĩa này, một cơ sở tri thức được định nghĩa như là hệ thống quan hệK

= (U, R) với U là tập hữu hạn khác rỗng và R là họ các quan hệ tương đương của U. Nếu PR,PQ thì giao tất cả các quan hệ tương đương P cũng là một quan hệ

tương đương và nó được gọi là quan hệ không phân biệt được của P và được ký hiệu là

ind(P): [x]ind(P) = IRP[x]R.

Cho tri thức nền K = (U, R), với mỗi tập con XU và quan hệ tương đương R thuộc

ind(R), chúng ta có thể phân chia X dựa vào tập nền R. Xấp xỉ dưới và trên của Xđược

định nghĩa như sau: } ] [ , { ) ( } ] [ , { ) ( ∅ ≠ ∩ ∈ = ⊆ ∈ = X x U x X B X x U x X R R R

Tập bnR(X) = B(X)−B(X)được gọi là biên R của X.

Ởđây, hệ K = (U, F) với U là một cơ sở dữ liệu quan hệ (như bảng 3.1), F là quan hệ

tương đương của U. Trong bảng 3.1, dòng thể hiện các item (object) I = {i1, i2, …, im} và cột là các thuộc tính A = {a1, a2, …, an}, aij thể hiện giá trị của item ii tại thuộc tính

aj. Giả sử, họ các lớp tương đương dựa trên FU/F = {C1, C2, …, Cs} và . 1 1C I ) và , s j; i, j i , ( C , C U, C C s i i j i i i⊂ ≠ ∅ ∩ = ∅ ∀ ≠ = = = U Bảng 3.1. Cơ sở dữ liệu U gồm m item và n thuộc tính. a1 a2 a3 … a4 i1 a11 a12 a13 … a1n i2 a21 a22 a23 … a2n i3 a31 a32 a33 … a3n M M M M M M im am1 am2 am3 … amn

Để tìm các tập cầu chúng ta định nghĩa quan hệ BA chứa trong A. Lớp tương đương dựa trên BA U/BA = {C1’, C2’, …, Ct’} và thỏa mãn điều kiện: ∅ = ∩ ∅ ≠ ⊂ ' ' ' ' j i i i U, C , C C C , ∀ij; i, j = 1,tt Ci I i = = ' 1 U .

Nghĩa là, với quan hệ tương đương khác nhau thì sẽ tạo ra các tập cầu khác nhau. Sau

đây là một sốđịnh nghĩa, định lý và suy luận liên quan.

Định nghĩa 3.2.1: Giả sửCi U/F, Cj’ U/BA, Cj’BA(Ci). xI, tập cầu của Cj’bridging(Cj’) = {x | xCixCj’}. Tập cầu của U là ( ) ( '). 1 i t i bridging C U bridging = =U

Định lý 3.2.1: Giả sử Ci U/F, Cj’ U/BA. Khi đó, điều kiện cần và đủ để lớp khái niệm Ci có thể có tập cầu với các lớp khái niệm khác của U/FbnBA(ci) khác rỗng. Chứng minh: Giả sử Ci U/F, Cj’ U/BA, Cj’BA(Ci). Nếu ( ')≠∅ j C bridging thì theo định nghĩa 3.2.1 phải tồn tại ít nhất đối tượng x sao cho x ∈ Ci và x ∈ Cj’. Hơn nữa, vì Cj’

) (Ci BA

⊄ nên suy ra xBA(Ci). Mặt khác, bnBA(Ci) = BA(Ci)−BA(Ci) và theo tính chất tập thô thì CiBA(Ci)⇒xBA(Ci) và xBA(Ci)⇒bnBA(Ci)≠∅. Ngược lại, nếu bnBA(Ci)≠∅ thì ∩ ' ≠∅⇒ ( ')≠∅ j j i C bridging C C .

Ví dụ 3.1: Cho cơ sở dữ liệu U gồm 20 item và 10 thuộc tính như trong bảng 3.2.

Bảng 3.2. cơ sở dữ liệu U gồm 20 item và 10 thuộc tính a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 i1 3 1 4 2 0 1 0 0 4 5 i2 2 1 0 3 2 0 6 2 1 5 i3 2 1 0 4 2 0 5 2 1 3 i4 1 0 3 0 5 3 0 1 0 1 i5 3 1 4 0 0 1 5 3 4 0 i6 4 2 1 1 1 3 3 0 3 0 i7 2 0 1 1 3 4 0 0 2 1

Một phần của tài liệu Khai thác luật bác cầu thú vị (Trang 34 - 52)