Tính độ tin cậy cho luật kết hợp

Một phần của tài liệu (LUẬN văn THẠC sĩ) phát hiện hành vi mua sắm của người dùng và các tác nhân liên quan sử dụng kỹ thuật khai phá dữ liệu luận văn ths công nghệ thông tin 84802 (Trang 29)

Cho đến nay, đã có rất nhiều ý tưởng và đề xuất để có thể cải thiện được thuật toán cũng nhưng tìm kiếm được nhiều luật ý nghĩa hơn trong lĩnh vực khai phá luật kết hợp. Có một số hướng chính sau:

- Luật kết hợp nhị phân (Binary association rule): Là hướng nghiên cứu đầu tiên của luật kết hợp. Theo luật kết hợp nhị phân thì mức độ hoặc tần suất của các item sẽ không được quan tâm, thay vào đó, quan trọng là việc có hay không xuất hiện của các item trong cơ sở dữ liệu giao dịch (Transaction database). Thuật toán Apriori được coi là thuật toán đại diện và quan trọng nhất của khai phá luật kết hợp nhị phân.

- Luật kết hợp dạng hạng mục và dạng định lượng (Quantitative and categorial association rule): các cơ sở dữ liệu thực tế không cố định theo 1 dạng nào cả mà thường rất đa dạng (như nhị phân, số, mục (categorial)...). Do vậy, để khai phá luật kết hợp mà cơ sở dữ liệu nhiều chủng loại như vậy, các nhà nghiên cứu đưa ra một số phương pháp rời rạc hóa để chuyển dạng luật này về dạng nhị phân nhằm vận dụng được các thuật toán đã có.

- Luật kết hợp tiếp cận theo hướng tập thô (mining association rule base on rough set): Tìm kiếm luật kết hợp dựa trên lý thuyết tập thô.

28 - Luật kết hợp nhiều mức (multi-level association rule): Luật kết hợp thế này cho phép tìm kiếm thêm những luật có dạng: mua máy tính PC → mua hệ điều hành Window và mua phần mềm văn phòng Microsoft Office,…

- Luật kết hợp mờ (fuzzy association rule): Nhằm khắc phục hạn chế về rời rạc hóa các thuộc tính số, luật kết hợp mờ được đưa ra để chuyển luật kết hợp về một dạng gần gũi hơn.

- Luật kết hợp với thuộc tính được đánh trọng số (association rules with weighted items): Trong cơ sở dữ liệu, dữ liệu sẽ có thuộc tính. Các thuộc tính này thường sẽ có vai trò và mức độ quan trọng khác nhau. Để đánh giá được mức độ của thuộc tính, thuộc tính sẽ được đánh trọng số và từ đó sẽ tìm ra được những luật “ hiếm” (là những thuộc tính có độ hỗ trợ thấp nhưng mang nhiều ý nghĩa).

- Khai phá luật kết hợp song song (parallel mining of association rule): Cơ sở dữ liệu có kích thước ngày càng lớn. Do vậy, nhu cầu về song song hóa và xử lý phân tán là yêu cầu cấp thiết. Điều này nhằm đáp ứng đòi hỏi về đảm bảo tốc độ xử lý dữ liệu.

Trên đây là những biến thể của khai phá luật kết hợp. Các thuật toán mà các nhà nghiên cứu đưa ra giúp ta tìm kiếm luật kết hợp một cách linh hoạt và nhanh chóng trong những cơ sở dữ liệu lớn.

2.2.1. Thuật toán Apriori

Thuật toán Apriori được đề xuất bởi R. Agrawal và R. Srikant với mục đích khai thác các tập item đối với các luật kết hợp kiểu boolean [12]. Apriori dùng cách tiếp cận lặp được biết đến như tìm kiếm từng mức độ một (level-wise search), với các tập k item được dùng để thăm dò các tập (k+1) item. Đầu tiên, tập các mục 1 item phổ biến được tìm thấy bằng cách quét cơ sở dữ liệu để đếm số lượng từng phần tử, và thu thập những item thỏa mãn độ hỗ trợ tối thiểu (minsup). Ký hiệu tập kết quả đặt là L1. Tiếp theo, L1 được dùng để tìm L2, tập các mục 2 item phổ biến, nó được dùng để tìm L3, và cứ thế tiếp tục, cho tới khi không tìm được tập k-item phổ biến thỏa mãn điều kiện minsup. Việc tìm kiếm cho mỗi Lk đòi hỏi một lần quét toàn bộ cơ sở dữ liệu.

Thuật toán Apriori[1]

- Duyệt toàn bộ CSDL giao dịch để tính giá trị hỗ trợ là phần tử của tập mục phổ biến C1 của 1-itemset, so sánh với minsup, để được tập L1

- L1 nối L1 để sinh ra 2-itemset là tập mục phổ biến tiềm năng. Loại bỏ các tập mục không phải là tập mục phổ biến thu được 2-itemset C2.

- Duyệt toàn bộ CSDL để tính giá trị hỗ trợ của mỗi ứng viên 2-itemset, so sánh từng phần tử với minsup để thu được tập mục thường xuyên 2-itemset ( L2) - Lặp lại từ bước 2 cho đến khi tập ứng cử viên tiềm năng C=# ( không tìm thấy

29 - Với mỗi mục phổ biến I, sinh ra tất cả tập con s không rỗng của I

- Với mỗi tập con s không rỗng của I, sinh ra luật s => ( I-s) nếu độ tin cậy của nó >= minconf.

2.2.2. Thuật toán AIS

Thuật toán AIS được đề xuất đầu tiên bởi Agrawal, Imielinski, và Swami để khai phá luật kết hợp [16]. Nó tập trung vào việc nâng cao về chất lượng cơ sở dữ liệu cùng với các chức năng cần thiết để xử lý truy vấn hỗ trợ quyết định.

Trong thuật toán này chỉ có một mục các luật kết hợp được tạo ra, có nghĩa là kết quả của luật đó chỉ chứa một tính chất. Thuật toán này chú trọng khai phá luật kết hợp có dạng X→Y, với Y là tập hợp 1 phần tử cùng 1 tính chất.

Các cơ sở dữ liệu đã được quét nhiều lần để có được các itemsets trong AIS, việc này thực hiện thường xuyên có thể gây ra hiện tượng tràn bộ nhớ. Để làm cho thuật toán này thêm hiệu quả thì thuật toán đề nghị một phương án quản lý bộ nhớ hợp lý đề phòng trường hợp này: không cho phép các ứng cử viên chiếm bộ nhớ, mà ghi thẳng chúng vào đĩa ở chế độ thường trực.

Thuật toán tập trung vào việc tăng cường cơ sở dữ liệu với các chức năng cần thiết để xử lý truy vấn hỗ trợ quyết định. Thuật toán này được nhắm mục tiêu để khám phá các quy tắc định tính.

Lợi thế:

o Thuật toán đã được sử dụng để tìm ra nếu có sự liên kết giữa các phòng ban trong hành vi mua hàng của khách hàng.

Điểm hạn chế của thuật toán:

o Thuật toán đòi hỏi nhiều không gian hơn và nó lãng phí nhiều nguồn lực.

o Cũng như thuật toán này đòi hỏi quá nhiều lần duyệt qua toàn bộ cơ sở dữ liệu, nên gia tăng sự phức tạp về thời gian.

Thuật toán AIS[18]

Dữ liệu đầu vào: CSDL D, độ hỗ trợ tối thiểu minsup

Kết quả: Các tập mục phổ biến 1) L1 = { các tập mục phổ biến}; 2) for (k=2; Lk-1 ≠ ∅; k++ ) do begin 3) Ck = ∅;

4) forall transaction t ∈ D do begin

5) Lt = Subset(Lk-1,t); //Các tập mục phổ biến thuộc Lk-1 chứa trong giao dịch t

30 6) forall các tập mục phổ biến lt ∈ Lt do begin

7) Ct = Tăng thêm một mục có trong giao dịch t; 8) forall candidate c ∈ Ct do

9) if (c ∈ Ck) then

add tăng biến đếm của c thêm 1 cho mục tương ứng của Ck

else

add c và Ck và tăng biến đếm tương ứng thêm 1;

10) end

11) Lk = { c ∈Ck | supp(c) >= Minsup}

12) end

13) Answer = ∪k Lk;

Hình 2.1. Mô tả thuật toán AIS qua các bước

2.2.3. Thuật toán SETM

Với mục đích nhằm tìm kiếm các tập các ứng cử viên (candidate itemsets) [17], thuật toán này sử dụng kỹ thuật bổ sung dần dần từng phần tử (từ tập hợp 1 phần tử).

Các tập ứng viên được tạo ra ngay khi cơ sở dữ liệu quét, nhưng tính vào cuối của kết quả quét. Sau đó, các tập ứng viên mới được tạo theo cách giống như trong thuật toán AIS, nhưng các TID của giao dịch tạo ra được lưu với các tập ứng viên trong một cấu trúc tuần tự. Sau khi tạo ra kết quả, số lượng hỗ trợ của các tập ứng viên được xác định bằng cách tổng hợp cấu trúc tuần tự này.

31 Thuật toán SETM có cùng điểm hạn chế như thuật toán AIS. Ngoài ra, một điểm hạn chế khác là đối với mỗi tập ứng viên, ở đó là nhiều chỉ mục như giá trị hỗ trợ của nó.

Thuật toán SETM[18]

1) L1 = {Các tập mục phổ biến};

2) L1’={Các tập mục phổ biến cùng các TID của nó được sắp xếp theo TID}; 3) for (k=2; Lk-1 ≠ ∅; k++ ) do begin

4) Ck = ∅;

5) forall transaction t ∈ D do begin

6) Lt = (l ∈ L’k-1 | l.TID = t.TID); // Các tập có (k - l) mục phổ biến trong giao dịch t

7) forall các tập mục phổ biến lt ∈ Lt do begin

8) Ct=Tăng lt thêm một mục có trong giao dịch t; //Các ứng cử viên có trong t

9) C’k +={<t.TID, c>| c ∈ Ct};

10) end

11) end

12) Sort C’k theo các tập mục;

13) Delete các mục c ∈ C’k có c.count<minsup đưa vào L’k;

14) Lk ={<l.itemset, countof l in L’k > | l ∈ Lk'}; //Kết hợp với bước 13 15) Sort L’k theo TID;

16) end

32

Hình 2.2. Mô tả thuật toán SETM qua các bước

2.2.4. Thuật toán Krimp

Một trong những vấn đề lớn trong khai phá mẫu là sự bùng nổ của số lượng kết quả. Ràng buộc chặt chẽ chỉ tiết lộ được các tri thức chung, trong khi các ràng buộc lỏng lẻo dẫn đến sự bùng nổ về số lượng mẫu trả về. Đối với việc khai phá mẫu đã được áp dụng thành công trong nhiều bài toán khác nhau của khai phá dữ liệu. Tuy nhiên, kết quả khai phá vẫn còn một số mặt hạn chế như:

- Vấn đề dư thừa của mẫu đã trích ra. - Mẫu trích ra bị trùng lắp.

- Một số mẫu tối nghĩa.

Và để khắc phục những mặt hạn chế trên, ý tưởng dựa trên nguyên lý mô tả chiều dài tối thiểu (MDL - minimum description length) được đề xuất nhằm khai phá mẫu tuần tự nén đối với cơ sở dữ liệu.

Nguyên tắc MDL bao gồm tập hợp các mẫu tốt nhất - tập hợp được nén cơ sở dữ liệu tốt nhất. Nguyên tắc MDL cung cấp cho chúng ta một cách trực quan để cân bằng sự phức tạp của cơ sở dữ liệu nén và mã hóa.

Mặc dù MDL loại bỏ sự cần thiết cho các tham số do người dùng xác định, nhưng nó có kèm theo vấn đề: chỉ phỏng đoán, không có thuật toán bảo đảm. Tuy nhiên, thử nghiệm của nhóm tác giả Jilles Vreeken- Matthijs van Leeuwen- Arno Siebes hiển thị rằng các phỏng đoán này làm giảm đáng kể số lượng các tập hợp.

33 Bây giờ chúng ta có các thành phần cho phiên bản cơ bản của thuật toán nén[5]:

- Bắt đầu với bảng mã tiêu chuẩn ST;

- Thêm từng giá trị từ tập các ứng viên itemsets F. Với mỗi lần lấy itemset đó là tối đa thứ tự ứng cử viên tiêu chuẩn w.r.t. Chuyển đổi cơ sở dữ liệu bằng cách sử dụng thuật toán Standard Cover Order. Nếu kết quả mã hóa cung cấp kích thước nén nhỏ hơn, hãy giữ lại giá trị đó. Nếu không, loại bỏ nó.

Lược đồ cơ bản này được chính thức hóa như thuật toán Krimp, được đưa ra ở thuật toán Krimp. Dành cho lựa chọn tên: 'krimp' là tiếng Hà Lan để 'thu nhỏ'. Quá trình lựa chọn mẫu Krimp được minh họa trong Hình 2.3.

Krimp lấy làm đầu vào một cơ sở dữ liệu D và một nhóm ứng cử viên F. Kết quả là bảng mã tốt nhất thuật toán đã thấy, w.r.t - Vấn đề đặt mã hóa tối thiểu.

Bây giờ, có vẻ như mỗi lần lặp của Krimp chỉ có thể làm giảm việc sử dụng itemset trong CT. Vì, nếu F1 ∩ F2 = ∅ và F2 được sử dụng trước F1 bằng hàm chuyển đổi mặc định, việc sử dụng F1 sẽ được giảm xuống (miễn là sự hỗ trợ của F2 không bằng 0). Nếu điều này là đúng, nó không phải là toàn bộ câu chuyện. Bởi vì, những gì sẽ xảy ra nếu chúng ta bây giờ thêm một itemset F3, được sử dụng trước F2 sao cho:

F1 ∩ F3 = ∅ và F2 ∩ F3 ≠ ∅

Việc sử dụng F2 sẽ giảm xuống, trong khi việc sử dụng F1 sẽ tăng trở lại; bởi cùng một trọng số. Vì vậy, xem xét điều này, ngay cả với các yếu tố bảng mã không thể loại bỏ việc sử dụng mà không có hiệu quả. Tuy nhiên, vì không được sử dụng trong mã hóa thực tế, chúng không được tính đến trong khi tính tổng kích thước nén cho giải pháp hiện tại.

Cuối cùng, các itemsets với việc sử dụng bằng 0 có thể được loại bỏ một cách an toàn. Sau khi tất cả, họ không viết mã, vì vậy chúng không phải là một phần của câu trả lời tối ưu bao gồm bộ mã hóa nhỏ nhất.

Thuật toán Krimp[5]:

Input: A transaction database D and a candidate set F, both over a set of items I

Output: A heuristic solution to the Minimal Coding Set Problem, code table CT

1) CT Standard Code Table(D)

2) Fo F in Standard Candidate Order

3) for all F Fo \ I do

4) CTc (CT F) in Standard Cover Order

5) if L(D, CTc) < L(D, CT) then

6) CT CTc

34 8) end for

9) return CT

Hình 2.3. Mô hình tổng quan thuật toán Krimp [5]

2.2.5. Thuật toán TopKRules

Việc khai phá luật kết hợp dựa trên việc lựa chọn các ngưỡng (độ tin cậy tối thiểu và độ hỗ trợ tối thiểu) có thể trở nên rất chậm và tạo ra số lượng kết quả cực lớn hoặc tạo ra quá ít kết quả, bỏ qua giá trị thông tin. Thuật toán TopKRules đã được đề xuất bởi Philippe Fournier-Viger, Cheng-Wei Wu và Vincent S. Tseng nhằm khắc phục nhược điểm này [19], trong đó k là số luật kết hợp được tìm thấy và là do người sử dụng đặt. Thuật toán sử dụng phương pháp mới để tạo các luật kết hợp có tên là mở rộng luật và bao gồm một số tối ưu hóa[19].

Thuật toán TopKRules lấy đầu vào một cơ sở dữ liệu giao dịch, một số k của các luật mà người dùng muốn khám phá và độ tin cậy tối thiểu minconf .

Ý tưởng chính của thuật toán là như sau. TopKRules đầu tiên đặt một biến

minsup về 0. Sau đó, thuật toán bắt đầu tìm kiếm các luật (rule). Ngay sau khi một luật được tìm thấy, nó được thêm vào danh sách các luật L được sắp xếp bởi độ hỗ trợ (

support). Danh sách được sử dụng để duy trì cho đến khi Top-K rules được tìm thấy. Với mỗi luật hợp lệ k được tìm thấy, giá trị minsup được tăng lên độ minsup của luật bằng giá trị minsup trong L. Nâng giá trị minsup được sử dụng để cắt bớt không gian tìm kiếm khi tìm kiếm các luật khác. Sau đó, mỗi khi một luật hợp lệ được tìm thấy, luật được chèn vào L, các luật trong L không liên quan minsup nữa sẽ được xóa khỏi L, và minsup được tăng lên giá trị của ít nhất luật thú vị trong L. Thuật toán tiếp tục tìm kiếm các luật khác cho đến khi không có luật nào được tìm thấy, có nghĩa là nó đã tìm thấy các top-k rules.

35 Để tìm kiếm các luật, TopKRules không dựa vào phương pháp hai bước cổ điển để tạo ra các luật vì nó sẽ không hiệu quả như một thuật toán Top-K. Chiến lược được sử dụng bởi TopKRules thay vì tạo ra trước luật bao gồm một mục duy nhất cho trước và một mục duy nhất trong kết quả nhận được. Sau đó, mỗi luật được phát triển đệ quy bằng cách thêm các mục vào phía trước hoặc kết quả có được. Để chọn các mục được thêm vào luật để phát triển nó, TopKRules sẽ quét các giao dịch có chứa luật để tìm các mục đơn lẻ có thể mở rộng sang phần bên trái hoặc phần bên phải - đặt tên hai quy trình cho luật mở rộng trong TopKRules left expansionright expansion. Các quy trình này được áp dụng đệ quy để khám phá tìm kiếm không gian của các luật kết hợp.

Định nghĩa 1: Một luật mở rộng left expansion là quá trình thêm một mục i ∊ I vào bên trái của một luật X → Y để thu được luật lớn hơn X ∪ { i } → Y.

Định nghĩa 2. Một luật mở rộng right expansion là quá trình thêm một mục i ∊ I sang bên phải của luật X → Y để thu được luật lớn hơn X → Y ∪ { i }.

Tính chất:

- Với i là một item. Đối với các luật r : X → Y và r': X ∪ { i } → Y, supp(r) ≥ supp( r' ).

- Với i là một item. Đối với các luật r : X → Y và r': X → Y ∪ { i }, supp( r ) ≥ supp( r' ).

Thuật toán:

TOPKRULES(T, k, minconf) R := Ø. L := Ø. minsup := 0 [19] 1) scan the database T once to record the tidset of each item.

2) for each pairs of items i, j such that |tids(i)| ×|T| ≥ minsup and |tids(j)| ×|T| ≥

Một phần của tài liệu (LUẬN văn THẠC sĩ) phát hiện hành vi mua sắm của người dùng và các tác nhân liên quan sử dụng kỹ thuật khai phá dữ liệu luận văn ths công nghệ thông tin 84802 (Trang 29)

Tải bản đầy đủ (PDF)

(59 trang)