You are on page 1of 36

ĐẠI HỌC QUỐC GIA TP.

HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
KHOA CÔNG NGHỆ THÔNG TIN

NGUYỄN ANH TIẾN – 1111089

ĐỒ ÁN MÔN HỌC
KHAI THÁC DỮ LIỆU VÀ ỨNG DỤNG

ĐỀ TÀI: Chương 5 – Phân lớp: các kỹ thuật phân lớp.
Phần 5.7 và 5.8: Vấn đề mất cân bằng lớp và vấn đề đa lớp.
DỰA TRÊN TÀI LIỆU: INTRODUCTION TO DATAMINING
TÁC GIẢ: Pang-Ning Tan – Michael Steinbach – Vipin Kumar

TP.HCM – 03/2012

MỤC LỤC
MỤC LỤC ................................................................................................................... i
DANH SÁCH BẢNG ................................................................................................ ii
DANH SÁCH HÌNH................................................................................................. iv
NỘI DUNG .................................................................................................................1
1. Vấn đề lớp mất cân bằng .........................................................................................1
1.1. Các độ đo..............................................................................................................2
1.2. Đường cong ROC - The Receiver Operating Characteristic Curve: ...................5
1.3. Cost-sensitive learning: ........................................................................................8
1.4. Phương pháp tiếp cận dựa trên lấy mẫu: ............................................................10
2. Vấn đề đa lớp ........................................................................................................12
BÀI TẬP ...................................................................................................................17
1. Bài 17: ...................................................................................................................17
2. Bài 18: ...................................................................................................................22
3. Bài 19: ...................................................................................................................26
4. Bài 20: ...................................................................................................................28
TÀI LIỆU THAM KHẢO .........................................................................................30

i

DANH SÁCH BẢNG
Bảng 1: confusion matrix cho phân lớp nhị phân .......................................................3
Bảng 2: confusion matrix của M1 cho ngưỡng t.........................................................4
Bảng 3: mối quan hệ giữa wieghted accuracy với các độ đo khác .............................5
Bảng 4: bảng số liệu cho đồ thị ROC..........................................................................7
Bảng 5: cost matrix .....................................................................................................8
Bảng 6: cost matrix .....................................................................................................9
Bảng 7: confusion matrix cho M1 ...............................................................................9
Bảng 8: confusion matrix cho M2 ...............................................................................9
Bảng 9: ví dụ codeword sử dụng 7 bit cho 4 lớp ......................................................15
Bảng 10: ví dụ codeword sử dụng 15 bit cho 5 lớp ..................................................16
Bảng 11: ví dụ codeword sử dụng 15 bit cho 10 lớp ................................................16
Bảng 12: bài 17 - bảng xác suất cho positive class ...................................................17
Bảng 13: bài 17 - bảng xác suất cho negative class ..................................................18
Bảng 14: bài 17a - số liệu đồ thị ROC của mô hình M1 ...........................................18
Bảng 15: bài 17a - số liệu đồ thị ROC của mô hình M2 ...........................................19
Bảng 16: bài 17b - confusion matrix của M1 cho ngưỡng t .....................................20
Bảng 17: bài 17c - confusion matrix của M2 cho ngưỡng t......................................20
Bảng 18: bài 17c - confusion matrix của M2 cho ngưỡng t......................................21
Bảng 19: bài 18 - tập dữ liệu đề bài cho ...................................................................22
Bảng 20: bài 18a - confusion matrix của thuộc tính X .............................................22
Bảng 21: bài 18a - confusion matrix của thuộc tính Y .............................................23
Bảng 22: bài 18a - phân chia dữ liệu theo Y, phần 1 ................................................23
Bảng 23: bài 18a - phân chia dữ liệu theo Y, phần 2 ................................................24
Bảng 24: bài 18b - confusion matrix .........................................................................24
Bảng 25: bài 18c - cost matrix ..................................................................................25
Bảng 26: bài 18d - confusion matrix .........................................................................26
Bảng 27: bài 19a - confusion matrix .........................................................................26

ii

.....................27 Bảng 29: bài 19b .............Bảng 28: bài 19a ...............cost matrix biến đổi tỷ lệ ....................................................................................................................28 iii ..............27 Bảng 30: bài 19b .........28 Bảng 31: bài 19c ..................cost matrix biến đổi tịnh tiến ..........................................cost matrix ...............cost matrix ban đầu ......

.....................12 Hình 5: nhận dạng nhân vật ...............19 iv ................ ...........................................8 Hình 3: mở rộng độ phủ từ B1 B2 để giảm false negative errors của bộ phân lớp...........................................DANH SÁCH HÌNH Hình 1: đường cong ROC của 2 bộ phân lớp khác nhau...................đồ thị ROC cho mô hình M1 và M2 ...................................................5 Hình 2: đồ thị ROC .................. .................................13 Hình 7: bài 17a .................................................................13 Hình 6: phân lớp văn bản .........................................................................................................................................10 Hình 4: minh họa so sánh giữa undersampling và oversampling ....................................................................

 Với các tập dữ liệu của các bài toán phân lớp như vậy sẽ làm cho các mô hình học phân lớp gặp rất nhiều khó khăn trong dự báo cho dữ liệu lớp thiểu số. những pixels bất bình thường (ung thư) chỉ chiếm một phần rất nhỏ trong toàn bộ ảnh. không quan tâm đến bất kỳ lớp nào. khi phân loại các pixels trong các ảnh phim chụp tia X có bị ung thư hay không. phân loại văn bản. thường đó là những lớp quan trọng. CART (Breiman et al. trong khi rất ít được gán nhãn như các lớp khác. Vấn đề lớp mất cân bằng Tập dữ liệu được phân lớp mất cân bằng khá thông thường trong nhiều ứng dụng thật tế như: chẩn đoán y khoa (như bệnh hiếm và đột biết gen hiếm). Chính vì lý do này. mạng lưới giám sát.NỘI DUNG 1. Đây là một trong những sai lầm nghiêm trọng của giải thuật học phân 1 . Sự không cân bằng lớp nó ảnh hưởng rất lớn đến hiệu quả của các mô hình phân loại.000 phần tử. trong đó lớp bệnh A là lớp thiểu số (người ta quan tâm hay lớp dương) chỉ có 10 phần tử và lớp còn lại (không bệnh.. Ví dụ 2: như tập dữ liệu cho dự báo bệnh A có 40. phát hiện gian lận trong giao dịch.. Hầu hết giải thuật học như cây quyết định C4.990 phần tử. .975%. lớp âm) có 39. Vấn đề không cân bằng lớp thường xảy ra với bài toán phân lớp nhị phân mà ở đó một lớp mà người ta quan tâm chiếm tỉ lệ rất nhỏ so với lớp còn lại hay hầu hết tất cả được gán nhãn như một lớp. số lượng các xâm nhập trên mạng thường là một phần rất nhỏ trong tổng số các giao dịch mạng. 1984). 1995) đều được thiết kế để cho độ chính xác tổng thể. SVM (Vapnik. Ví dụ 1:  Trong lĩnh vực phát hiện sự xâm nhập mạng. các giải thuật học phân lớp cho tập dữ liệu không cân bằng gặp phải vấn đề dự báo dễ làm mất lớp thiểu số mặc dù cho độ chính xác tổng thể rất cao. Một giải thuật học dự báo sai hoàn toàn bệnh A (lúc nào cũng dự báo là không bị bệnh A) thì vẫn cho độ chính xác tổng thể là 99.  Trong cơ sở dữ liệu y học. 1993)..5 (Quinlan.

độ đo được sử dụng để hướng dẫn thuật toán học (như độ đo information gain cho cây quyết định) có thể cần phải được chỉnh sửa để tập trung vào lớp thiểu số. lớp thiểu số thường được biểu hiện như positive class. Với phân lớp nhị phân. 2003) đề xuất phương pháp lấy mẫu tăng thêm cho lớp thiểu số. Ví dụ 3: nếu 1% của giao dịch bị gian lận thì mô hình dự đoán mỗi giao dịch hợp pháp chính xác là 99% mặc dù nó thất bại để phát hiện ra những giao dịch gian lận. 2004). 2003. (Domingos. nó không được phù hợp cho việc phân tích nhiều tập dữ liệu thiếu cân bằng. Chiến lược thay đổi phân bố dữ liệu. Ngoài ra (Domingos. Chiến lược can thiệp trực tiếp giải thuật học cây quyết định. 2008) đề xuất lấy mẫu giảm cho lớp đa số. (Chawla et al. có thể nó không phù hợp cho việc đánh giá mô hình từ tập dữ liệu thiếu cân bằng. trong 2 . Chính vì vậy mà cộng đồng máy học cũng đã tập trung để giải quyết vấn đề phân lớp dữ liệu không cân bằng. 2003) đề xuất gán giá phải trả cho dự báo sai của các lớp khác nhau (giá của lớp thiểu số lớn hơn giá của lớp đa số). (Liu et al. Các độ đo Kể từ khi độ đo Accuracy được xem xét trong mỗi lớp cũng quan trọng không kém.. (Lenca et al.. 1999). chẳng hạn như các cuộc hội thảo khoa học (Chawla et al. 1999) đề xuất điều chỉnh ước lượng xác suất tại nút lá của cây nhằm cải tiến dự báo lớp thiểu số. Độ đo Accuracy được sử dụng rộng rãi để so sánh hiệu suất của các bộ phân lớp. Hơn nữa. nhiều giải pháp cũng đã được đề xuất để giải quyết vấn đề trên trong giải thuật học cây quyết định nhằm cải thiện dự báo lớp thiểu số nhưng không làm mất nhiều dự báo lớp đa số. (Weiss & Provost.1. 1.. (Hido & Kashima.lớp và tầm quan trọng ngày càng lớn của nó để các nhà nghiên cứu nhận ra rằng sự mất cân bằng này gây ra không tối ưu cho việc phân loại hiệu suất và hầu hết thuật toán thực thi khá tệ khi tập dữ liệu bị mất cân bằng cao. 2006).. 2008) đề xuất thay đổi hàm phân hoạch dữ liệu nhằm cải thiện dự báo lớp thiểu số nhưng không làm mất nhiều dự báo lớp đa số.

Các tỷ lệ:  True Postive Rate: TPR =  True Negative Rate: TNR =  False Postive Rate: FPR =  False Negative Rate: FNR = Recall và precision là 2 số liệu được sử dụng rộng rãi trong phát triển ứng dụng.True Positive: số lượng positive dự đoán chính xác.  TN . định nghĩa hình thức là:  Precision. Precision và recall có thể được tóm tắt vào số liệu đã biết khác như độ đo F1 3 .  FP .False Positive: số lượng negative dự đoán sai.True Negative: số lượng negative dự đoán chính xác.khi lớp đa số được biểu hiện như negative class. p =  Recall.False Negative: số lượng positive dự đoán sai. Độ đo recall cho biết tỷ lệ positive được dự đoán chính xác. r =  Accuracy =  Xây dựng mô hình phân lớp mà cả hai thông số precision và recall đạt giá trị lớn nhất là thách thức chính của thuật toán phân lớp.  FN . Sự dự đoán chính xác hoặc không chính xác bởi mô hình phân lớp được hiển thị trong bảng sau: Lớp dự đoán Lớp thật + - + TP FN - FP TN Bảng 1: confusion matrix cho phân lớp nhị phân Trong đó:  TP .

236. Giá trị của độ đo F1 càng cao khi recall và precision càng cao. Nó là sự kết hợp giữa recall và precision. tính các độ đo Accuracy. Precision. Số trung bình là µa = ⁄ là µh = và hình học trung bình là µg = √ ⁄ = 2.667 Ví dụ 2: Xem xét 2 số positive a = 1 và b = 5. Điều hòa trung bình gần với giá trị nhỏ hơn giữa a và b là µa và µh Độ đo F có thể sử dụng để kiểm tra sự cân bằng giữa recall và precision: F = = Precision và recall đều là trường hợp đặc biệt của F nếu thiết lập =0 và =∞. recall. F1 Lớp dự đoán Mô hình Lớp thật + - + 3 2 - 1 4 Bảng 2: confusion matrix của M1 cho ngưỡng t  Accuracy = =  Presision = p =  Recall = r =  F1 = = = = =70% = = 75% = = 60% = 0.Độ đo F1 được sử dụng phổ biến cho việc đánh giá vấn đề mất cân bằng. Ví dụ 1: cho confusion matrix như bảng dưới. Giá trị thấp của  làm cho F gần precision hơn và giá trị cao làm nó gần recall hơn. Tổng quát hơn là độ đo weighted accuracy được định nghĩa bởi công thức sau: 4 .

Hình 1: đường cong ROC của 2 bộ phân lớp khác nhau.weighted accuracy = Mối quan hệ giữa weighted accuracy và các độ đo khác được tóm tắt trong bảng sau: Độ đo w1 w2 w3 w4 Recall 1 1 0 0 Precision 1 0 1 0 2 + 1 B2 1 0 1 1 1 1 F Accuracy Bảng 3: mối quan hệ giữa wieghted accuracy với các độ đo khác 1. Đường cong ROC .The Receiver Operating Characteristic Curve: Đường cong ROC là biểu đồ thể hiển sự cân bằng giữa TPR và FPR của bộ phân lớp. 5 . Trong đường cong ROC thì trục y biểu diễn TPR và trục x biểu diễn FPR.2.

từ dòng có nhiều khả năng được phân loại như positive class đến dòng có ít khả năng hơn. TPR = FPR = 1. Lựa chọn thứ hạng thấp nhất của dòng dữ liệu. Mô hình phân lớp tốt nên nằm càng gần góc trên bên trái của biểu đồ. Nếu dòng được lựa chọn trước đó là positive class thì tổng số TP bị giảm và tổng số FP 6 . Nếu mô hình chỉ đơn giản là thực hiện ngẫu nhiên thì diện tích bên dưới đường cong là 0. Giả định rằng giá trị liên tục ở đầu ra được định nghĩa cho positive class. Trong khi mô hình có những dự đoán ngẫu nhiên thì nằm dọc theo đường chéo chính. Cập nhật tổng số của TP và FP bởi kiểm tra lớp nhãn thực tế của dòng được lựa chọn trước đó. Diện tích bên dưới đường cong ROC cung cấp giải pháp tiếp cận khác cho việc đánh giá mô hình tốt. kết nối điểm (TPR = 0.5  Hiệu suất của mô hình phân lớp mà tốt hơn mô hình khác thì diện tích bên dưới đường cong ROC là lớn hơn. Lựa chọn dòng kế tiếp từ danh sách đã sắp xếp. trong khi những xếp hạng bên dưới như negative. FPR = 1: mô hình dự đoán là positive class.  TPR = 1. Để vẽ đường cong ROC thì bộ phân lớp phải có khả năng xuất ra những giá trị liên tục mà có thể được sử dụng để dự đoán thứ hạng của nó.Một vài điểm quan trong trên đường cong ROC:  TPR = 0. Bởi vì tất cả positive được phân loại chính xác và negative bị phân loại sai. Kết quả đầu ra tương ứng với 1. FPR = 0) và điểm (TPR = 1. 3.  TPR = 1. FPR = 0: mô hình dự đoán là negative class. Giải pháp này tương đương với phân lớp tất cả các dòng như positive class. FPR = 1) Đường cong ROC hữu ích trong việc so sánh hiệu suất tương đối giữa các bộ phân lớp khác nhau. Nếu mô hình là tuyệt vời thì diện tích bên dưới đường cong ROC là 1. sắp xếp các giá trị đó theo thứ tự tăng dần. 2. FPR = 0: mô hình lý tưởng. Phân loại các dòng được lựa chọn và xếp hạng ở trên nó như positive.

95 1. Biểu đồ TPR tương phản với FPR của bộ phân lớp. FP.4 0.8 0.4 0. Tiến trình này được lặp lại cho đến khi kết thúc danh sách nơi mà TPR = 0 và FPR = 0.6 0. Đồ thị ROC như sau: 7 . Nếu dòng được lựa chọn trước đây là negative class thì tổng số FP bị giảm và tổng số TP vẫn còn lại như trước. Kế tiếp chỉ định dòng dữ liệu với giá trị đầu ra thấp nhất như negative class.6 0.8 0. TN và FN cùng với TPR và FPR tương ứng.00 TP 5 4 4 3 3 3 3 2 2 1 0 FP 5 5 4 4 3 2 1 1 0 0 0 TN 0 0 1 1 2 3 4 4 5 5 5 FN 0 1 1 2 2 2 2 3 3 4 5 TPR 1 0. 5.6 0.53 0.87 0.6 0.8 0.2 0.4 0.vẫn còn lại như trước.85 0.8 0. Dòng thứ 2 tương ứng với giá trị đầu ra đã được sắp xếp. FPR và TPR được cập nhật phù hợp.2 0 0 0 Bảng 4: bảng số liệu cho đồ thị ROC  Ban đầu tất cả các dòng dữ liệu được dự đoán là positive. 6 dòng kế tiếp chứa tổng số TP.43 0.76 0. Bởi vì dòng dữ liệu được lựa chọn chính là positive thực sự. Lặp lại bước 3 và cập nhật tổng số TP và FP cho đến khi hạng cao nhất của dòng được lựa chọn. Ví dụ: cho 5 positive và 5 negative trong tập dữ liệu như bảng dưới.25 0.2 0 FPR 1 1 0. Do đó TP = FP = 5 và TPR = FPR = 1.85 0.6 0.85 0. Class + - + - - - + - + + 0. 4. Dòng đầu tiên là nhãn lớp. tổng số TP giảm từ 5 xuống còn 4 và tổng số FP vẫn giữ nguyên.93 0.

8 TPR 0.j) là chi phí dự đoán dòng từ lớp i như là lớp j.4 0. Lớp dự đoán Lớp thật Lớp i Lớp j Lớp i 0 C(i.2 0 0 0. Cost-sensitive learning: Cost-sensitive learning là giải pháp để giải quyết vấn đề về sự phân phối lớp của dữ liệu bị mất cân bằng cao trong nhiều ứng dụng thực tế.-) = C(-.3.i) 0 Bảng 5: cost matrix C(i. trong khi C(-.2 FPR Hình 2: đồ thị ROC 1.2 0.6 0.8 1 1.-) Ma trận chi phí 0/1 có nghĩa là C(+. Cho 1 tập N dòng thì chi phí tổng thể của mô hình M là: Ct(M) = TP C(+.4 0.-) là chi phí ghi nhận lỗi false negative.6 0.+) = C(-.+) + FN C(+.-) = 0 và C(+.+) là chi phí phát sinh cảnh báo sai. Mục tiêu là để giảm thiểu chi phí phân loại sai bằng cách lựa chọn lớp có độ rủi ro thấp nhất trong tiến trình phân lớp.j) Lớp j C(j.+) + FP C(-.+) = 1.-) + TN C(-.1. Nó hiển thị chi phí tổng thể tương đương với số lỗi phân loại sai: 8 .2 1 0. Ký hiệu: C(+.

Ct(M) = 0 (TP + TN) + 1 (FP + FN) = N Err (Err là tỷ lệ lỗi của bộ phân lớp) Ví dụ 1: Cho cost matrix như bảng bên dưới. Cách này thì mô hình tạo ra có thể bao phủ nhiều hơn positive nhưng lại tốn thên chi phí false alrams. Ví dụ 2: nếu FNE (false negative error) có chi phí cao nhất thì thuật toán học sẽ cố gắng giảm lỗi bằng cách mở rộng độ phủ đối với lớp negative như hình dưới. Lớp dự đoán Lớp thật + - + -1 100 - 1 0 Bảng 6: cost matrix Lớp dự đoán M1 Lớp thật + - + 150 40 - 60 250 Bảng 7: confusion matrix cho M1 Lớp dự đoán M2 Lớp thật + - + 250 45 - 5 200 Bảng 8: confusion matrix cho M2 Ct(M1) = 150 x (-1) + 60 x 1 + 40 x 100 = 3910 Ct(M2) = 250 x (-1) + 5 x 1 + 45 x 100 = 4255  Mặc dù số lượng TP và FP ở mô hình M2 đã được cải thiện đáng kể nhưng chi phí của nó vẫn còn cao hơn Kỹ thuật phân lớp cost-sensitive dùng cost matrix để xem xét trong suốt quá trình xây dựng mô hình và tạo mô hình với chi phí chấp nhất. 9 .

oversampling và lai giữa cả 2 phương pháp (undersampling và oversampling). Phương pháp tiếp cận dựa trên lấy mẫu: Lấy mẫu là phương pháp tiếp cận được sử dụng rộng rãi cho việc kiểm soát vấn đề dữ liệu mất cân bằng. kết quả ít hơn trong mô hình tối ưu. lấy mẫu ngẫu nhiên của 100 negative được lựa chọn để hình thành tập huấn luyện với tất cả positive.Hình 3: mở rộng độ phủ từ B1 B2 để giảm false negative errors của bộ phân lớp. Ý tưởng của lấy mẫu là để tinh chỉnh lại việc phân phối để rare class là đại diện tốt trong tập huấn luyện.4. 1. Do đó. Một vài kỹ thuật đã sẵn sàng việc cho lấy mẫu bao gồm undersampling. Để minh họa cho kỹ thuật này hãy xem xét tập dữ liệu chứa 100 positive và 1000 negative. Phương pháp tiềm năng để vượt qua vấn đề này là thực hiện nhiều lần undersampling và gây ra nhiều 10 . Trong trường hợp của undersampling. Một vấn đề tiềm ẩn với phương pháp tiếp cận này là có 1 vài negative hữu ích mà không được chọn lựa trong tập huấn luyện.

Tuy nhiên. phương pháp này vẫn dễ dẫn đến overfitting model. Tiến trình này sẽ được lặp lại cho đến khi số lượng mong muốn đạt được. Undersampling có thể thực hiện lấy ngẫu nhiên hoặc tập trung vào các mẫu con. Chúng ta phải xác định k láng giềng gần nhất cho mỗi positive hiện tại. nơi mà thủ tục lấy mẫu lựa chọn thông tin liên quan đến negative mà các negative nên được loại bỏ (như nó nằm xa ranh giới quyết định) Oversampling thì nhân rộng positive cho đến tập dữ liệu huấn luyện có số lượng positive bằng với số lượng negative. Oversampling thì có thể nhân rộng positive hoặc tạo ra positive mới trong lân cận của positive hiện tại. Positive được thêm vào có khuynh hướng làm tăng số lần tính toán cho xây dựng mô hình. Nguyên tắc là oversampling không thêm bất kỳ thông tin nào mới đến tập dữ liệu huấn luyện. dữ liệu mới cho phép chúng ta mở rộng độ phủ quyết định cho lớp positive ra bên ngoài. Không giống như phương pháp nhân rộng dữ liệu.cách kết hợp kết quả dự đoán từ các bộ phân lớp khác nhau để cho hiệu suất cao. Tuy nhiên với dữ liệu nhiễu thì oversampling gây ra overfitting model (tình trạng quá khớp với dữ liệu huấn luyện) bởi vì dữ liệu được nhân rộng lên nhiều lần. Positive mới sẽ được tạo tại 1 vài điểm ngẫu nhiên dọc theo đường thẳng mà kết hợp với positive để có k láng giềng gần nhất của nó. 11 . Tập trung vào phương pháp undersampling được sử dụng. Phương pháp kết hợp cả undersampling trên lớp đa số và oversampling trên lớp thiểu số để đạt được sự phân phối lớp thống nhất. Điều này dẫn đến việc loại bỏ khả năng dữ liệu hữu ích có thể bị bỏ qua nhưng nó là quan trọng trong bộ phân lớp.bộ phân lớp giống như phương pháp học ensemble .

12 . chứng thực khuôn mặt và phân lớp văn bản. Vấn đề đa lớp Một vài kỹ thuật phân lớp được mô tả trong chương này như là SVM (Support Vector Machines) và AdaBoost.g in pl m rs a un de D R O P P E D ov sa er m pl in g Majority Class Minority Class D U P L I C A T E D Hình 4: minh họa so sánh giữa undersampling và oversampling 2. nơi mà dữ liệu đầu vào được chia thành nhiều hơn 2 danh mục. Nhiều vấn đề trong thế giới thật như nhận dạng nhân vật. được thiết kế ban đầu cho vấn đề phân lớp nhị phân.

.-.1) / 2 bộ phân lớp nhị phân .. Lớp nhận số điểm cao nhất sẽ được ấn định cho thể hiện (test instance). Hay nói cách khác nó được phân lớp như positive khi y1 được sử dụng như positive class và negative khi y2. Mỗi class yi  Y. y2. khởi tạo K(K . Một scheme cho điểm thường phát triển kết hợp với dự đoán. Thể hiện không thuộc về cả yi lẫn yj sẽ được bỏ qua khi khởi tạo bộ phân lớp nhị phân cho (yi. Phương pháp tiếp cận thứ 2 là one-against-one (1-1). y2.yj).yj). Giả sử 1 thể hiện được phân lớp như (+. yk} là những lớp của dữ liệu đầu vào. y3. Minh họa cho phương pháp tiếp cận này là ta cho Y = {y1.-. một lớp nhị phân được tạo khi tất cả thể hiện thuộc về yi được xem xét là positive trong khi còn lại là negative.-). y4}. và y4 được sử dụng như positive class. Bộ phân lớp nhị phân được xây dựng để thể hiện riêng biệt của lớp yi từ phần còn lại của nhiều lớp. cho Y = {y1.mỗi bộ phân lớp được sử dụng để phân biệt giữa một cặp lớp (yi. y3. Phương pháp tiếp cận đầu tiên là phân rã nhiều lớp thành k lớp nhị phân. Ví dụ 1: Xem xét vấn đề đa lớp sau. Điều này được biết đến như phương pháp tiếp cận one-against-rest (1-r). căn cứ vào phương pháp (1-r). Trong cả 2 phương pháp tiếp cận (1-r) và (1-1) thì phân lớp bằng cách kết hợp dự đoán tạo bởi bộ phân lớp nhị phân.. . Sử dụng một cách cho điểm đơn giản là y1 13 .Hình 6: phân lớp văn bản Hình 5: nhận dạng nhân vật Một vài phương pháp tiếp cận cho việc mở rộng bộ phân lớp nhị phân để kiểm soát vấn đế đa lớp.

-) do phân lớp sai từ bộ phân lớp của hãng thứ 3. trong khi những lớp còn lại chỉ nhận 3 điểm nên thể hiện này được phân lớp như y1. Số dòng là số lớp trong thuật toán học đa lớp. Học đa lớp. ECOC được định nghĩa là một ma trận chứa các giá trị nhị phân. y3. giả sử các lớp được mã hóa sử dụng 7 bit codewords như bảng sau: Class Codeword 1 2 3 4 5 6 7 y1 1 1 1 1 1 1 1 y2 0 0 0 0 1 1 1 14 . mỗi lớp yi được hiển thị bởi 1 chuỗi bit phân biệt của độ dài n được biết đến như là codeword. Ví dụ 2: giả sử được phân lớp như (y1. Vấn đề tiềm ẩn của 2 giải pháp trên là chúng nhạy cảm với lỗi phân lớp nhị phân. Ý tưởng đằng sau phương pháp này là thêm 1 codeword dư thừa vào thông điệp truyền đi để người nhận phát hiện lỗi trong thông điệp nhận và nếu cần thì có lẽ khôi phục lại thông điệp gốc nếu số lỗi là nhỏ.-.nhận số điểm cao nhất là 4. Lớp dự đoán của ví dụ được đưa ra bởi codeword là khoảng cách Hamming gần nhất đến codeword sinh ra bởi bộ phân lớp nhị phân. Ví dụ 3: Xem vấn đề đa lớp với Y = {y1. nó sẽ trở nên khó để nói là nếu thể hiện nên được phân lớp như y1 hoặc y3.+. Trong đó độ dài là số cột trong ma trận. Phương pháp được lấy ý tưởng từ phương pháp tiếp cận information-theoretic cho việc gửi tin nhắn ngang qua kênh nhiễu.y3. Mỗi cặp chuỗi bit được cho bởi số lượng bit khác nhau. Vì phát sinh quá nhiều lớp nên sẽ rất khó kiểm soát Phương pháp ErrorCorrecting Output Coding (ECOC) cung cấp 1 cách thức mạnh mẽ hơn cho kiểm soát vấn đề đa lớp. y2. Trong trường hợp này.y4}. Chúng ta huấn luyện n bộ phân lớp nhị phân để dự đoán mỗi bit của chuỗi codeword. Nếu ít nhất một bộ phân lớp nhị phân sai lầm trong dự đoán thì toàn bộ chúng có thể kết thúc mối quan hệ giữa nhiều lớp hoặc làm cho nó dự đoán sai. nếu xác suất đó không có quan hệ với mỗi lớp dự đoán được đưa vào tài khoản.y2. y4) = (+.

y2. Vấn đề quan trọng là làm thế nào để thiết kế được mã codewords cho những lớp khác nhau.1 thì số bit trong các dòng được tạo như sau:  Dòng 1: là tất cả bit 1.3 bit 0 + 2k .3 bit 1 + 2k .  Dòng 2: 2k .1 bit 1  Dòng 3: 2k .1960.i bit 0 và 2k .  k ≥ 11: sử dụng thuật toán BCH (Bose & Ray-Chaudhuri.3 .1. Ví dụ 4: Cho nhiều lớp yi với Y = {y1.1) thì khoảng cách Hamming giữa codeword y1 là 1.2 . có rất nhiều thuật toán phát triển cho việc tạo codewords n-bit với khoảng cách Hamming. trong khi khoảng cách Hamming đến những lớp khác là 3.1 bit 1  . Từ lý thuyết coding.y3 0 0 1 1 0 0 1 y4 0 1 0 1 0 1 0 Bảng 9: ví dụ codeword sử dụng 7 bit cho 4 lớp Mỗi bit của codeword được sử dụng để huấn luyện bộ phân lớp nhị phân.1 .2 bit 0 + 2k .y4.  8 ≤ k ≤ 11: sử dụng thuật toán GSAT (Selman. Cách tạo giá trị nhị phân trong ma trận. Nếu bộ kiểm thử được phân lớp như (0.3 bit 0 + 2k .. Do đó sẽ được phân lớp như y1. Hocquenghem.i bit 1.  Dòng i: thì xen kẽ giữa 2k . Levesque. với k là số lớp thì:  3 ≤ k ≤ 7: độ dài của code sẽ là 2k .y3.1.y5 }.. & Mitchell. 1992) để tạo mã codeword.1.1. 1959) để tạo mã codeword. các lớp được mã hóa sử dụng 15 bit codewords như bảng sau: Class y1 Codeword 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 1 1 1 1 1 1 1 1 1 15 1 1 1 1 1 . Codewords nên là khoảng cách Hamming lớn nhất giữa những dòng để sữa lỗi có thể được thực hiện.

y8.y10}.y5.y2 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 y3 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 y4 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 y5 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 Bảng 10: ví dụ codeword sử dụng 15 bit cho 5 lớp Ví dụ 5: Cho nhiều lớp yi với Y = {y1.y3.y6. các lớp được mã hóa sử dụng 15 bit codewords như bảng sau: Class Codeword 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 y1 1 1 0 0 0 0 1 0 1 0 0 1 1 0 1 y2 0 0 1 1 1 1 0 1 0 1 1 0 0 1 0 y3 1 0 0 1 1 0 0 1 1 1 1 0 1 0 1 y4 0 0 1 1 0 1 1 1 0 0 0 0 1 0 1 y5 1 1 1 0 1 0 1 1 0 0 1 0 0 0 1 y6 0 1 0 0 1 1 0 1 1 1 0 0 0 0 1 y7 1 0 1 1 1 0 0 0 0 1 0 1 0 0 1 y8 0 0 0 1 1 1 1 0 1 0 1 1 0 0 1 y9 1 1 0 1 0 1 1 0 0 1 0 0 0 1 1 y10 0 1 1 1 0 0 0 0 1 0 1 0 0 1 1 Bảng 11: ví dụ codeword sử dụng 15 bit cho 10 lớp 16 .y9.y4.y7.y2.

15 0...97 3 - 0. Z.P(+|A...85 0.99 17 .27 0.55 6 + 0.53 0.01 10 - 0.M2) 1 + 0.BÀI TẬP 1.31 0.32 4 - 0.bảng xác suất cho positive class Tính bảng xác suất cho negative class từ công thức đề bài cho: P(-) = 1 .... Z.03 3 - 0.P(+) và P(-|A.55 0. . Bài 17: Đánh giá hiệu suất của 2 mô hình phân lớp M1 và M2.. Z.69 0..M2) 1 + 0.08 0.44 0.Z) Instance True Class P(-|A..05 9 + 0.69 5 + 0. Bộ kiểm tra được lựa chọn chứa 26 thuộc tính nhị phân được gán nhãn từ A đến Z như sau: Instance True Class P(+|A.73 0..M1) P(+|A.09 7 - 0.67 0. .31 5 + 0...45 0. ..56 0.39 2 + 0..61 2 + 0.47 0.62 8 - 0.Z) = 1 .38 8 - 0..04 Bảng 12: bài 17 . .55 0.45 6 + 0.33 0.35 0.M1) P(-|A..92 0.68 4 - 0. Z..91 7 - 0.45 0..95 9 + 0..

55 0.6 0.47 0. Cứ lặp lại như vậy cho đến cột cuối cùng.4 0.8 0.08 0. nếu cột phía trước nó là negative thì số lượng FP giảm đi 1 và giữ nguyên số lượng TP.15 0. FPR theo công thức.2 0.8 0. M1 - - 0.6 0.FP  Bước 4: Tính TPR..6 0.73 1 TP 5 5 5 5 5 4 3 3 2 1 0 FP 5 4 3 2 1 1 1 0 0 0 0 TN 0 1 2 3 4 4 4 5 5 5 5 FN 0 0 0 0 0 1 2 2 3 4 5 TPR 1 1 1 1 1 0.44 0.10 - 0.TP và TN = 5 .4 0. .  Nếu cột phía trước nó là positive thì số lượng TP giảm đi 1 và giữ nguyên số lượng FP..số liệu đồ thị ROC của mô hình M1 18 .67 0.  Bước 3: Tính FN = 5 .bảng xác suất cho negative class a) Vẽ đồ thị ROC cho M1 và M2.35 - + + - + + + 0. A) của từng mô hình theo thứ tự tăng dần.69 0.2 0.2 0 0 0 0 Bảng 14: bài 17a ..2 0 FPR 1 0.96 Bảng 13: bài 17 .65 0.45 0.  Bước 2: Tính TP và FP:  Khởi tạo TP và FP ban đầu bằng 5. Mô hình nào tốt hơn và giải thích tại sao?  Xây dựng bảng số liệu cho đồ thị ROC từ xác suất positive class: ứng với mỗi mô hình lần lượt thực hiện theo các bước sau:  Bước 1: sắp xếp các xác suất P(+|A.

số liệu đồ thị ROC của mô hình M2  Đồ thị ROC cho mô hình M1 và M2: 1.2 0 0 0.03 0. cho ngưỡng t = 0.6 0.2 0.38 0.8 TPR 0.2 0.2 0.6 Mô hình M1 Mô hình M2 0.6 0.31 0.68 1 TP 5 4 3 3 3 2 2 2 1 0 0 FP 5 5 5 4 3 3 2 1 1 1 0 TN 0 0 0 1 2 2 3 4 4 4 5 FN 0 1 2 2 2 3 3 3 4 5 5 TPR 1 0. b) Mô hình M1.đồ thị ROC cho mô hình M1 và M2  Nhận xét: mô hình M1 tốt hơn mô hình M2 vì phần diện tích bên dưới của M1 lớn hơn M2.45 0.4 0.6 0.4 0.2 1 0.2 FPR Hình 7: bài 17a .05 + - - + + - 0.09 0.6 0.+ M2 + - - 0.8 0.8 0.6 0. recall và độ đo F cho mô hình tại giá trị ngưỡng t.6 0.8 1 1. Tính precision.61 0.5.04 0.4 0.4 0. 19 .4 0.2 0 Bảng 15: bài 17a .4 0.2 0 0 FPR 1 1 1 0.01 0.

confusion matrix của M2 cho ngưỡng t  Tính:  Presision = p = =  Recall = r =  F= = = = = 50% = = 20% = 0. mô hình nào tốt hơn và nó có phù hợp với đường cong ROC?  Lập bảng confusion matrix cho ngưỡng t. Lập bảng confusion matrix cho ngưỡng t.confusion matrix của M1 cho ngưỡng t  Tính:  Presision = p = =  Recall = r =  F= = = = = 75% = = 60% = 0.286  Dựa vào độ đo F ta nhận thấy mô hình M1 vẫn tốt hơn mô hình M2 . Lớp dự đoán Mô hình M1 Lớp thật + - + 3 2 - 1 4 Bảng 16: bài 17b .667 c) Tương tự sử dụng ngưỡng t cho mô hình M2.kết quả này phù hợp với đồ thị ROC. 20 . so sánh độ đo F cho cả 2 mô hình. Lớp dự đoán Mô hình M2 Lớp thật + - + 1 4 - 1 4 Bảng 17: bài 17c .

0.5 hay t = 0.1 tốt hơn t = 0.d) Lặp lại câu c) cho mô hình M1 sử dụng ngưỡng t = 0.2.confusion matrix của M2 cho ngưỡng t  Tính:  Presision = p = =  Recall = r =  F= = = = = 55.55% = = 100% = 0.1) ở phía trên của đồ thị hơn .1.kết quả này trái ngược với kết quả sử dụng độ đo F.5 thì (FPR.6) nằm gần đỉnh (0. Ngưỡng nào bạn thích hơn. Lớp dự đoán Mô hình M1 Lớp thật + - + 5 0 - 4 1 Bảng 18: bài 17c .71  Dựa vào độ đo F ta nhận thấy ngưỡng t = 0.1? Kết quả có phù hợp với những gì bạn mong đợi từ đồ thị ROC không?  Lập bảng confusion matrix cho ngưỡng t = 0. 21 .TPR) = (0. Khi t = 0.1.5. t = 0.

max( . )=  Xét X: X 0 1 2 + 10 10 10 - 300 0 300 Bảng 20: bài 18a .tập dữ liệu đề bài cho Luật rút ra từ tập dữ liệu đề bài cho: với lớp "+" là Y = 1 và lớp "-" là X =0vX=2 a) Xây dựng cây quyết định dựa trên tập dữ liệu.Y và 2 lớp nhãn "+". Cây quyết định thu được có giống với luật của đề bài không? Có 30 positive và 600 negative trong dữ liệu. Bài 18: Cho tập dữ liệu chứa 2 thuộc tính X.confusion matrix của thuộc tính X Tính tỷ lệ lỗi tương ứng với từng giá trị: 22 .2. Số lượng thể hiện X Y 0 0 0 100 1 0 0 0 2 0 0 100 0 1 10 100 1 1 10 0 2 1 10 100 0 2 0 100 1 2 0 0 2 2 0 100 + - Bảng 19: bài 18 ."-". Do đó tại node gốc thì tỷ lệ lỗi chung là: E = 1 . Mỗi thuộc tính có 3 giá trị khác nhau: 0. 1 hoặc 2.

ta được 2 phần như sau: Số lượng thể hiện X Y 0 0 0 100 2 0 0 100 0 1 10 100 2 1 10 100 0 2 0 100 2 2 0 100 + - Bảng 22: bài 18a .phân chia dữ liệu theo Y. nó không thể phân chia thêm vì vậy chúng ta nên chọn Y để phân chia các node không tinh khiết.confusion matrix của thuộc tính Y  Tính tỷ lệ lỗi tương ứng với từng giá trị:  EY=0 =  EY=1 =  EY=2 =  Y = E - =  Vì X > Y chọn X để phân chia thuộc tính nhưng nếu X=1 thì node con là tinh khiết. phần 1 23 . EX=0 =  EX=1 =  EX=2 =  X = E - - 0- =  Xét Y: Y 0 1 2 + 0 30 0 - 200 200 200 Bảng 21: bài 18a .

recall và độ đo F của cây quyết định (các độ đo liên quan đến lớp "+").X = 0: { X = 2: { Số lượng thể hiện X Y 1 0 0 0 1 1 10 0 1 2 0 0 + - Bảng 23: bài 18a .97 =1 = 0.  Lập bảng confusion matrix Lớp dự đoán Mô hình Lớp thật + - + 10 20 - 0 600 Bảng 24: bài 18b .33 = 0.confusion matrix  Tính:  Accuracy = =  Presision = p = =  Recall = r =  F= = = = = = =0. precision.5 c) Xây dựng cây quyết định mới với chi phí được cho như sau: 24 .phân chia dữ liệu theo Y. phần 2 Trong 3 trường hợp cho Y thì node con được gán nhãn là "-". Do đó kết quả là: class = { b) Cho biết độ đo accuracy.

 X = 2 ∧ Y = 0.j) = { (Ghi chú: chỉ có node lá của cây quyết định cũ cần thay đổi). Chỉ X = 0 ∧ Y = 1 và X = 2 ∧ Y = 1 là node không tinh khiết nên chi phí phân loại sai của node này như positive class là: 10 ∗ 0 + 1 ∗ 100 = 100 trong khi chi phí phân loại sai của chúng như negative class là: 10 ∗ 20 + 0 ∗ 100 = 200.  X = 2 ∧ Y = 1.  X = 0 ∧ Y = 1.  X = 0 ∧ Y = 2.  X = 0 ∧ Y = 0. recall và độ đo F của cây quyết định mới. precision. 25 . Cây quyết định mới có giống với luật "+"của đề bài không? Lớp dự đoán Mô hình Lớp thật + - + 0 600/30=20 - 1 0 Bảng 25: bài 18c .C(i.  X = 2 ∧ Y = 2.cost matrix Từ câu a) ta có 7 node lá  X = 1. Kết quả là: class = { d) Cho biết độ đo accuracy.

Cho C(+. Hàm chi phí tối thiểu nào tương đương với độ chính xác lớn nhất của mô hình phân lớp?  Lập bảng confusion matrix Lớp dự đoán Mô hình Lớp thật + - + a b - c d Bảng 27: bài 19a .confusion matrix  Lập bảng cost matrix Lớp dự đoán Mô hình Lớp thật + - + p q - q p 26 .68 = 0. C(+.-) = p .13 =1 = 0.23 19: a) Xem xét cost matrix cho vấn đề 2 lớp. Bài = = = = = =0.-) = C(-.confusion matrix  Tính:  Accuracy = =  Presision = p = =  Recall = r =  F= 3. Lập bảng confusion matrix Lớp dự đoán Mô hình Lớp thật + - + 30 0 - 200 400 Bảng 26: bài 18d .+) = q và q > p.+) = C(-.

j) Bảng 29: bài 19b .+) + p(+|t) C(+.C(-.-) > [1 .C(-.-) + [1 .j) Lớp j C(j.Bảng 28: bài 19a .-) > p(-|t) C(-.-) .+) .C(-.-) .+) + p(+|t) C(+.i) C(i.j)  C(i.p(+|t)] C(-.-)] + C(-.  Cost matrix ban đầu: Lớp dự đoán Lớp thật Lớp i Lớp j Lớp i C(i.q) + q] Bởi vì p .C(++)] > C(-.+)  p(+|t) C(+.j) (với  là số tỷ lệ) thì ngưỡng quyết định cũng sẽ không thay đổi.+) .p(+|t)] C(-.-) > p(+|t)[C(+.-) + p(-|t) C(-.+)  p(+|t) [C(+.+)] + C(-.cost matrix ban đầu  Đặt p(i|t) là xác suất huấn luyện lớp i thuộc về node lá t.cost matrix Ta có: tổng chi phí F = p(a + d) + q(b + c) Mà accuracy = = . Ví dụ: nếu cost matrix được thay đổi tỷ lệ từ C(i. b) Cho biết cost matrix khi tỷ lệ.q là negative nên tổng chi phí tối thiểu của nó tương đương với độ chính xác lớn nhất của mô hình phân lớp.+) .i) C(j.-)  p(+|t) >  Cost matrix biến đổi tỷ lệ: Lớp dự đoán 27 .-) + C(-.+)  p(+|t) [C(+.C(-.N=a+b+c+d  F = N[accuracy(p . Luật quyết định cho vấn đề phân lớp của positive class đến node t nếu thỏa điều kiện ngưỡng sau: p(+|t) > p(-|t) Mà: C(i|t) = ∑ |  p(+|t) C(+.

Lớp thật Lớp i Lớp j Lớp i C(i.i)  + C(i. giá trị thuộc tính được tạo ngẫu nhiên không phân biệt nhãn lớp.i)  + C(j. Hay nói cách khác là thêm 1 yếu tố hằng số trong cost matrix thì sẽ không ảnh hưởng đến ngưỡng quyết định. Bài 20: Xây dựng bộ phân lớp từ dữ liệu ngẫu nhiên.j) Bảng 31: bài 19c .j) một hằng số thì ngưỡng quyết định cũng sẽ không thay đổi.j) thì ngưỡng quyết định cũng sẽ không thay đổi. Phân nửa dữ liệu được sử dụng cho training và nửa còn lại là cho test. c) Cho biết cost matrix khi tịnh tiến.i) C(i.j) Lớp j C(j.i) C(j.  Cost matrix biến đổi tịnh tiến: Lớp dự đoán Lớp thật Lớp i Lớp j Lớp i  + C(i. 4. Giả định là dữ liệu chứa những dòng từ 2 lớp "+" và "-".j) Bảng 30: bài 19b . 28 .j)  C(i.j) Lớp j  + C(j.j) một hằng số tỷ lệ C(i.cost matrix biến đổi tịnh tiến Từ câu a:  p(+|t) > [ [ ] [ ] ] [ ] [ ] [ ] = [ ] Nhận xét: khi ta cộng thêm cho C(i.cost matrix biến đổi tỷ lệ Từ câu a:  p(+|t) >       = Nhận xét: khi ta nhân thêm cho C(i.

 Vì số lượng positive và negative bằng nhau nên tỷ lệ lỗi trên tập dữ liệu test là 50% (chỉ tính tỷ lệ lỗi chung trên tập dữ liệu test nên không phụ thuộc vào xác suất dự đoán postive và negative class của đề bài cho).a) Giả sử số dòng positive và negative trong dữ liệu là như nhau và bộ phân lớp của cây quyết định dự đoán mỗi dòng test là positve.8 và negative class với xác suất 0. Cho biết tỷ lệ lỗi mong đợi của bộ phân lớp trên tập dữ liệu test.2.  Vì số lượng positive và negative bằng nhau nên tỷ lệ lỗi trên tập dữ liệu test là 50% b) Như câu trên nhưng bộ phân lớp dự đoán mỗi dòng test là postive class với xác suất 0. 29 .

2006. Gongping Yang.com. John Langford. Springer. [6] Tom Fawcett: An introduction to ROC analysis. Kluwer Academic Publishers. Yilong Yin. C. ALBERT: InstanceBased Learning Algorithms. Adaptive Systems. Naoki Abe: Cost-Sensitive Learning by Cost-Proportionate ExampleWeighting. 1991. Sheng: Cost-Sensitive Learning and the Class Imbalance Problem. Netherlands. Pearson Education.DENNIS KIBLER. Class Imbalance. [8] Dragos D.TÀI LIỆU THAM KHẢO [1] Pang-Ning-Tan. Robert C. [7] DAVID W. Ghulum Bakiri: Solving Multiclass Learning Problems via Error-Correcting Output Codes. [4] Chris Drummond. USA [9] Bianca Zadrozny. Manufactured. [10] Thomas G. [2] www. Vipin Kumar: Introduction To DataMining. IBM T. J. Sammut (Ed. Holte: C4. 30 . Guangtong Zhou: On the Class Imbalance Problem. 2005. Boston. AI Access Foundation and Morgan Kaufmann Publishers. 1995. Margineantu: Active Cost-Sensitive Learning. and Cost Sensitivity: Why Under-Sampling beats Over-Sampling [5] Charles X. 2008. www. Dietterich.5. The Boeing Company Mathematics & Computing Technology. Victor S. Watson Research Center Yorktown Heights. Encyclopedia of Machine Learning. Cailing Dong. Ling.cs. Inc. IEEE.sciencedirect.). AHA. NY 10598.edu/~hanj (slide) [3] Xinjian Guo.MARC K. Mathematical Sciences Department.uiuc. Michael Steinbach. 2008.

Bibi Zabar and Gary Weiss: Does Cost-Sensitive Learning Beat Sampling for Classifying Rare Classes?. Proceedings of the Seventeenth International Joint Conference on Artificial Intelligence (IJCAI’01). 31 .[11] Charles Elkan: The Foundations of Cost-Sensitive Learning. [12] Kate McCarthy. ACM. 2005. USA.