(MMAC)
Giải thuật MMAC [3] đưa ra bao gồm 3 bước: tạo luật kết hợp, học đệ qui và phân loại. Bước 1 duyệt dữ liệu huấn luyện để rút trích tất cả các luật phân loại. Bước 2 tiếp tục rút trích các luật thỏa ngưỡng MinSupp và MinConf trên tập những
Tid Refund Marital Status Taxable Income Cheat 1 Yes Single 125K No 2 No Married 100K No 3 No Single 70K No 4 Yes Married 120K No 5 No Divorced 95K Yes 6 No Married 60K No 7 Yes Divorced 220K No 8 No Single 85K Yes 9 No Married 75K No 10 No Single 90K Yes 10 Refund Marital Status Taxable Income Cheat No Single 75K ? Yes Married 50K ? No Married 150K ? Yes Divorced 90K ? No Single 40K ? No Married 80K ? 10 Tập DL kiểm tra DL Huấn Luyện Mô hình Bộ học phân lớp Luật kết hợp: {…} → {nhãn phân lớp} {…} → {nhãn phân lớp}
đối tượng chưa được phân loại trong dữ liệu huấn luyện cho đến khi không tìm thấy tập phổ biến nữa. Bước 3 tổng hợp các luật được rút trích trong các bước trước để hình thành bộ phân loại đa lớp và được sử dụng để đánh giá thông qua bộ dữ liệu kiểm tra. Hình dưới mô tả chi tiết giải thuật. Giá trị của các thuộc tính học có thể là rõ ràng ví dụ như giá trị số tự nhiên rời rạc. Các giá trị chuỗi được ánh xạ thành các số nguyên dương. Hiện tại giải thuật chưa áp dụng cho các thuộc tính có giá trị liên tục.
Dữ liệu nhập: Dữ liệu huấn luyện, ngưỡng tin cậy và ngưỡng phổ biến Dữ liệu xuất: Tập các luật đa nhãn và độ chính xác phân loại
Bước 1:
- Duyệt dữ liệu huấn luyện T với n cột để tìm tập phần tử phổ biến - Rút trích tập luật i bằng cách chuyển mỗi phần tử phổ biến thỏa
MinConf thành một luật phân loại
- Sắp xếp các luật tạo ra dựa theo độ tin cậy, độ phổ biến… - Lượng giá tập luật i để loại bỏ các luật thừa
Bước 2:
- Loại bỏ các thể hiện Pi kết hợp với tập luật i - Tạo dữ liệu huấn luyện mới T’ T – Pi
- Lặp lại giai đoạn 1 trên T’ cho đến khi không thể tìm thấy tập phần tử phổ biến nữa
Bước 3:
- Kết hợp các tập luật ở mỗi bước lặp để tạo bộ phân loại đa nhãn - Phân loại các đối tượng kiểm tra
3.7.1Tạo luật kết hợp
3.7.1.1Tìm tập phổ biến và tạo luật kết hợp
Để tăng tốc độ tìm tập phổ biến, MMAC cài đặt một kỹ thuật mới dựa vào bộ dữ liệu Weka được đề xuất trong [16].
Phương pháp này duyệt một lần dữ liệu huấn luyện và đếm số lần xuất hiện của các phần tử đơn, từ đó có thể xác định được phần tử này thỏa ngưỡng MinSupp và MinConf hay không, đồng thời lưu vị trí xuất hiện của phần tử (rowId) trong các cấu trúc dữ liệu có khả năng truy xuất nhanh. Sau đó bằng cách lấy phần giao các tập rowId của các phần tử đơn này, có thể dễ dàng tìm được các tập phần tử phổ biến có nhiều thuộc tính. Giá trị rowId là những thông tin hữu ích cho việc tính toán độ tin cậy và độ phổ biến cho các luật có nhiều phần tử.
Ví dụ có hai phần tử đơn phổ biến A và B, nếu lấy phần giao các tập rowId của A và B, tập kết quả sẽ đại diện cho những vị trí mà A và B cùng xuất hiện trong dữ liệu huấn luyện, do đó các thuộc tính phân loại kết hợp với A^B có thể được định vị dễ dàng, từ đó có thể tính được độ phổ biến và độ tin cậy nhằm quyết định A^B có phải là phần tử phổ biến và luật ứng viên cho bộ phân loại hay không. Vì dữ liệu huấn luyện chỉ cần được duyệt một lần và rút trích luật, hướng tiếp cận này khá hiệu quả về mặt tốc độ và lưu trữ, khác với cách tiếp cận truyền thống cần phải duyệt dữ liệu huấn luyện nhiều lần.
Khi một phần tử đã được xác định là phổ biến, MMAC sẽ kiểm tra xem nó có thỏa ngưỡng MinConf hay không. Nếu độ tin cậy của phần tử lớn hơn MinConf, phần tử này sẽ được sử dụng để tạo ra luật ứng viên cho bộ phân loại. Ngược lại, phần tử này sẽ bị bỏ qua.
3.7.1.2Sắp xếp các luật và loại bỏ luật thừa
Định nghĩa 8: Cho trước 2 luật ra và rb, ra đứng trước rb nếu: 1. Độ tin cậy của ra lớn hơn rb
2. Độ tin cậy của ra bằng rb nhưng độ phổ biếnzx của ra lớn hơn rb
3. Độ tin cậy và phổ biến của ra và rb bằng nhau nhưng ra có ActOccr lớn hơn.
4. Cả độ tin cậy, phổ biến và ActOccr của ra và rb đều bằng nhau nhưng ra có ít điều kiện ở vế trái hơn rb
5. Tất cả các tiêu chí trên của ra và rb đều giống nhau nhưng ra được tạo ra trước rb
Kỹ thuật sắp xếp các luật được trình bày trong định nghĩa trên nhằm bảo đảm tập con của các luật hiệu quả hình thành nên bộ phân loại. Nó làm giảm nhu cầu chọn ngẫu nhiên và bảo đảm cho các luật có độ tin cậy cao được lưu giữ để phân loại. Kỹ thuật loại bỏ luật thừa được thực hiện bằng cách loại bỏ những luật có độ phổ biến nhỏ hơn MinSupp và độ tin cậy nhỏ hơn MinConf. Một kỹ thuật loại bỏ luật thừa khác được thực hiện trong khi lượng giá luật sẽ được trình bày trong phần sau.
3.7.1.3Lượng giá luật
Một luật được gọi là có ý nghĩa nếu và chỉ nếu nó bao phủ ít nhất một thể hiện trong dữ liệu huấn luyện. Sau khi một tập các luật được tạo ra và sắp thứ tự, một bước lượng giá sẽ được thực hiện để kiểm tra mỗi luật nhằm loại bỏ những luật thừa. Nếu một luật phân loại chính xác ít nhất một thể hiện đơn, nó sẽ được đánh dấu là sống sót và là một luật ứng viên tốt. Thêm vào đó tất cả các thể hiện được phân loại một cách chính xác dựa vào luật này sẽ được loại bỏ khỏi dữ liệu huấn luyện. Trong trường hợp luật không phân loại được bất kỳ thể hiện nào trong dữ liệu huấn luyện, nó sẽ bị loại bỏ khỏi tập luật.
3.7.2Học đệ qui
Cho trước một tập dữ liệu huấn luyện T, phương pháp đưa ra đầu tiên sẽ xây dựng một tập các luật trong đó mỗi luật được gắn kết với một nhãn phân loại xác
định. Khi tập luật này đã được tạo ra, các thể hiện trong dữ liệu huấn luyện kết hợp với các luật sẽ được loại bỏ. Các dữ liệu còn lại chưa được phân loại sẽ trở thành dữ liệu huấn luyện mới, gọi là T’. MMAC sẽ kiểm tra xem còn tập phần tử phổ biến nào trong T’ này không. Nếu có một tập luật mới sẽ được rút trích từ T’, các thể hiện chưa được phân loại trong T’ sẽ lại tạo thành tập dữ liệu huấn luyện mới và quá trình học lại được tiến hành cho đến khi không tìm được tập phần tử phổ biến nào nữa trong dữ liệu huấn luyện chưa được phân loại. Ở giai đoạn này, một thể hiện chưa được phân loại bất kỳ sẽ được chọn để làm phân loại mặc định.
Khi quá trình học hoàn tất, các tập luật được rút trích sẽ được tổng hợp lại để hình thành nên tập luật kết hợp đa nhãn cho bộ phân loại. Vấn đề đặt ra là làm sao sắp xếp các nhãn phân loại này trong luật kết hợp.
3.7.3Phân loại
3.7.3.1Sắp xếp nhãn phân loại
Định nghĩa 9: Một nhãn phân loại l1< l2, hay l1 đứng trước l2 nếu l1 xuất hiện nhiều hơn trong tập dữ liệu huấn luyện.
Ví dụ, phần tử <(A, a)(B, b)> kết hợp với ba nhãn (“c1”, “c2”, “c3”). Giả sử phần tử này xuất hiện 100 lần trong tập dữ liệu huấn luyện, trong đó số lần xuất hiện tương ứng với “c1”, “c2” và “c3” là 50, 30 và 20 lần. Giả sử phần tử này thỏa ngưỡng MinSupp và MinConf khi kết hợp với “c1”, “c2” và “c3”. MMAC sắp thứ tự các nhãn này dựa vào số lần xuất hiện của nó (“c1”<”c2”<”c3”) và luật kết hợp phân loại cho thể hiện này được biểu diễn như sau:
3.7.3.2Phân loại
Trong việc phân loại, gọi R là tập các luật được tạo ra và T là tập dữ liệu huấn luyện. Ý tưởng cơ bản của phương pháp này là chọn ra tập các luật có độ tin cậy cao trong R bao phủ T. Khi phân loại một đối tượng kiểm tra, luật đầu tiên
3 2 1 ) , ( ) , (A a B b c c c
trong tập luật thỏa điều kiện của đối tượng kiểm tra sẽ quyết định phân loại cho đối tượng đó. Qui trình này bảo đảm chỉ có các luật được sắp thứ tự cao nhất được chọn để phân loại các đối tượng kiểm tra.
3.7.4Ví dụ minh họa
Áp dụng giải thuật MMAC cho dữ liệu huấn luyện trong bảng sau, với MinSupp=30% và MinConf=30%. Cột Temperature và Humidity thuộc kiểu dữ liệu liên tục nên sẽ được bỏ qua, chỉ xét trên các thuộc tính Outlook, Windy và Play, trong đó Play được xem là thuộc tính phân loại.
Bảng 3.1: Tập dữ liệu huấn luyện ví dụ
Tid Outlook Temperature Humidity Windy Play
0 Sunny 85 85 FALSE No
1 Sunny 80 90 TRUE No
2 Overcast 83 86 FALSE Yes
3 Rainy 70 96 FALSE Yes
4 Rainy 68 80 FALSE Yes
5 Rainy 65 70 TRUE No
6 Overcast 64 65 TRUE Yes
7 Sunny 72 95 FALSE No
8 Sunny 69 70 FALSE Yes
9 Rainy 75 80 FALSE Yes
10 Sunny 75 70 TRUE Yes
11 Overcast 72 90 TRUE Yes
12 Overcast 81 75 FALSE Yes
Bước 1: Tạo luật kết hợp
1. Tìm tập phổ biến có một phần tử
Duyệt dữ liệu huấn luyện, đếm và lưu trữ vị trí các giá trị thuộc tính xuất hiện trong bảng. Sử dụng thông tin này để tính toán độ Supp của các phần tử. Từ đó loại bỏ phần tử có Supp < MinSupp.
Bảng 3.2: Tập phổ biến có một phần tử
Item rowIds Count
(Outlook, Sunny) 0, 1, 7, 8, 10 5 (Outlook, Overcast) 2, 6, 11, 12 4 (Outlook, Rainy) 3, 4, 5, 9, 13 5 (Windy, TRUE) 1, 5, 6, 10, 11, 13 6 (Windy, FALSE) 0, 2, 3, 4, 7, 8, 9, 12 8 (Play, Yes) 2, 3, 4, 6, 8, 9, 10, 11, 12 9 (Play, No) 0, 1, 5, 7, 13 5
Tất cả các tập phổ biến có một phần tử đều thỏa MinSupp. 2. Tìm tập phổ biến có hai phần tử
Lần lượt kết hai phần tử phổ biến đơn để tạo tập có hai phần tử. Sử dụng phần giao vị trí xuất hiện của hai phần tử để tính độ Supp của tập. Từ đó loại bỏ các tập có Supp < MinSupp.
Bảng 3.3: Tập phổ biến có hai phần tử
Item rowIds Count
(Outlook, Sunny), (Windy, TRUE) 1, 10 2
(Outlook, Sunny), (Windy, FALSE) 0, 7, 8 3
(Outlook, Sunny), (Play, Yes) 8, 10 2
(Outlook, Sunny), (Play, No) 0, 1, 7 3
(Outlook, Overcast), (Windy, TRUE) 6, 11 2
(Outlook, Overcast), (Windy, FALSE) 2, 12 2
(Outlook, Overcast), (Play, Yes) 2, 6, 11, 12 4
(Outlook, Overcast), (Play, No) 0
(Outlook, Rainy), (Windy, TRUE) 5, 13 2
(Outlook, Rainy), (Windy, FALSE) 3, 4, 9 3
(Outlook, Rainy), (Play, Yes) 3, 4, 9 3
(Outlook, Rainy), (Play, No) 5, 13 2
(Windy, TRUE), (Play, Yes) 6, 10, 11 3
(Windy, TRUE), (Play, No) 1, 5, 13 3
(Windy, FALSE), (Play, Yes) 2, 3, 4, 8, 9, 12 6
(Windy, FALSE), (Play, No) 0, 7 2
Các tập phổ biến có hai phần tử được tô màu sẽ được loại bỏ vì có Supp < MinSupp. Như thế, chỉ có 2 tập phổ biến có hai phần tử là thỏa MinSupp.
3. Tìm tập phổ biến có ba phần tử
Thực hiện tương tự như trên, kết hợp hai tập phần tử phổ biến có hai phần tử để tạo tập có ba phần tử. Tính độ Supp để loại bỏ tập không phổ biến.
Bảng 3.4: Tập phổ biến có ba phần tử
Item rowIds Count
(Outlook, Overcast), (Windy, FALSE), (Play, Yes) 2, 12 2 Chỉ có 1 tập phổ biến có ba phần tử nhưng không thỏa MinSupp.
4. Phân rã các tập phổ biến thành các luật phân loại
Ở giai đoạn này, ta không còn tìm được tập phần tử phổ biến nào nữa (vì tập ba phần tử đã là tập tối đại). Lúc này ta sẽ phân rã các tập phổ biến thành các luật phân loại, nghĩa là vế phải của luật là thuộc tính phân loại.
Bảng 3.5: Các luật phân loại sau khi phân rã các tập phổ biến
Rule Support Confidence Correctly Classify (Outlook, Overcast) (Play, Yes) 4/14 4/4 2, 6, 11, 12
(Windy, FALSE) (Play, Yes) 6/14 6/8 2, 3, 4, 8, 9, 12 5. Sắp xếp các luật phân loại theo độ Confidence, Support, .. và loại bỏ luật
thừa
Sắp xếp các luật theo độ giảm dần của Confidence, Support… Lần lượt duyệt từng luật từ trên xuống, kiểm tra luật có thể phân loại chính xác được dòng dữ liệu nào. Những dòng dữ liệu đã được phân loại chính xác bởi một luật sẽ được loại bỏ ra khỏi tập dữ liệu huấn luyện. Nếu một luật không phân loại chính xác được ít nhất một dòng dữ liệu, luật đó sẽ được xem là luật thừa và bị loại bỏ ra khỏi tập luật phân loại.
Bảng 3.6: Các luật phân loại sau khi sắp xếp theo độ Confidence, Support, .. và loại bỏ luật thừa
Rule Support Confidence Correctly Classify (Outlook, Overcast) (Play, Yes) 4/14 4/4 2, 6, 11, 12
(Windy, FALSE) (Play, Yes) 6/14 6/8 2, 3, 4, 8, 9, 12 Các thể hiện được tô màu đã được phân loại bởi luật có độ ưu tiên cao hơn phía trên.
Bước 2: Học đệ qui
Ở giai đoạn cuối của bước một, các dòng dữ liệu đã được phân loại chính xác bởi một trong các luật phân loại sẽ bị loại bỏ khỏi tập dữ liệu. Những dòng dữ liệu chưa được phân loại bởi bất kỳ luật phân loại nào còn lại sẽ hình thành tập dữ liệu huấn luyện mới. Trong trường hợp của ví dụ, các luật rút trích được chưa phân loại được toàn bộ các thể hiện trong dữ liệu huấn luyện nên những dòng dữ liệu chưa được phân loại sẽ hình thành tập dữ liệu huấn luyện mới.
Tập dữ liệu huấn luyện mới:
Bảng 3.7: Tập dữ liệu huấn luyện mới
Tid Outlook Temperature Humidity Windy Play
0 Sunny 85 85 FALSE No
1 Sunny 80 90 TRUE No
5 Rainy 65 70 TRUE No
7 Sunny 72 95 FALSE No
10 Sunny 75 70 TRUE Yes
Quá trình học lại trên tập dữ liệu huấn luyện mới được tiến hành cho đến khi không tìm được tập phần tử phổ biến nào nữa trong dữ liệu huấn luyện chưa được phân loại. Tương tự như bước 1.
2.1. Tạo luật kết hợp
2.1.1. Tìm tập phổ biến có một phần tử
Bảng 3.8: Tập phổ biến một phần tử (quá trình học đệ qui)
Item rowIds Count
(Outlook, Sunny) 0, 1, 7, 10 4 (Outlook, Rainy) 5, 13 2 (Windy, TRUE) 1, 5, 10, 13 4 (Windy, FALSE) 0, 7 2 (Play, Yes) 10 1 (Play, No) 0, 1, 5, 7, 13 5 2.1.2. Tìm tập phổ biến có hai phần tử
Bảng 3.9: Tập phổ biến hai phần tử (quá trình học đệ qui)
Item rowIds Count
(Outlook, Sunny), (Windy, TRUE) 1, 10 2
(Outlook, Sunny), (Windy, FALSE) 0, 7 2
(Outlook, Sunny), (Play, No) 0, 1, 7 3
(Outlook, Rainy), (Windy, TRUE) 5, 13 2
(Outlook, Rainy), (Windy, FALSE) 0
(Outlook, Rainy), (Play, No) 5, 13 2
(Windy, TRUE), (Play, No) 1, 5, 13 3
2.1.3. Tìm tập phổ biến có ba phần tử
Bảng 3.10: Tập phổ biến ba phần tử (quá trình học đệ qui)
Item rowIds Count
(Outlook, Sunny), (Windy, TRUE), (Play, No) 1 1
(Outlook, Sunny), (Windy, FALSE), (Play, No) 0, 7 2 (Outlook, Rainy), (Windy, TRUE), (Play, No) 5, 13 2
2.2. Phân rã các tập phổ biến thành các luật phân loại
Bảng 3.11: Các luật phân loại sau khi phân rã các tập phổ biến (quá trình học đệ qui)
Rule Support Confidence Correctly Classify
(Outlook, Sunny) (Play, No) 3/6 3/4 0, 1, 7
(Outlook, Rainy) (Play, No) 2/6 2/2 5, 13
(Windy, TRUE) (Play, No) 3/6 3/4 1, 5, 13
(Windy, FALSE) (Play, No) 2/6 2/2 0, 7
(Outlook, Sunny), (Windy, FALSE) (Play, No) 2/6 2/2 0, 7 (Outlook, Rainy), (Windy, TRUE) (Play, No) 2/6 2/2 5, 13
2.3. Sắp xếp các luật phân loại theo độ Confidence, Support, .. và loại bỏ luật thừa.
Bảng 3.12: Các luật phân loại sau khi sắp xếp theo độ Confidence, Support, .. và loại bỏ luật thừa (quá trình học đệ qui)
Rule Support Confidence Correctly Classify
(Outlook, Rainy) (Play, No) 2/6 2/2 5, 13
(Windy, FALSE) (Play, No) 2/6 2/2 0, 7
(Outlook, Sunny), (Windy, FALSE) (Play, No) 2/6 2/2 0, 7 (Outlook, Rainy), (Windy, TRUE) (Play, No) 2/6 2/2 5, 13
(Outlook, Sunny) (Play, No) 3/6 3/4 0, 1, 7
(Windy, TRUE) (Play, No) 3/6 3/4 1, 5, 13
Ở đây ta có thêm 3 luật phân loại nhưng vẫn còn dòng dữ liệu thứ 10 chưa được phân loại chính xác.
Tập dữ liệu huấn luyện mới được hình thành bao gồm 1 dòng dữ liệu: Bảng 3.13: Tập dữ liệu huấn luyện mới (quá trình học đệ qui)
Tid Outlook Temperature Humidity Windy Play
10 Sunny 75 70 TRUE Yes
- Tập phổ biến có một phần tử:
Bảng 3.14: Tập phổ biến một phần tử (quá trình học đệ qui)
Item rowIds Count
(Outlook, Sunny) 10 1