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ệuccs.hnue.edu.vn/hungtd/DM2012/NhatQuang/L5-Phan_lop_1.pdf · 2019. 3. 3. · Khai Phá Dữ Liệu Nguyễn Nhật Quang [email protected] Trường

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

  • 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

  • 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

  • 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

  • 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

  • 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 = {( )}D_train = {(, )}Bài toán học dự đoán/hồi quy (prediction/regression problem)

    D_train = {(, )}

    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 = {()}Tập học D_train = {()}

    5Khai Phá Dữ Liệu

  • 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

  • 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]

  • 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

  • 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=

  • 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

  • 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

  • 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

  • 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

  • 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

  • Độ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

  • 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

  • Đị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

  • Đị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]

  • Đị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

  • 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 )

  • 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

  • Đá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∈

  • 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

  • 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∈

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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ộc

    tí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

  • 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)

  • 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( )

    ( ) Ttdtdn

    ctP ik cDdjk

    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)

  • 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 _

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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]

  • 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

  • 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-}

  • 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!

  • 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

  • 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

  • Ư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

  • Ư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

  • 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