55
Khai Phá DLiu Nguyn Nht Quang [email protected] Trường Đại hc Bách Khoa Hà Ni Vin Công nghThông tin và Truyn thông Năm hc 2011-2012

Khai Phá Dữ Liệuccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L5-Phan_lop_1.pdfBài toán phân lớp Bài toán phân lớp (Classification) Đối với một tập các ví dụ/bản

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Khai Phá Dữ Liệuccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L5-Phan_lop_1.pdfBài toán phân lớp Bài toán phân lớp (Classification) Đối với một tập các ví dụ/bản

Khai Phá Dữ Liệu

Nguyễn Nhật Quang

[email protected]

Trường Đại học Bách Khoa Hà NộiViện Công nghệ Thông tin và Truyền thông

Năm học 2011-2012

Page 2: Khai Phá Dữ Liệuccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L5-Phan_lop_1.pdfBài toán phân lớp Bài toán phân lớp (Classification) Đối với một tập các ví dụ/bản

Nội dung môn học:

Giới thiệu về Khai phá dữ liệu

ềGiới thiệu về công cụ WEKA

Tiền xử lý dữ liệu

Phát hiện các luật kết hợp

Các kỹ thuật phân lớp và dự đoánCác kỹ thuật phân lớp và dự đoánPhân lớp bằng phương pháp học BayesHọc cây quyết định

Các kỹ thuật phân nhóm

2Khai Phá Dữ Liệu

Page 3: Khai Phá Dữ Liệuccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L5-Phan_lop_1.pdfBài toán phân lớp Bài toán phân lớp (Classification) Đối với một tập các ví dụ/bản

Bài toán phân lớpBài toán phân lớp (Classification)

Đối với một tập các ví dụ/bản ghi (instances/records) – gọi là tập ộ ập ụ g ( ) gọ ậphuấn luyện/học (training/learning set)

Mỗi bản ghi được biểu diễn bằng một tập các thuộc tính, trong đó có một thuộc tính phân lớp (class attribute)ộ ộ p p ( )

Tìm/học một hàm cho thuộc tính phân lớp (hàm phân lớp) đối với các giá trị của các thuộc tính khác

Sử dụng một tập các ví dụ khác với các ví dụ học để kiểm tra độ chính xác của hàm phân lớp học được – gọi là tập kiểm thử (test set)là tập kiểm thử (test set)

Thông thường, tập dữ liệu ban đầu được chia thành 2 tập (không giao nhau): training set (để học hàm phân lớp) và test set (để kiểm thử hàm phân lớp học được)kiểm thử hàm phân lớp học được)

3Khai Phá Dữ Liệu

Page 4: Khai Phá Dữ Liệuccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L5-Phan_lop_1.pdfBài toán phân lớp Bài toán phân lớp (Classification) Đối với một tập các ví dụ/bản

Phân lớp vs. Dự đoánBài toán phân lớp (Classification problem)

H ột hà tiê ó iá t ị ời ( di t l d t tHọc một hàm mục tiêu có giá trị rời rạc (a discrete-valued target function)

Miền giá trị: một tập các nhãn lớp (class labels) xác địn trước

Với mỗi ví dụ cần phân loại, hệ thống xác định nhãn lớp của nó

Bài toán dự đoán/hồi quy (Prediction/regression problem)ự q y ( g p )Học một hàm mục tiêu có giá trị liên tục (a continuous-valued target function)

Miề iá t ị tậ á iá t ị ố th ( l b )Miền giá trị: tập các giá trị số thực (real numbers)

Với mỗi ví dụ cần dự đoán, hệ thống xác định giá trị dự đoán của nó

4Khai Phá Dữ Liệu

Page 5: Khai Phá Dữ Liệuccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L5-Phan_lop_1.pdfBài toán phân lớp Bài toán phân lớp (Classification) Đối với một tập các ví dụ/bản

Học có vs. không có giám sátHọc có giám sát (supervised learning)

Mỗi ví dụ học gồm 2 phần: mô tả (biểu diễn) của ví dụ học vàMỗi ví dụ học gồm 2 phần: mô tả (biểu diễn) của ví dụ học, vànhãn lớp (hoặc giá trị đầu ra mong muốn) của ví dụ học đóBài toán học phân lớp (classification problem)

D train = {(<Biểu diễn của x> <Nhãn lớp của x>)}D_train = {(<Biểu_diễn_của_x>, <Nhãn_lớp_của_x>)}Bài toán học dự đoán/hồi quy (prediction/regression problem)

D_train = {(<Biểu_diễn_của_x>, <Giá_trị_đầu_ra_của_x>)}

Học không có giám sát (unsupervised learning)Mỗi ví dụ học chỉ chứa mô tả (biểu diễn) của ví dụ học đó - màkhông có bất kỳ thông tin nào về nhãn lớp hay giá trị đầu ra mongkhông có bất kỳ thông tin nào về nhãn lớp hay giá trị đầu ra mongmuốn của ví dụ học đóBài toán học phân cụm (Clustering problem)Tập học D train = {(<Biểu diễn của x>)}Tập học D_train = {(<Biểu_diễn_của_x>)}

5Khai Phá Dữ Liệu

Page 6: Khai Phá Dữ Liệuccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L5-Phan_lop_1.pdfBài toán phân lớp Bài toán phân lớp (Classification) Đối với một tập các ví dụ/bản

Các khái niệm cơ bản về xác suấtGiả sử chúng ta có một thí nghiệm (ví dụ: đổ một quân xúc sắc) mà kết quả của nó mang tính ngẫu nhiên (phụ thuộc vào khả năng có thể xảy ra)

Không gian các khả năng S. Tập hợp tất cả các kết quả có thể xảy raVí dụ: S= {1 2 3 4 5 6} đối với thí nghiệm đổ quân xúc sắcVí dụ: S {1,2,3,4,5,6} đối với thí nghiệm đổ quân xúc sắc

Sự kiện E. Một tập con của không gian các khả năngVí dụ: E= {1}: kết quả quân súc xắc đổ ra là 1

ế ắ ổ ốVí dụ: E= {1,3,5}: kết quả quân súc xắc đổ ra là một số lẻ

Không gian các sự kiện W. Không gian (thế giới) mà các kết quả của sự kiện có thể xảy raự ệ y

Ví dụ: W bao gồm tất cả các lần đổ súc xắc

Biến ngẫu nhiên A. Một biến ngẫu nhiên biểu diễn (diễn đạt) một sự kiện và có một mức độ về khả năng xảy ra sự kiện nàykiện, và có một mức độ về khả năng xảy ra sự kiện này

6Khai Phá Dữ Liệu

Page 7: Khai Phá Dữ Liệuccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L5-Phan_lop_1.pdfBài toán phân lớp Bài toán phân lớp (Classification) Đối với một tập các ví dụ/bản

Biểu diễn xác suất

P(A): “Phần của không gian (thế giới) mà trong đó A là đúng”

Không gian sựkiện (không gian( g gcủa tất cả các giátrị có thể xảy racủa A)

Không gian mà trong đó A là

đúng

Không gian mà

[http://www cs cmu edu/~awm/tutorials]

Không gian mà trong đó A là sai

7Khai Phá Dữ Liệu

[http://www.cs.cmu.edu/~awm/tutorials]

Page 8: Khai Phá Dữ Liệuccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L5-Phan_lop_1.pdfBài toán phân lớp Bài toán phân lớp (Classification) Đối với một tập các ví dụ/bản

Các biến ngẫu nhiên BoolMột biến ngẫu nhiên Bool có thể nhận một trong 2 giá trị đúng (true) hoặc sai (false)đúng (true) hoặc sai (false)

Các tiên đề•0 ≤ P(A) ≤ 1•0 ≤ P(A) ≤ 1

•P(true)= 1

•P(false)= 0P(false) 0

•P(A V B)= P(A) + P(B) - P(A ∧ B)

Các hệ quảCác hệ quả •P(not A)≡ P(~A)= 1 - P(A)

•P(A)= P(A ∧ B) + P(A ∧ ~B)P(A) P(A ∧ B) + P(A ∧ B)

8Khai Phá Dữ Liệu

Page 9: Khai Phá Dữ Liệuccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L5-Phan_lop_1.pdfBài toán phân lớp Bài toán phân lớp (Classification) Đối với một tập các ví dụ/bản

Các biến ngẫu nhiên nhiều giá trịMột biến ngẫu nhiên nhiều giá trị có thể nhận một trong số k (>2) giá trị {v1,v2,…,vk}( ) g 1 2 k

jivAvAP ji ≠==∧= if 0)(

P(A=v1 V A=v2 V ... V A=vk) = 1

∑ ===∨∨=∨=i

vAPvAvAvAP 21 )()(

1)( ==∑k

jvAP

∑=

∨∨∨j

ji vAPvAvAvAP1

21 )()...(

1=j

[ ]( ) )(...1

21 j

i

ji vABPvAvAvABP =∧==∨∨=∨=∧ ∑

9Khai Phá Dữ Liệu

[http://www.cs.cmu.edu/~awm/tutorials]1j=

Page 10: Khai Phá Dữ Liệuccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L5-Phan_lop_1.pdfBài toán phân lớp Bài toán phân lớp (Classification) Đối với một tập các ví dụ/bản

Xác suất có điều kiện (1)P(A|B) là phần của không gian (thế giới) mà trong đó Alà đúng, với điều kiện (đã biết) là B đúnglà đúng, với điều kiện (đã biết) là B đúng

Ví dụ

•A: Tôi sẽ đi đá bóng vào ngày mai

•B: Trời sẽ không mưa vào ngày mai

•P(A|B): Xác suất của việc tôi sẽ đi đá bóng vào ngày mai nếu (đã biết rằng) trời sẽ không mưa (vào

à i)ngày mai)

10Khai Phá Dữ Liệu

Page 11: Khai Phá Dữ Liệuccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L5-Phan_lop_1.pdfBài toán phân lớp Bài toán phân lớp (Classification) Đối với một tập các ví dụ/bản

Xác suất có điều kiện (2)

Định nghĩa: ),()|( BAPBAPĐịnh nghĩa:)(

),()|(BP

BAP =

Không gianCác hệ quả: gian mà

trong đó Bđú

ệ q

P(A,B)=P(A|B).P(B)

đúng

Không gian mà trong đó A đúng

P(A|B)+P(~A|B)=1

∑k

)|(g g

∑=

==i

i BvAP1

1)|(

11Khai Phá Dữ Liệu

Page 12: Khai Phá Dữ Liệuccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L5-Phan_lop_1.pdfBài toán phân lớp Bài toán phân lớp (Classification) Đối với một tập các ví dụ/bản

Các biến độc lập về xác suất (1)Hai sự kiện A và B được gọi là độc lập về xác suất nếu xác suất của sự kiện A là như nhau đối với các trường ghợp:

• Khi sự kiện B xảy ra, hoặc • Khi sự kiện B không xảy ra hoặc• Khi sự kiện B không xảy ra, hoặc• Không có thông tin (không biết gì) về việc xảy ra của sự kiện B

Ví dụVí dụ•A: Tôi sẽ đi đá bóng vào ngày mai

•B: Tuấn sẽ tham gia trận đá bóng ngày maig ậ g g y

•P(A|B) = P(A)

→ “Dù Tuấn có tham gia trận đá bóng ngày mai hay không cũng không ả h h ở tới ết đị h ủ tôi ề iệ đi đá bó à i ”ảnh hưởng tới quyết định của tôi về việc đi đá bóng ngày mai.”

12Khai Phá Dữ Liệu

Page 13: Khai Phá Dữ Liệuccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L5-Phan_lop_1.pdfBài toán phân lớp Bài toán phân lớp (Classification) Đối với một tập các ví dụ/bản

Các biến độc lập về xác suất (2)Từ định nghĩa của các biến độc lập về xác suất P(A|B)=P(A), chúng ta thu được các luật như sauP(A|B) P(A), chúng ta thu được các luật như sau

•P(~A|B) = P(~A)

•P(B|A) = P(B)

•P(A,B) = P(A). P(B)

•P(~A,B) = P(~A). P(B)

•P(A,~B) = P(A). P(~B)

•P(~A,~B) = P(~A). P(~B)

13Khai Phá Dữ Liệu

Page 14: Khai Phá Dữ Liệuccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L5-Phan_lop_1.pdfBài toán phân lớp Bài toán phân lớp (Classification) Đối với một tập các ví dụ/bản

Xác suất có điều kiện với >2 biến

P(A|B,C) là xác suất của A đối với (đãbiết) à Cbiết) B và C

Ví dụ

B C

• A: Tôi sẽ đi dạo bờ sông vào sáng mai

• B: Thời tiết sáng mai rất đẹp

C Tôi ẽ dậ ớ à á i

A

P(A|B C)• C: Tôi sẽ dậy sớm vào sáng mai

• P(A|B,C): Xác suất của việc tôi sẽ đi dạodọc bờ sông vào sáng mai, nếu (đã biết rằng)

P(A|B,C)

ọ g g , ( g)thời tiết sáng mai rất đẹp và tôi sẽ dậy sớmvào sáng mai

14Khai Phá Dữ Liệu

Page 15: Khai Phá Dữ Liệuccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L5-Phan_lop_1.pdfBài toán phân lớp Bài toán phân lớp (Classification) Đối với một tập các ví dụ/bản

Độc lập có điều kiệnHai biến A và C được gọi là độc lập có điều kiện đối với biến B, nếu xác suất của A đối với B bằng xác suất của Abiến B, nếu xác suất của A đối với B bằng xác suất của Ađối với B và C

Công thức định nghĩa: P(A|B,C) = P(A|B)g ị g ,

Ví dụ• A: Tôi sẽ đi đá bóng vào ngày mai• B: Trận đá bóng ngày mai sẽ diễn ra trong nhà• C: Ngày mai trời sẽ không mưa• P(A|B,C)=P(A|B)P(A|B,C) P(A|B)

→ Nếu biết rằng trận đấu ngày mai sẽ diễn ra trong nhà, thì xác suất của việc tôi sẽ đi đá bóng ngày mai không phụ thuộc vào thời tiếtvào thời tiết

15Khai Phá Dữ Liệu

Page 16: Khai Phá Dữ Liệuccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L5-Phan_lop_1.pdfBài toán phân lớp Bài toán phân lớp (Classification) Đối với một tập các ví dụ/bản

Các quy tắc quan trọng của xác suấtQuy tắc chuỗi (chain rule)• P(A B) = P(A|B) P(B) = P(B|A) P(A)• P(A,B) = P(A|B).P(B) = P(B|A).P(A)

• P(A|B) = P(A,B)/P(B) = P(B|A).P(A)/P(B)

• P(A,B|C) = P(A,B,C)/P(C) = P(A|B,C).P(B,C)/P(C)P(A,B|C) P(A,B,C)/P(C) P(A|B,C).P(B,C)/P(C)

= P(A|B,C).P(B|C)

Độc lập về xác suất và độc lập có điều kiệnĐộc lập về xác suất và độc lập có điều kiện• P(A|B) = P(A); nếu A và B là độc lập về xác suất

• P(A,B|C) = P(A|C).P(B|C); nếu A và B là độc lập có điềuP(A,B|C) P(A|C).P(B|C); nếu A và B là độc lập có điều kiện đối với C

• P(A1,…,An|C) = P(A1|C)…P(An|C); nếu A1,…,An là độc lập có điều kiện đối với Ccó điều kiện đối với C

16Khai Phá Dữ Liệu

Page 17: Khai Phá Dữ Liệuccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L5-Phan_lop_1.pdfBài toán phân lớp Bài toán phân lớp (Classification) Đối với một tập các ví dụ/bản

Định lý Bayes

)()().|()|(

DPhPhDPDhP =

P(h): Xác suất trước (prior probability) của giả thiết (vd: phân

)(DP

lớp) h

P(D): Xác suất trước của sự kiện tập dữ liệu D được quan sát

ấ ủP(D|h): Xác suất của sự kiện tập dữ liệu D được quan sát, nếu biết rằng giả thiết h là đúng

P(h|D): Xác suất (có điều kiện) của giả thiết h là đúng nếuP(h|D): Xác suất (có điều kiện) của giả thiết h là đúng, nếu biết rằng tập dữ liệu D được quan sát→ Các phương pháp suy diễn dựa trên xác suất sẽ sử

dụng xác suất có điều kiện (posterior probability) này!dụng xác suất có điều kiện (posterior probability) này!

17Khai Phá Dữ Liệu

Page 18: Khai Phá Dữ Liệuccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L5-Phan_lop_1.pdfBài toán phân lớp Bài toán phân lớp (Classification) Đối với một tập các ví dụ/bản

Định lý Bayes – Ví dụ (1)Giả sử chúng ta có tập dữ liệu sau (dự đoán 1 người có chơi tennis)?

Ngày Ngoài trời Nhiệt độ Độ ẩm Gió Chơi tennisNgày Ngoài trời Nhiệt độ Độ ẩm Gió Chơi tennisN1 Nắng Nóng Cao Yếu KhôngN2 Nắng Nóng Cao Mạnh KhôngN3 Â Nó C Yế CóN3 Âm u Nóng Cao Yếu CóN4 Mưa Bình thường Cao Yếu CóN5 Mưa Mát mẻ Bình thường Yếu Có

ẻN6 Mưa Mát mẻ Bình thường Mạnh KhôngN7 Âm u Mát mẻ Bình thường Mạnh CóN8 Nắng Bình thường Cao Yếu Không

ắ ếN9 Nắng Mát mẻ Bình thường Yếu CóN10 Mưa Bình thường Bình thường Yếu CóN11 Nắng Bình thường Bình thường Mạnh Có

18Khai Phá Dữ Liệu

N12 Âm u Bình thường Cao Mạnh Có

[Mitchell, 1997]

Page 19: Khai Phá Dữ Liệuccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L5-Phan_lop_1.pdfBài toán phân lớp Bài toán phân lớp (Classification) Đối với một tập các ví dụ/bản

Định lý Bayes – Ví dụ (2)Giả thiết h: Anh ta chơi tennis

Tập dữ liệu D: Ngoài trời là nắng và Gió là mạnhTập dữ liệu D: Ngoài trời là nắng và Gió là mạnh

Xác suất P(h): Xác suất rằng anh ta chơi tennis (bất kể Ngoài trời như thế nào và Gió ra sao)g )

Xác suất P(D): Xác suất rằng Ngoài trời là nắng và Gió là mạnh

P(D|h): Xác suất rằng Ngoài trời là nắng và Gió là mạnh, nếu biết rằng anh ta chơi tennis

P(h|D): Xác suất rằng anh ta chơi tennis nếu biết rằngP(h|D): Xác suất rằng anh ta chơi tennis, nếu biết rằng Ngoài trời là nắng và Gió là mạnh

Giá trị xác suất có điều kiện này sẽ được dùng để dự đoán xem anh ta có y gchơi tennis hay không?

19Khai Phá Dữ Liệu

Page 20: Khai Phá Dữ Liệuccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L5-Phan_lop_1.pdfBài toán phân lớp Bài toán phân lớp (Classification) Đối với một tập các ví dụ/bản

Cực đại hóa xác suất có điều kiện

Với một tập các giả thiết (các phân lớp) có thể H, hệ thống họcsẽ tìm giả thiết có thể xảy ra nhất (the most probable g y ( phypothesis) h(∈H) đối với các dữ liệu quan sát được D

Giả thiết h này được gọi là giả thiết cực đại hóa xác suất cóđiều kiện (maximum a posteriori – MAP)

)|(maxarg DhPhMAP =Hh∈

)()().|(maxarg

DPhPhDPh

HhMAP

∈= (bởi định lý Bayes)

)(DPHh∈

)().|(maxarg hPhDPhHh

MAP∈

= (P(D) là như nhau đối với các giả thiết h)

20Khai Phá Dữ Liệu

Hh∈ g )

Page 21: Khai Phá Dữ Liệuccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L5-Phan_lop_1.pdfBài toán phân lớp Bài toán phân lớp (Classification) Đối với một tập các ví dụ/bản

MAP – Ví dụTập H bao gồm 2 giả thiết (có thể)• h1: Anh ta chơi tennis1

• h2: Anh ta không chơi tennis

Tính giá trị của 2 xác xuất có điều kiện: P(h1|D), P(h2|D)

Giả thiết có thể nhất hMAP=h1 nếu P(h1|D) ≥ P(h2|D); ngượclại thì hMAP=h2Bởi vì P(D)=P(D h )+P(D h ) là như nhau đối với cả 2 giảBởi vì P(D)=P(D,h1)+P(D,h2) là như nhau đối với cả 2 giảthiết h1 và h2, nên có thể bỏ qua đại lượng P(D)

Vì vậy, cần tính 2 biểu thức: P(D|h1).P(h1) vàậy, ( | 1) ( 1)P(D|h2).P(h2), và đưa ra quyết định tương ứng• Nếu P(D|h1).P(h1) ≥ P(D|h2).P(h2), thì kết luận là anh ta chơi tennis

N l i thì kết l ậ là h t khô h i t i• Ngược lại, thì kết luận là anh ta không chơi tennis

21Khai Phá Dữ Liệu

Page 22: Khai Phá Dữ Liệuccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L5-Phan_lop_1.pdfBài toán phân lớp Bài toán phân lớp (Classification) Đối với một tập các ví dụ/bản

Đánh giá khả năng xảy ra cao nhất

Phương pháp MAP: Với một tập các giả thiết có thể H, cần tìm một giả thiết cực đại hóa giá trị: P(D|h).P(h)ộ g ự ạ g ị ( | ) ( )

Giả sử (assumption) trong phương pháp đánh giá khả năng xảy ra cao nhất (maximum likelihood estimation – MLE): Tất ả á iả thiết đề ó iá t ị á ất t ớ h hTất cả các giả thiết đều có giá trị xác suất trước như nhau: P(hi)=P(hj), ∀hi,hj∈H

Phương pháp MLE tìm giả thiết cực đại hóa giá trị P(D|h); g p p g ự ạ g ị ( | );trong đó P(D|h) được gọi là khả năng xảy ra (likelihood) của dữ liệu D đối với h

Giả thiết đ i hó khả ă ả ( i lik lih dGiả thiết cực đại hóa khả năng xảy ra (maximum likelihood hypothesis) )|(maxarg hDPh

HhMLE

∈=

22Khai Phá Dữ Liệu

Hh∈

Page 23: Khai Phá Dữ Liệuccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L5-Phan_lop_1.pdfBài toán phân lớp Bài toán phân lớp (Classification) Đối với một tập các ví dụ/bản

MLE – Ví dụTập H bao gồm 2 giả thiết có thể• h1: Anh ta chơi tennis• h2: Anh ta không chơi tennisD: Tập dữ liệu (các ngày) mà trong đó thuộc tính Outlook có giá trị Sunny

và thuộc tính Wind có giá trị Strong

Tính 2 giá trị khả năng xảy ra (likelihood values) của dữ liệu Dđối với 2 giả thiết: P(D|h1) và P(D|h2)• P(Ngoài-trời=Nắng Gió=Mạnh | h ) = 1/8• P(Ngoài-trời=Nắng, Gió=Mạnh | h1) = 1/8• P(Ngoài-trời=Nắng, Gió=Mạnh | h2) = 1/4

Giả thiết MLE hMLE=h1 nếu P(D|h1) ≥ P(D|h2); và ngược MLE 1 1 2 g ợlại thì hMLE=h2→ Bởi vì P(Ngoài-trời=Nắng, Gió=Mạnh | h1) < P(Ngoài-trời=Nắng, Gió=Mạnh | h2), hệ thống kết luận rằng: Anh ta sẽ g, ạ | 2), ệ g ậ gkhông chơi tennis!

23Khai Phá Dữ Liệu

Page 24: Khai Phá Dữ Liệuccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L5-Phan_lop_1.pdfBài toán phân lớp Bài toán phân lớp (Classification) Đối với một tập các ví dụ/bản

Phân loại Naïve Bayes (1)Biểu diễn bài toán phân loại (classification problem)

• Một tập học D train trong đó mỗi ví dụ học x được biểu diễn là• Một tập học D_train, trong đó mỗi ví dụ học x được biểu diễn làmột vectơ n chiều: (x1, x2, ..., xn)

• Một tập xác định các nhãn lớp: C={c1, c2, ..., cm}

• Với một ví dụ (mới) z, z sẽ được phân vào lớp nào?

Mục tiêu: Xác định phân lớp có thể (phù hợp) nhất đối với z)|(maxarg zcPc i

CcMAP

i∈=

)|(maxarg 21iMAP zzzcPc = ),...,,|(maxarg 21 niCc

MAP zzzcPci∈

),...,,()().|,...,,(

maxarg21

21

n

iin

CcMAP zzzP

cPczzzPc

i∈= (bởi định lý Bayes)

24Khai Phá Dữ Liệu

),...,,( 21 nCci∈

Page 25: Khai Phá Dữ Liệuccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L5-Phan_lop_1.pdfBài toán phân lớp Bài toán phân lớp (Classification) Đối với một tập các ví dụ/bản

Phân loại Naïve Bayes (2)Để tìm được phân lớp có thể nhất đối với z…

)()|( (P(z z z ) là)().|,...,,(maxarg 21 iinCc

MAP cPczzzPci∈

= (P(z1,z2,...,zn) là như nhau với các lớp)

Giả sử (assumption) trong phương pháp phân loại NaïveGiả sử (assumption) trong phương pháp phân loại Naïve Bayes. Các thuộc tính là độc lập có điều kiện (conditionally independent) đối với các lớp

n

∏=

=n

jijin czPczzzP

121 )|()|,...,,(

Phân loại Naïve Bayes tìm phân lớp có thể nhất đối với zPhân loại Naïve Bayes tìm phân lớp có thể nhất đối với z

∏=∈

=n

jiji

CcNB czPcPc

i 1)|().(maxarg

25Khai Phá Dữ Liệu

j

Page 26: Khai Phá Dữ Liệuccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L5-Phan_lop_1.pdfBài toán phân lớp Bài toán phân lớp (Classification) Đối với một tập các ví dụ/bản

Phân loại Naïve Bayes – Giải thuậtGiai đoạn học (training phase), sử dụng một tập học

Đối với mỗi phân lớp có thể (mỗi nhãn lớp) ci∈C• Tính giá trị xác suất trước: P(ci)• Đối với mỗi giá trị thuộc tính xj, tính giá trị xác suất xảy ra

của giá trị thuộc tính đó đối với một phân lớp ci: P(xj|ci)g ị ộ ộ p p i ( j| i)

Giai đoạn phân lớp (classification phase), đối với một ví dụ mới• Đối với mỗi phân lớp ci∈C, tính giá trị của biểu thức:i g

∏=

n

jiji cxPcP

1

)|().(

• Xác định phân lớp của z là lớp có thể nhất c*

∏∈

=n

ijiCc

cxPcPc1

* )|().(maxarg

26Khai Phá Dữ Liệu

=∈ jCci 1

Page 27: Khai Phá Dữ Liệuccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L5-Phan_lop_1.pdfBài toán phân lớp Bài toán phân lớp (Classification) Đối với một tập các ví dụ/bản

Phân lớp Naïve Bayes – Ví dụ (1)Một sinh viên trẻ với thu nhập trung bình và mức đánh giá tín dụng bình thường sẽ mua một cái máy tính?

Rec. ID Age Income Student Credit_Rating Buy_Computer

1 Young High No Fair No

2 Young High No Excellent No

3 Medium High No Fair Yes

4 Old M di N F i Y4 Old Medium No Fair Yes

5 Old Low Yes Fair Yes

6 Old Low Yes Excellent No

7 Medium Low Yes Excellent Yes7 Medium Low Yes Excellent Yes

8 Young Medium No Fair No

9 Young Low Yes Fair Yes

10 Old Medium Yes Fair Yes

11 Young Medium Yes Excellent Yes

12 Medium Medium No Excellent Yes

13 Medium High Yes Fair Yes

27Khai Phá Dữ Liệu

14 Old Medium No Excellent No

http://www.cs.sunysb.edu/~cse634/lecture_notes/07classification.pdf

Page 28: Khai Phá Dữ Liệuccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L5-Phan_lop_1.pdfBài toán phân lớp Bài toán phân lớp (Classification) Đối với một tập các ví dụ/bản

Phân lớp Naïve Bayes – Ví dụ (2)

Biểu diễn bài toán phân loại•z = (Age=Young Income=Medium Student=Yes Credit Rating=Fair)z (Age Young,Income Medium,Student Yes,Credit_Rating Fair)

• Có 2 phân lớp có thể: c1 (“Mua máy tính”) và c2 (“Không mua máy tính”)

Tính giá trị xác suất trước cho mỗi phân lớp• P(c1) = 9/14

• P(c ) = 5/14• P(c2) = 5/14

Tính giá trị xác suất của mỗi giá trị thuộc tính đối với mỗi phân lớp• P(Age=Young|c1) = 2/9; P(Age=Young|c2) = 3/5( g g| 1) ; ( g g| 2)

• P(Income=Medium|c1) = 4/9; P(Income=Medium|c2) = 2/5

• P(Student=Yes|c1) = 6/9; P(Student=Yes|c2) = 1/5

• P(Credit_Rating=Fair|c1) = 6/9; P(Credit_Rating=Fair|c2) = 2/5

28Khai Phá Dữ Liệu

Page 29: Khai Phá Dữ Liệuccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L5-Phan_lop_1.pdfBài toán phân lớp Bài toán phân lớp (Classification) Đối với một tập các ví dụ/bản

Phân lớp Naïve Bayes – Ví dụ (3)Tính toán xác suất có thể xảy ra (likelihood) của ví dụ z đối với mỗiphân lớp

ố• Đối với phân lớp c1P(z|c1) = P(Age=Young|c1).P(Income=Medium|c1).P(Student=Yes|c1).

P(Credit_Rating=Fair|c1) = (2/9).(4/9).(6/9).(6/9) = 0.044

• Đối với phân lớp c2P(z|c2) = P(Age=Young|c2).P(Income=Medium|c2).P(Student=Yes|c2).

P(Credit_Rating=Fair|c2) = (3/5).(2/5).(1/5).(2/5) = 0.019

Xác định phân lớp có thể nhất (the most probable class)• Đối với phân lớp c1

P(c ) P(z|c ) = (9/14) (0 044) = 0 028P(c1).P(z|c1) = (9/14).(0.044) = 0.028

• Đối với phân lớp c2P(c2).P(z|c2) = (5/14).(0.019) = 0.007

→Kết luận: Anh ta (z) sẽ mua một máy tính!

29Khai Phá Dữ Liệu

Page 30: Khai Phá Dữ Liệuccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L5-Phan_lop_1.pdfBài toán phân lớp Bài toán phân lớp (Classification) Đối với một tập các ví dụ/bản

Phân lớp Naïve Bayes – Vấn đề (1)Nếu không có ví dụ nào gắn với phân lớp ci có giá trị thuộc tính xj…

P(xj|ci)=0 , và vì vậy: 0)|()( =∏n

cxPcP( j| i) , ậy

Giải pháp: Sử dụng phương pháp Bayes để ước lượng P(xj|ci)

0)|().(1

=∏=j

iji cxPcP

)(

• n(ci): số lượng các ví dụ học gắn với phân lớp ci

mcnmpxcn

cxPi

jiij +

+=

)(),(

)|(

( i) ợ g ụ ọ g p p i

• n(ci,xj): số lượng các ví dụ học gắn với phân lớp ci có giá trị thuộctính xj

• p: ước lượng đối với giá trị xác suất P(xj|ci)j

→Các ước lượng đồng mức: p=1/k, với thuộc tính fj có k giá trị có thể• m: một hệ số (trọng số)

→Để bổ sung cho n(ci) các ví dụ thực sự được quan sát với thêmm mẫu ví dụ với ước lượng p

30Khai Phá Dữ Liệu

Page 31: Khai Phá Dữ Liệuccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L5-Phan_lop_1.pdfBài toán phân lớp Bài toán phân lớp (Classification) Đối với một tập các ví dụ/bản

Phân lớp Naïve Bayes – Vấn đề (2)

Giới hạn về độ chính xác trong tính toán của máy tính•P(xj|ci)<1 đối với mọi giá trị thuộc tính xj và phân lớp ciP(xj|ci)<1, đối với mọi giá trị thuộc tính xj và phân lớp ci• Vì vậy, khi số lượng các giá trị thuộc tính là rất lớn, thì:

0)|(lim =⎟⎟⎞

⎜⎜⎛∏

n

ij cxP )|(1

⎟⎠

⎜⎝∏=

∞→j

ijn

Giải pháp: Sử dụng hàm lôgarit cho các giá trị xác suất

⎟⎟⎠

⎞⎜⎜⎝

⎛⎥⎦

⎤⎢⎣

⎡= ∏

=∈

n

jiji

CcNB cxPcPc

i 1

)|().(logmaxarg

⎟⎟⎠

⎞⎜⎜⎝

⎛+= ∑

=∈

n

jiji

CcNB cxPcPc

i 1)|(log)(logmaxarg

31Khai Phá Dữ Liệu

Page 32: Khai Phá Dữ Liệuccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L5-Phan_lop_1.pdfBài toán phân lớp Bài toán phân lớp (Classification) Đối với một tập các ví dụ/bản

Phân loại văn bản bằng NB (1)Biểu diễn bài toán phân loại văn bản

• Tập học D_train, trong đó mỗi ví dụ học là một biểu diễn văn bản gắn với một nhãn lớp: D = {(dk, ci)}

• Một tập các nhãn lớp xác định: C = {ci}

Giai đoạn họcGiai đoạn học• Từ tập các văn bản trong D_train, trích ra tập các từ khóa

(keywords/terms): T = {tj}• Gọi D ci (⊆D train) là tập các văn bản trong D train có nhãn lớp ciGọi D_ci (⊆D_train) là tập các văn bản trong D_train có nhãn lớp ci• Đối với mỗi phân lớp ci

-Tính giá trị xác suất trước của phân lớp ci: DcD

cP ii

_)( =

-Đối với mỗi từ khóa tj, tính xác suất từ khóa tj xuất hiện đối với lớp ci( )

( ) Ttd

tdnctP ik cDd jk

ij +

+=∑ ∑

∑ ∈ _

)(

1),()|(

(n(dk,tj): số lần xuất hiện của từ khóa tj trong văn bản dk)

32Khai Phá Dữ Liệu

( ) Ttdnik mcDd Tt mk

j +∑ ∑∈ ∈_ ),( từ khóa tj trong văn bản dk)

Page 33: Khai Phá Dữ Liệuccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L5-Phan_lop_1.pdfBài toán phân lớp Bài toán phân lớp (Classification) Đối với một tập các ví dụ/bản

Phân loại văn bản bằng NB (2)Để phân lớp cho một văn bản mới dGiai đoạn phân lớpGiai đoạn phân lớp

• Từ văn bản d, trích ra tập T_d gồm các từ khóa (keywords) tj đã được định nghĩa trong tập T (T_d ⊆ T)

Giả ử ( ti ) Xá ất từ khó ất hiệ đối ới lớ• Giả sử (assumption). Xác suất từ khóa tj xuất hiện đối với lớp ci là độc lập đối với vị trí của từ khóa đó trong văn bản

P(tj ở vị trí k|ci) = P(tj ở vị trí m|ci), ∀k,m

• Đối với mỗi phân lớp ci, tính giá trị likelihood của văn bản d đối với ci

∏∈ dTt

iji ctPcP )|().(∈ dTt j _

• Phân lớp văn bản d thuộc vào lớp c*

∏= iji ctPcPc* )|().(maxarg

33Khai Phá Dữ Liệu

∈∈ dTtj

Cc ji _

Page 34: Khai Phá Dữ Liệuccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L5-Phan_lop_1.pdfBài toán phân lớp Bài toán phân lớp (Classification) Đối với một tập các ví dụ/bản

Học cây quyết định – Giới thiệuHọc cây quyết định (Decision tree –DT– learning)

• Để học (xấp xỉ) một hàm mục tiêu có giá trị rời rạc (discrete-• Để học (xấp xỉ) một hàm mục tiêu có giá trị rời rạc (discrete-valued target function) – hàm phân lớp

• Hàm phân lớp được biểu diễn bởi một cây quyết định

Một cây quyết định có thể được biểu diễn (diễn giải) bằng một tập các luật IF-THEN (dễ đọc và dễ hiểu)

H â ết đị h ó thể th hiệ ả ới á dữ liệ óHọc cây quyết định có thể thực hiện ngay cả với các dữ liệu có chứa nhiễu/lỗi (noisy data)

Là một trong các phương pháp học quy nạp (inductive ộ g p g p p ọ q y ạp (learning) được dùng phổ biến nhất

Được áp dụng thành công trong rất nhiều các bài toán ứng d th tếdụng thực tế

34Khai Phá Dữ Liệu

Page 35: Khai Phá Dữ Liệuccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L5-Phan_lop_1.pdfBài toán phân lớp Bài toán phân lớp (Classification) Đối với một tập các ví dụ/bản

Ví dụ về DT: Những tin tức nào mà tôi quan tâm?

is present

“sport”?is absent

“football”?

is present

“player”?

is present is absentis absent

is absent

InterestedUninterestedInterested “goal”?

is present

Interested Uninterested

• (…,“sport”,…,“player”,…) → Interested

• (…,“goal”,…) → Interested

• ( “sport” ) → Uninterested• (…, sport ,…) → Uninterested

Khai Phá Dữ Liệu

Page 36: Khai Phá Dữ Liệuccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L5-Phan_lop_1.pdfBài toán phân lớp Bài toán phân lớp (Classification) Đối với một tập các ví dụ/bản

Ví dụ về DT: Một người có chơi tennis không?

Sunny

Outlook=?

RainOvercast

Wind=?

Strong

Humidity=?

High WeakNormal

Yes

YesNo Yes No

• (Outlook=Overcast, Temperature=Hot, Humidity=High, Wind=Weak) → Yes

• (Outlook=Rain, Temperature=Mild, Humidity=High, Wind=Strong)(O a , p d, y g , St o g)→ No

• (Outlook=Sunny, Temperature=Hot, Humidity=High, Wind=Strong)→ No

36

→ No

Khai Phá Dữ Liệu

Page 37: Khai Phá Dữ Liệuccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L5-Phan_lop_1.pdfBài toán phân lớp Bài toán phân lớp (Classification) Đối với một tập các ví dụ/bản

Biểu diễn cây quyết định (1)Mỗi nút trong (internal node) biểu diễn một thuộc tính cần kiểm tra giá trị (an attribute to be tested) đối với các ví dụkiểm tra giá trị (an attribute to be tested) đối với các ví dụ

Mỗi nhánh (branch) từ một nút sẽ tương ứng với một giá trị có thể của thuộc tính gắn với nút đótrị có thể của thuộc tính gắn với nút đó

Mỗi nút lá (leaf node) biểu diễn một phân lớp (aclassification))

Một cây quyết định học được sẽ phân lớp đối với một ví dụ, bằng cách duyệt cây từ nút gốc đến một nút láụ, g yệ y g ộ→ Nhãn lớp gắn với nút lá đó sẽ được gán cho ví dụ cần phân lớp

37Khai Phá Dữ Liệu

Page 38: Khai Phá Dữ Liệuccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L5-Phan_lop_1.pdfBài toán phân lớp Bài toán phân lớp (Classification) Đối với một tập các ví dụ/bản

Biểu diễn cây quyết định (2)Một cây quyết định biểu diễn một phép tuyển (disjunction) của các kết hợp (conjunctions) của các ràng buộc đối vớicủa các kết hợp (conjunctions) của các ràng buộc đối với các giá trị thuộc tính của các ví dụ

Mỗi đường đi (path) từ nút gốc đến một nút lá sẽ tươngMỗi đường đi (path) từ nút gốc đến một nút lá sẽ tương ứng với một kết hợp (conjunction) của các kiểm tra giá trị thuộc tính (attribute tests)

Cây quyết định (bản thân nó) chính là một phép tuyển (disjunction) của các kết hợp (conjunctions) này

Các ví dụ→ Hãy xét 2 cây quyết định đã nêu ở trước…

38Khai Phá Dữ Liệu

Page 39: Khai Phá Dữ Liệuccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L5-Phan_lop_1.pdfBài toán phân lớp Bài toán phân lớp (Classification) Đối với một tập các ví dụ/bản

Những tin tức nào mà tôi quan tâm?

is present

“sport”?is absent

“football”?

is present

“player”?

is present is absentis absent

is absent

InterestedUninterestedInterested “goal”?

is present

Interested Uninterested

[(“sport” is present) ∧ (“player” is present)] ∨[( spo t s p ese t) ( p aye s p ese t)]

[(“sport” is absent) ∧ (“football” is present)] ∨

[(“sport” is absent) ∧ (“football” is absent) ∧ (“goal” is present)]

39

[( sport is absent) ∧ ( football is absent) ∧ ( goal is present)]

Khai Phá Dữ Liệu

Page 40: Khai Phá Dữ Liệuccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L5-Phan_lop_1.pdfBài toán phân lớp Bài toán phân lớp (Classification) Đối với một tập các ví dụ/bản

Một người có chơi tennis không?

Sunny

Outlook=?

RainOvercast

Wind=?

Strong

Humidity=?

High WeakNormal

Overcast

Yes

YesNo

Normal

Yes No

[(Outlook=Sunny) ∧ (Humidity=Normal)] ∨

(Outlook=Overcast) ∨(Outlook Overcast) ∨

[(Outlook=Rain) ∧ (Wind=Weak)]

40Khai Phá Dữ Liệu

Page 41: Khai Phá Dữ Liệuccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L5-Phan_lop_1.pdfBài toán phân lớp Bài toán phân lớp (Classification) Đối với một tập các ví dụ/bản

Giải thuật ID3 – Ý tưởngThực hiện quá trình tìm kiếm greedy search đối với không gian các cây quyết định có thể

Xây dựng (học) một cây quyết định theo chiến lược top-down, bắt đầu từ nút gốc

Ở mỗi nút thuộc tính kiểm tra (test attribute) là thuộc tính có khả năngỞ mỗi nút, thuộc tính kiểm tra (test attribute) là thuộc tính có khả năng phân loại tốt nhất đối với các ví dụ học gắn với nút đó

Tạo mới một cây con (sub-tree) của nút hiện tại cho mỗi giá trị có thể của thuộc tính kiểm tra và tập học sẽ được tách ra (thành các tập con)của thuộc tính kiểm tra, và tập học sẽ được tách ra (thành các tập con) tương ứng với cây con vừa tạo

Mỗi thuộc tính chỉ được phép xuất hiện tối đa 1 lần đối với bất kỳ một đ ờ đi à t âđường đi nào trong cây

Quá trình phát triển (học) cây quyết định sẽ tiếp tục cho đến khi…• Cây quyết định phân loại hoàn toàn (perfectly classifies) các ví dụ học, hoặc• Tất cả các thuộc tính đã được sử dụng

41Khai Phá Dữ Liệu

Page 42: Khai Phá Dữ Liệuccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L5-Phan_lop_1.pdfBài toán phân lớp Bài toán phân lớp (Classification) Đối với một tập các ví dụ/bản

Giải thuật ID3ID3_alg(Training_Set, Class_Labels, Attributes)Create a node Root for the treeIf ll i t i i i h th l l b l R t th t f thIf all instances in Training_Set have the same class label c, Return the tree of the

single-node Root associated with class label cIf the set Attributes is empty, Return the tree of the single-node Root associated with

class label ≡ Majority_Class_Label(Training_Set)

A← The attribute in Attributes that “best” classifies Training_SetThe test attribute for node Root← AFor each possible value v of attribute A

Add t b h d di t th t t “ l f tt ib t i ”Add a new tree branch under Root, corresponding to the test: “value of attribute A is v”Compute Training_Setv = {instance x | x ⊆ Training_Set, xA=v}If (Training_Setv is empty) Then

Create a leaf node with class label ≡ Majority Class Label(Training Set)Create a leaf node with class label Majority_Class_Label(Training_Set)Attach the leaf node to the new branch

Else Attach to the new branch the sub-tree ID3_alg(Training_Setv, Class_Labels, {Attributes \ A})

R t

42Khai Phá Dữ Liệu

Return Root

Page 43: Khai Phá Dữ Liệuccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L5-Phan_lop_1.pdfBài toán phân lớp Bài toán phân lớp (Classification) Đối với một tập các ví dụ/bản

Lựa chọn thuộc tính kiểm traRất quan trọng: tại mỗi nút, chọn thuộc tính kiểm tra như thế nào?Chọn thuộc tính quan trọng nhất cho việc phân lớp các ví dụ học gắnọ ộ q ọ g ệ p p ụ ọ gvới nút đóLàm thế nào để đánh giá khả năng của một thuộc tính đối với việcphân tách các ví dụ học theo nhãn lớp của chúng?p ụ ọ p g

→ Sử dụng một đánh giá thống kê – Information Gain

Ví dụ: Xét bài toán phân lớp có 2 lớp (c1, c2)→ Thuộc tính nào A hay A nên được chọn là thuộc tính kiểm tra?→ Thuộc tính nào, A1 hay A2, nên được chọn là thuộc tính kiểm tra?

A1=? (c1: 35, c2: 25) A2=? (c1: 35, c2: 25)

v12v11 v13

c1: 21: 9

c1: 5: 5

c1: 9: 11

v21 v22

c1: 8: 19

c1: 27: 6

43Khai Phá Dữ Liệu

c2: 9 c2: 5 c2: 11 c2: 19c2: 6

Page 44: Khai Phá Dữ Liệuccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L5-Phan_lop_1.pdfBài toán phân lớp Bài toán phân lớp (Classification) Đối với một tập các ví dụ/bản

EntropyMột đánh giá thường được sử dụng trong lĩnh vực Information TheoryĐể đánh giá mức độ hỗn tạp (impurity/inhomogeneity) của một tậpg ộ ạp ( p y g y) ộ ậpEntropy của tập S đối với việc phân lớp có c lớp

∑−=c

ii ppSEntropy 2log.)(=i 1

trong đó pi là tỷ lệ các ví dụ trong tập S thuộc vào lớp i, và 0.log20=0

Entropy của tập S đối với việc phân lớp có 2 lớppy ập ệ p p pEntropy(S) = -p1.log2p1 – p2.log2p2

Ý nghĩa của entropy trong lĩnh vực Information Theory→ Entropy của tập S chỉ ra số lượng bits cần thiết để mã hóa lớp của một

phần tử được lấy ra ngẫu nhiên từ tập S

44Khai Phá Dữ Liệu

Page 45: Khai Phá Dữ Liệuccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L5-Phan_lop_1.pdfBài toán phân lớp Bài toán phân lớp (Classification) Đối với một tập các ví dụ/bản

Entropy – Ví dụ với 2 lớp

S gồm 14 ví dụ, trong đó 9 ví dụ thuộc về lớp c1và 5 ví dụ thuộc về lớp c 1và 5 ví dụ thuộc về lớp c2

Entropy của tập S đối với phân lớp có 2 lớp:Entropy(S) = -(9/14).log2(9/14)-

0.5

tropy

(S)

2

(5/14).log2(5/14) ≈ 0.94

Entropy =0, nếu tất cả các ví dụ thuộc cùng một lớp (c hoặc c )

00.5 1

En

p1lớp (c1 hoặc c2) p1

Entropy =1, số lượng các ví dụ thuộc về lớp c1 bằng số lượng các ví dụ thuộc về lớp c2dụ thuộc về lớp c2

Entropy = một giá trị trong khoảng (0,1), nếu như số lượng các ví dụ thuộc về lớp c1 khác với số lượng các ví dụ thuộc về lớp c2

45Khai Phá Dữ Liệu

Page 46: Khai Phá Dữ Liệuccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L5-Phan_lop_1.pdfBài toán phân lớp Bài toán phân lớp (Classification) Đối với một tập các ví dụ/bản

Information GainInformation Gain của một thuộc tính đối với một tập các ví dụ:• Mức độ giảm về Entropy

ở ủ• Bởi việc phân chia (partitioning) các ví dụ theo các giá trị của thuộc tính đó

Information Gain của thuộc tính A đối với tập S

|| S )(||||)(),(

)(v

AValuesv

v SEntropySSSEntropyASGain ∑

−=

trong đó Values(A) là tập các giá trị có thể của thuộc tính A, vàSv = {x | x∈S, xA=v}

Trong công thức trên, thành phần thứ 2 thể hiện giá trị Entropy sau khi tập S được phân chia bởi các giá trị của thuộc tính Asau khi tập S được phân chia bởi các giá trị của thuộc tính A

Ý nghĩa của Gain(S,A): Số lượng bits giảm được (reduced) đối với việc mã hóa lớp của một phần tử được lấy ra ngẫu

ế

46Khai Phá Dữ Liệu

nhiên từ tập S, khi biết giá trị của thuộc tính A

Page 47: Khai Phá Dữ Liệuccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L5-Phan_lop_1.pdfBài toán phân lớp Bài toán phân lớp (Classification) Đối với một tập các ví dụ/bản

Tập các ví dụ họcXét tập dữ liệu S ghi lại những ngày mà một người chơi (không chơi) tennis:

Day Outlook Temperature Humidity Wind Play TennisD1 Sunny Hot High Weak No

D2 Sunny Hot High Strong No

D3 Overcast Hot High Weak Yes

D4 R i Mild Hi h W k YD4 Rain Mild High Weak Yes

D5 Rain Cool Normal Weak Yes

D6 Rain Cool Normal Strong No

D7 Overcast Cool Normal Strong YesD7 Overcast Cool Normal Strong Yes

D8 Sunny Mild High Weak No

D9 Sunny Cool Normal Weak Yes

D10 Rain Mild Normal Weak Yes

YesStrongHighMildOvercastD12

YesWeakNormalHotOvercastD13

D11 Sunny Mild Normal Strong Yes

47Khai Phá Dữ Liệu

D14 Rain Mild High Strong No

[Mitchell, 1997]

Page 48: Khai Phá Dữ Liệuccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L5-Phan_lop_1.pdfBài toán phân lớp Bài toán phân lớp (Classification) Đối với một tập các ví dụ/bản

Information Gain – Ví dụHãy tính giá trị Information Gain của thuộc tính Wind đối với tập học S– Gain(S,Wind)?

Thuộc tính Wind có 2 giá trị có thể: Weak và Strong

S = {9 ví dụ lớp Yes và 5 ví dụ lớp No}

Sweak = {6 ví dụ lớp Yes và 2 ví dụ lớp No có giá trị Wind=Weak}

Sstrong = {3 ví dụ lớp Yes và 3 ví dụ lớp No có giá trị Wind=Strong}

∑∈

−=},{

)(||||)(),(

StrongWeakvv

v SEntropySSSEntropyWindSGain

)().14/6()().14/8()( StrongWeak SEntropySEntropySEntropy −−=

048.0)1).(14/6()81.0).(14/8(94.0 =−−=

48Khai Phá Dữ Liệu

048.0)1).(14/6()81.0).(14/8(94.0

Page 49: Khai Phá Dữ Liệuccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L5-Phan_lop_1.pdfBài toán phân lớp Bài toán phân lớp (Classification) Đối với một tập các ví dụ/bản

Học cây quyết định – Ví dụ (1)Tại nút gốc, thuộc tính nào trong số {Outlook, Temperature, Humidity, Wind} nên được chọn là thuộc tính kiểm tra?y, } ợ ọ ộ

• Gain(S, Outlook) = ... = 0.246• Gain(S, Temperature) = ... = 0.029• Gain(S Humidity) = = 0 151Gain(S, Humidity) = ... = 0.151• Gain(S, Wind) = ... = 0.048

→Vì vậy, Outlook được chọn là thuộc tính kiểm tra cho nút gốc!

Outlook=?

OvercastSunny Rain

S={9+, 5-}

Node1

Overcast

SS ={2+ 3-} SOvercast={4+, 0-} SR i ={3+ 2-}

Yes Node2

49Khai Phá Dữ Liệu

SSunny={2+, 3-} Overcast { } SRain={3+, 2-}

Page 50: Khai Phá Dữ Liệuccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L5-Phan_lop_1.pdfBài toán phân lớp Bài toán phân lớp (Classification) Đối với một tập các ví dụ/bản

Học cây quyết định – Ví dụ (2)Tại nút Node1, thuộc tính nàotrong số {Temperature,

idi i d} ê đOutlook=? S={9+, 5-}

Humidity, Wind} nên đượcchọn là thuộc tính kiểm tra?Lưu ý! Thuộc tính Outlook bịloại ra bởi ì nó đã đ ợc sử H idit ?

OvercastSunny

RainSSunny= {2+, 3-}

Yes Node2loại ra, bởi vì nó đã được sửdụng bởi cha của nút Node1 (lànút gốc)

• Gain(S Temperature) = =

Humidity=?SOvercast={4+, 0-} SRain=

{3+, 2-}

Yes Node2

High Normal• Gain(SSunny, Temperature) =...= 0.57

• Gain(SSunny, Humidity) = ... = 0.97• Gain(SSunny, Wind) = ... = 0.019

Node3 Node4

S S

High Normal

Gain(SSunny, Wind) ... 0.019

→Vì vậy, Humidity được chọnlà thuộc tính kiểm tra cho nút

SHigh= {0+, 3-}

SNormal= {2+, 0-}

50Khai Phá Dữ Liệu

Node1!

Page 51: Khai Phá Dữ Liệuccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L5-Phan_lop_1.pdfBài toán phân lớp Bài toán phân lớp (Classification) Đối với một tập các ví dụ/bản

Học cây quyết định – Chiến lược tìm kiếm (1)

ID3 tìm kiếm trong không gian các giả thiết (các cây quyết định có thể) một cây quyết định phù hợp (fits) cácquyết định có thể) một cây quyết định phù hợp (fits) các ví dụ học

ID3 thực hiện chiến lược tìm kiếm từ đơn giản đến phứcID3 thực hiện chiến lược tìm kiếm từ đơn giản đến phức tạp, bắt đầu với cây rỗng (empty tree)

Quá trình tìm kiếm của ID3 được điều khiển bởi độ đo ợ ộđánh giá Information Gain

ID3 chỉ tìm kiếm một (chứ không phải tất cả các) cây ( g p ) yquyết định phù hợp với các ví dụ học

51Khai Phá Dữ Liệu

Page 52: Khai Phá Dữ Liệuccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L5-Phan_lop_1.pdfBài toán phân lớp Bài toán phân lớp (Classification) Đối với một tập các ví dụ/bản

Học cây quyết định – Chiến lược tìm kiếm (2)

Trong quá trình tìm kiếm, ID3 không thực hiện quay lui (not backtrack)(not backtrack)→Chỉ đảm bảo tìm được lời giải tối ưu cục bộ (locally optimal

solution) – chứ không đảm bảo tìm được lời giải tối ưu tổng thể (globally optimal solution)(globally optimal solution)

→Một khi một thuộc tính được chọn là thuộc tính kiểm tra cho một nút, thì ID3 không bao giờ cân nhắc lại (backtracks to

id ) l h àreconsider) lựa chọn này

Ở mỗi bước trong quá trình tìm kiếm, ID3 sử dụng một đánh giá thống kê (Information Gain) để cải thiện giả thiết hiện tạigiá thống kê (Information Gain) để cải thiện giả thiết hiện tại→Nhờ vậy, quá trình tìm kiếm (lời giải) ít bị ảnh hưởng bởi các lỗi

(nếu có) của một số ít ví dụ học

52Khai Phá Dữ Liệu

Page 53: Khai Phá Dữ Liệuccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L5-Phan_lop_1.pdfBài toán phân lớp Bài toán phân lớp (Classification) Đối với một tập các ví dụ/bản

Ưu tiên trong học cây quyết định (1)Cả 2 cây quyết định dưới đây đều phù hợp với tập học đã cho

Vậy thì cây quyết định nào sẽ được ưu tiên (được học) bởiVậy thì, cây quyết định nào sẽ được ưu tiên (được học) bởigiải thuật ID3?

O tl k ?

Sunny

Outlook=?

RainOvercast

Y

Sunny

Outlook=?

i

RainOvercast

Y

Weak

Wind=?

Strong

YesNo

Humidity=?

High Normal

Yes No

Yes Wind=?

Strong

YesNo

Temperature=?

Hot WeakMild

Yes No

Yes

Cool

Humidity=?YesNo Yes No YesNo Yes NoHumidity=?

High

Yes

Normal

No

53Khai Phá Dữ Liệu

Page 54: Khai Phá Dữ Liệuccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L5-Phan_lop_1.pdfBài toán phân lớp Bài toán phân lớp (Classification) Đối với một tập các ví dụ/bản

Ưu tiên trong học cây quyết định (2)Đối với một tập các ví dụ học, có thể tồn tại nhiều (hơn 1) cây quyết định phù hợp với các ví dụ học nàycây quyết định phù hợp với các ví dụ học này

Cây quyết định nào (trong số đó) được chọn?

ID3 h â ết đị h hù h đầ tiê tì thấ tID3 chọn cây quyết định phù hợp đầu tiên tìm thấy trong quá trình tìm kiếm của nó→Lưu ý là trong quá trình tìm kiếm, giải thuật ID3 không bao giờ

cân nhắc lại các lựa chọn trước đó (without backtracking)

Chiến lược tìm kiếm của giải thuật ID3Ư tiê á â ết đị h đ iả (ít ứ độ â )• Ưu tiên các cây quyết định đơn giản (ít mức độ sâu)

• Ưu tiên các cây quyết định trong đó một thuộc tính có giá trị Information Gain càng lớn thì sẽ là thuộc tính kiểm tra của một

ầ ốnút càng gần nút gốc

54Khai Phá Dữ Liệu

Page 55: Khai Phá Dữ Liệuccs1.hnue.edu.vn/hungtd/DM2012/NhatQuang/L5-Phan_lop_1.pdfBài toán phân lớp Bài toán phân lớp (Classification) Đối với một tập các ví dụ/bản

Các vấn đề trong học cây quyết địnhCây quyết định học được quá phù hợp (over-fit) với các ví dụ họcví dụ học

Xử lý các thuộc tính có kiểu giá trị liên tục (kiểu số thực)

Cá đá h iá hù h h (tốt h I f ti G i ) đốiCác đánh giá phù hợp hơn (tốt hơn Information Gain) đối với việc xác định thuộc tính kiểm tra cho một nút

Xử lý các ví dụ học thiếu giá trị thuộc tính (missing valueXử lý các ví dụ học thiếu giá trị thuộc tính (missing-value attributes)

Xử lý các thuộc tính có chi phí (cost) khác nhauXử lý các thuộc tính có chi phí (cost) khác nhau

→ Cải tiến của giải thuật ID3 với tất cả các vấn đề nêu trên được giải quyết: giải thuật C4 5được giải quyết: giải thuật C4.5

55Khai Phá Dữ Liệu