chương 4: phân loại dữ liệu · nhánh tạimột node, i.e. phân hoạch tậphuấn...

56
1 Ch Ch ươ ươ ng ng 4: 4: Phân Phân loi loi ddliu liu Khoa Khoa Khoa Khoa Hc Hc & & KKThut Thut Máy Máy Tính Tính Tr Tr ư ư ng ng Đ Đ i i Hc Hc Bách Bách Khoa Khoa Tp Tp . . HHChí Chí Minh Minh Hc k1 – 2011-2012 Cao Cao Hc Hc Ngành Ngành Khoa Khoa Hc Hc Máy Máy Tính Tính Giáo Giáo trình trình đ đ in in ttBiên Biên son son bi bi : TS. : TS. ThThNgc Ngc Châu Châu ( ( [email protected] [email protected] ) )

Upload: others

Post on 27-Oct-2019

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Chương 4: Phân loại dữ liệu · nhánh tạimột node, i.e. phân hoạch tậphuấn luyện D thành các phân hoạch con vớicácnhãn phù hợp Xếphạng mỗithuộctính

1

1

ChChươươngng 4: 4: PhânPhân loạiloại dữdữ liệuliệu

KhoaKhoa KhoaKhoa HọcHọc & & KỹKỹ ThuậtThuật MáyMáy TínhTínhTrTrưườngờng ĐĐạiại HọcHọc BáchBách KhoaKhoa TpTp. . HồHồ ChíChí MinhMinh

Học kỳ 1 – 2011-2012

CaoCao HọcHọc NgànhNgành KhoaKhoa HọcHọc MáyMáy TínhTính

GiáoGiáo trìnhtrình đđiệniện tửtử

BiênBiên soạnsoạn bởibởi: TS. : TS. VõVõ ThịThị NgọcNgọc ChâuChâu

(([email protected]@cse.hcmut.edu.vn))

Page 2: Chương 4: Phân loại dữ liệu · nhánh tạimột node, i.e. phân hoạch tậphuấn luyện D thành các phân hoạch con vớicácnhãn phù hợp Xếphạng mỗithuộctính

2

2

Tài liệu tham khảo[1] Jiawei Han, Micheline Kamber, “Data Mining: Concepts and Techniques”, Second Edition, Morgan Kaufmann Publishers, 2006.[2] David Hand, Heikki Mannila, Padhraic Smyth, “Principles of Data Mining”, MIT Press, 2001.[3] David L. Olson, Dursun Delen, “Advanced Data Mining Techniques”, Springer-Verlag, 2008.[4] Graham J. Williams, Simeon J. Simoff, “Data Mining: Theory, Methodology, Techniques, and Applications”, Springer-Verlag, 2006.[5] Hillol Kargupta, Jiawei Han, Philip S. Yu, Rajeev Motwani, and Vipin Kumar, “Next Generation of Data Mining”, Taylor & Francis Group, LLC, 2009.[6] Daniel T. Larose, “Data mining methods and models”, John Wiley & Sons, Inc, 2006.[7] Ian H.Witten, Eibe Frank, “Data mining : practical machine learning tools and techniques”, Second Edition, Elsevier Inc, 2005. [8] Florent Messeglia, Pascal Poncelet & Maguelonne Teisseire, “Successes and new directions in data mining”, IGI Global, 2008.[9] Oded Maimon, Lior Rokach, “Data Mining and Knowledge Discovery Handbook”, Second Edition, Springer Science + BusinessMedia, LLC 2005, 2010.

Page 3: Chương 4: Phân loại dữ liệu · nhánh tạimột node, i.e. phân hoạch tậphuấn luyện D thành các phân hoạch con vớicácnhãn phù hợp Xếphạng mỗithuộctính

3

3

Nội dungChương 1: Tổng quan về khai phá dữ liệuChương 2: Các vấn đề tiền xử lý dữ liệuChương 3: Hồi qui dữ liệuChương 4: Phân loại dữ liệuChương 5: Gom cụm dữ liệuChương 6: Luật kết hợpChương 7: Khai phá dữ liệu và công nghệ cơ sởdữ liệuChương 8: Ứng dụng khai phá dữ liệuChương 9: Các đề tài nghiên cứu trong khai phádữ liệuChương 10: Ôn tập

Page 4: Chương 4: Phân loại dữ liệu · nhánh tạimột node, i.e. phân hoạch tậphuấn luyện D thành các phân hoạch con vớicácnhãn phù hợp Xếphạng mỗithuộctính

4

4

Chương 4: Phân loại dữ liệu

4.1. Tổng quan về phân loại dữ liệu

4.2. Phân loại dữ liệu với cây quyết định

4.3. Phân loại dữ liệu với mạng Bayesian

4.4. Phân loại dữ liệu với mạng Neural

4.5. Các phương pháp phân loại dữ liệukhác

4.6. Tóm tắt

Page 5: Chương 4: Phân loại dữ liệu · nhánh tạimột node, i.e. phân hoạch tậphuấn luyện D thành các phân hoạch con vớicácnhãn phù hợp Xếphạng mỗithuộctính

5

5

4.0. Tình huống 1

Tid Refund Marital Status

Taxable Income Evade

1 Yes Single 125K No

2 No Married 100K No

3 No Single 70K No

4 Yes Married 120K No

5 No Divorced 95K Yes

6 No Married 60K No

7 Yes Divorced 220K No

8 No Single 85K Yes

9 No Married 75K No

10 No Single 90K Yes 10

Ông A (Tid = 100) có khả năng trốn thuế???

Page 6: Chương 4: Phân loại dữ liệu · nhánh tạimột node, i.e. phân hoạch tậphuấn luyện D thành các phân hoạch con vớicácnhãn phù hợp Xếphạng mỗithuộctính

6

6

4.0. Tình huống 2

Với thông tin của một applicant A, xác định liệu ngân hàngcó cho A vay không?

Page 7: Chương 4: Phân loại dữ liệu · nhánh tạimột node, i.e. phân hoạch tậphuấn luyện D thành các phân hoạch con vớicácnhãn phù hợp Xếphạng mỗithuộctính

7

7

4.0. Tình huống 3

Không…3.02.0472008

………………

Không…4.55.5822007

Có…7.59.5242006

Có…6.07.0902005

Không…3.55.582004

14

3

2

1

MãSV

……………

Có…5.55.02004

Không…2.54.02004

Có…8.06.52004

Có…8.59.02004

TốtNghiệp…MônHọc2MônHọc1Khóa

Làm sao xác định liệu sinhviên A sẽ tốt nghiệp?

Page 8: Chương 4: Phân loại dữ liệu · nhánh tạimột node, i.e. phân hoạch tậphuấn luyện D thành các phân hoạch con vớicácnhãn phù hợp Xếphạng mỗithuộctính

8

8

4.0. Tình huống …

Cho trước tập huấn luyện (training set), dẫn ra mô tả về class A và class B?

Cho trước mẫu/đối tượng mới, làm sao xác định class cho mẫu/đối tượng đó?

Liệu class đó có thực sự phù hợp/đúng cho mẫu/đối tượng đó?

Page 9: Chương 4: Phân loại dữ liệu · nhánh tạimột node, i.e. phân hoạch tậphuấn luyện D thành các phân hoạch con vớicácnhãn phù hợp Xếphạng mỗithuộctính

9

9

ChChươươngng 4: 4: PhânPhân loạiloại dữdữ liệuliệu

Phần 1

Page 10: Chương 4: Phân loại dữ liệu · nhánh tạimột node, i.e. phân hoạch tậphuấn luyện D thành các phân hoạch con vớicácnhãn phù hợp Xếphạng mỗithuộctính

10

10

Nội dung

4.1. Tổng quan về phân loại dữ liệu

4.2. Phân loại dữ liệu với cây quyết định

4.3. Phân loại dữ liệu với mạng Bayesian

4.4. Phân loại dữ liệu với mạng Neural

Tóm tắt phần 1

Page 11: Chương 4: Phân loại dữ liệu · nhánh tạimột node, i.e. phân hoạch tậphuấn luyện D thành các phân hoạch con vớicácnhãn phù hợp Xếphạng mỗithuộctính

11

11

4.1. Tổng quan về phân loại dữ liệuPhân loại dữ liệu (classification)

Dạng phân tích dữ liệu nhằm rút trích các môhình mô tả các lớp dữ liệu hoặc dự đoán xuhướng dữ liệu

Quá trình gồm hai bước:Bước học (giai đoạn huấn luyện): xây dựng bộ phânloại (classifier) bằng việc phân tích/học tập huấn luyện

Bước phân loại (classification): phân loại dữ liệu/đốitượng mới nếu độ chính xác của bộ phân loại đượcđánh giá là có thể chấp nhận được (acceptable)

y = f (X) với y là nhãn (phần mô tả) của một lớp (class) và X là dữ liệu/đối tượng- Bước học: X trong tập huấn luyện, một trị y được cho trước với X xác định f- Bước phân loại: đánh giá f với (X’, y’) và X’ <> mọi X trong tập huấn luyện; nếuacceptable thì dùng f để xác định y’’ cho X’’ (mới)

Page 12: Chương 4: Phân loại dữ liệu · nhánh tạimột node, i.e. phân hoạch tậphuấn luyện D thành các phân hoạch con vớicácnhãn phù hợp Xếphạng mỗithuộctính

12

12

4.1. Tổng quan về phân loại dữ liệu

Bước học/huấn luyện

Page 13: Chương 4: Phân loại dữ liệu · nhánh tạimột node, i.e. phân hoạch tậphuấn luyện D thành các phân hoạch con vớicácnhãn phù hợp Xếphạng mỗithuộctính

13

13

4.1. Tổng quan về phân loại dữ liệu

Bước phân loại (đánh giá và áp dụng)

Page 14: Chương 4: Phân loại dữ liệu · nhánh tạimột node, i.e. phân hoạch tậphuấn luyện D thành các phân hoạch con vớicácnhãn phù hợp Xếphạng mỗithuộctính

14

14

4.1. Tổng quan về phân loại dữ liệu

Phân loại dữ liệuDạng học có giám sát (supervised learning)

Environment Teacher

Learning System

state X

Σ

desiredresponse Y

actualresponse

error signal

+-

Page 15: Chương 4: Phân loại dữ liệu · nhánh tạimột node, i.e. phân hoạch tậphuấn luyện D thành các phân hoạch con vớicácnhãn phù hợp Xếphạng mỗithuộctính

15

15

4.1. Tổng quan về phân loại dữ liệu

Các giải thuật phân loại dữ liệuPhân loại với cây quyết định (decision tree)Phân loại với mạng BayesianPhân loại với mạng neuralPhân loại với k phần tử cận gần nhất (k-nearest neighbor)Phân loại với suy diễn dựa trên tình huống (case-based reasoning)Phân loại dựa trên tiến hoá gen (genetic algorithms)Phân loại với lý thuyết tập thô (rough sets)Phân loại với lý thuyết tập mờ (fuzzy sets) …

Page 16: Chương 4: Phân loại dữ liệu · nhánh tạimột node, i.e. phân hoạch tậphuấn luyện D thành các phân hoạch con vớicácnhãn phù hợp Xếphạng mỗithuộctính

16

16

4.2. Phân loại dữ liệu với cây quyết định

Cơ sở dữ liệu khách hàng AllElectronics dùng cho bước học

Page 17: Chương 4: Phân loại dữ liệu · nhánh tạimột node, i.e. phân hoạch tậphuấn luyện D thành các phân hoạch con vớicácnhãn phù hợp Xếphạng mỗithuộctính

17

17

4.2. Phân loại dữ liệu với cây quyết định

Cây quyết định (decision tree) – mô hình phân loạiNode nội: phép kiểm thử (test) trên một thuộc tínhNode lá: nhãn/mô tả của một lớp (class label)Nhánh từ một node nội: kết quả của một phép thử trênthuộc tính tương ứng

Cây quyết định học được từCSDL huấn luyện AllElectronics

Page 18: Chương 4: Phân loại dữ liệu · nhánh tạimột node, i.e. phân hoạch tậphuấn luyện D thành các phân hoạch con vớicácnhãn phù hợp Xếphạng mỗithuộctính

18

18

4.2. Phân loại dữ liệu với cây quyết định

Giải thuật xây dựng cây quyết địnhID3, C4.5, CART (Classification and Regression Trees – binary decision trees)

Page 19: Chương 4: Phân loại dữ liệu · nhánh tạimột node, i.e. phân hoạch tậphuấn luyện D thành các phân hoạch con vớicácnhãn phù hợp Xếphạng mỗithuộctính

19

19

4.2. Phân loại dữ liệu với cây quyết định

Page 20: Chương 4: Phân loại dữ liệu · nhánh tạimột node, i.e. phân hoạch tậphuấn luyện D thành các phân hoạch con vớicácnhãn phù hợp Xếphạng mỗithuộctính

20

20

4.2. Phân loại dữ liệu với cây quyết định

Đặc điểm của giải thuậtGiải thuật tham lam (không có quay lui), chia đểtrị, đệ qui, từ trên xuống

Độ phức tạp với tập huấn luyện D gồm |D| phầntử (đối tượng), mỗi phần tử gồm n thuộc tính

O(n*|D|*log|D|)

Mỗi thuộc tính ứng với mỗi mức (level) của cây.

Cho mỗi mức của cây, |D| phân tử huấn luyện đượcduyệt qua.

In-memory ???

Page 21: Chương 4: Phân loại dữ liệu · nhánh tạimột node, i.e. phân hoạch tậphuấn luyện D thành các phân hoạch con vớicácnhãn phù hợp Xếphạng mỗithuộctính

21

21

4.2. Phân loại dữ liệu với cây quyết định

Attribute_selection_methodPhương thức dùng heuristic để chọn tiêu chí rẽnhánh tại một node, i.e. phân hoạch tập huấnluyện D thành các phân hoạch con với các nhãnphù hợp

Xếp hạng mỗi thuộc tính

Thuộc tính được chọn để rẽ nhánh là thuộc có trị sốđiểm (score) lớn nhất

Độ đo chọn thuộc tính phân tách (splitting attribute): information gain, gain ratio, gini index

Page 22: Chương 4: Phân loại dữ liệu · nhánh tạimột node, i.e. phân hoạch tậphuấn luyện D thành các phân hoạch con vớicácnhãn phù hợp Xếphạng mỗithuộctính

22

22

4.2. Phân loại dữ liệu với cây quyết định

A là thuộc tính phân tách (splitting attribute).

Page 23: Chương 4: Phân loại dữ liệu · nhánh tạimột node, i.e. phân hoạch tậphuấn luyện D thành các phân hoạch con vớicácnhãn phù hợp Xếphạng mỗithuộctính

23

23

4.2. Phân loại dữ liệu với cây quyết định

Độ đo Information GainDựa trên lý thuyết thông tin (information theory) của Claude Shannon về giá trị (nội dung thông tin) của tinThuộc tính tương ứng với information gain lớnnhất sẽ được chọn làm splitting attribute chonode N.

Node N là node hiện tại cần phân hoạch các phần tửtrong D.Splitting attribute đảm bảo sự trùng lắp(impurity)/ngẫu nhiên (randomness) ít nhất giữa cácphân hoạch tạo được.Cách tiếp cận này giúp tối thiểu số phép thử (test) đểphân loại một phần tử.

Page 24: Chương 4: Phân loại dữ liệu · nhánh tạimột node, i.e. phân hoạch tậphuấn luyện D thành các phân hoạch con vớicácnhãn phù hợp Xếphạng mỗithuộctính

24

24

4.2. Phân loại dữ liệu với cây quyết định

Độ đo Information Gain

Lượng thông tin cần để phân loại một phần tửtrong D (= Entropy của D): Info(D)

pi: xác suất để một phần tử bất kỳ trong D thuộc vềlớp Ci với i = 1..m

Ci,D: tập các phần tử của lớp Ci trong D

||/||

)(log)(

,

21

DCp

ppDInfo

Dii

i

m

ii

=

−= ∑=

Page 25: Chương 4: Phân loại dữ liệu · nhánh tạimột node, i.e. phân hoạch tậphuấn luyện D thành các phân hoạch con vớicácnhãn phù hợp Xếphạng mỗithuộctính

25

25

4.2. Phân loại dữ liệu với cây quyết định

Độ đo Information GainLượng thông tin cần để phân loại một phần tử trong D dựa trên thuộc tính A: InfoA(D)

Thuộc tính A dùng phân tách D thành v phân hoạch {D1, D2, …, Dj, …, Dv}.

Mỗi phân hoạch Dj gồm |Dj| phần tử trong D.

Lượng thông tin này sẽ cho biết mức độ trùng lắp giữa cácphân hoạch, nghĩa là một phân hoạch chứa các phần tử từmột lớp hay nhiều lớp khác nhau.

Mong đợi: InfoA(D) càng nhỏ càng tốt.

)(*||||

)(1

j

v

j

jA DInfo

DD

DInfo ∑=

=

Page 26: Chương 4: Phân loại dữ liệu · nhánh tạimột node, i.e. phân hoạch tậphuấn luyện D thành các phân hoạch con vớicácnhãn phù hợp Xếphạng mỗithuộctính

26

26

4.2. Phân loại dữ liệu với cây quyết định

Độ đo Information Gain

Information gain chính là độ sai biệt giữa trịthông tin Info(D) ban đầu (trước phân hoạch) và trị thông tin mới InfoA(D) (sau phân hoạchvới A).

)()()( DInfoDInfoAGain A−=

Page 27: Chương 4: Phân loại dữ liệu · nhánh tạimột node, i.e. phân hoạch tậphuấn luyện D thành các phân hoạch con vớicácnhãn phù hợp Xếphạng mỗithuộctính

27

27

4.2. Phân loại dữ liệu với cây quyết định

Gain(age)=0.246 bits

Gain(income)?

Gain(student)?

Gain(credit_rating)?

Splitting attribute?

Page 28: Chương 4: Phân loại dữ liệu · nhánh tạimột node, i.e. phân hoạch tậphuấn luyện D thành các phân hoạch con vớicácnhãn phù hợp Xếphạng mỗithuộctính

28

28

4.2. Phân loại dữ liệu với cây quyết định

Độ đo Gain Ratio: GainRatio(A)Dùng với C4.5

Giải quyết vấn đề một thuộc tính được dùng tạo ra rấtnhiều phân hoạch (thậm chí mỗi phân hoạch chỉ gồm 1 phần tử).

Chuẩn hoá information gain với trị thông tin phân tách(split information): SplitInfoA(D)

Splitting attribute A tương ứng với trị GainRatio(A) là trịlớn nhất.

)()()(

||||

log*||||

)( 21

DSplitInfoAGainAGainRatio

DD

DD

DSplitInfo

A

jv

j

jA

=

−= ∑

=

Page 29: Chương 4: Phân loại dữ liệu · nhánh tạimột node, i.e. phân hoạch tậphuấn luyện D thành các phân hoạch con vớicácnhãn phù hợp Xếphạng mỗithuộctính

29

29

4.2. Phân loại dữ liệu với cây quyết định

SplitInfoincome(D)

Gain(income) = 0.029

GainRatio(income) = 0.029/0.926 = 0.031

GainRatio(age)?

GainRatio(student)?

GainRatio(credit_rating)?

Splitting attribute?

Page 30: Chương 4: Phân loại dữ liệu · nhánh tạimột node, i.e. phân hoạch tậphuấn luyện D thành các phân hoạch con vớicácnhãn phù hợp Xếphạng mỗithuộctính

30

30

4.2. Phân loại dữ liệu với cây quyết định

Độ đo Gini IndexDùng với CART

Sự phân tách nhị phân (binary split) cho mỗi thuộc tính AA ∈ SA?

SA là một tập con gồm một hay v-1 trị thuộc tính A.

Gini index của một thuộc tính là trị nhỏ nhất tương ứng vớimột tập con SA từ 2v – 2 tập con.

Splitting attribute tương ứng với gini index nhỏ nhất để tốiđa hóa sự suy giảm về độ trùng lắp giữa các phân hoạch.

Page 31: Chương 4: Phân loại dữ liệu · nhánh tạimột node, i.e. phân hoạch tậphuấn luyện D thành các phân hoạch con vớicácnhãn phù hợp Xếphạng mỗithuộctính

31

31

4.2. Phân loại dữ liệu với cây quyết định

Giniincome∈{low,high} = Giniincome∈{medium} = 0.315Giniincome∈{medium,high} = Giniincome∈{low} = 0.300

Giniincome ∈{medium,high}/{low}=0.300Giniage ∈{youth,senior}/{middle_aged} = 0.375Ginistudent=0.367Ginicredit_rating=0.429Splitting attribute?

Page 32: Chương 4: Phân loại dữ liệu · nhánh tạimột node, i.e. phân hoạch tậphuấn luyện D thành các phân hoạch con vớicácnhãn phù hợp Xếphạng mỗithuộctính

32

32

4.2. Phân loại dữ liệu với cây quyết định

Xây dựng cây quyết định từ cơ sở dữ liệuhuấn luyện AllElectronics

Dùng độ đo Information Gain

Dùng độ đo Gain Ratio

Dùng độ đo Gini Index

Các cây quyết định học được giống nhau???

Tiến hành đánh giá và phân loại với các câyquyết định học được

Page 33: Chương 4: Phân loại dữ liệu · nhánh tạimột node, i.e. phân hoạch tậphuấn luyện D thành các phân hoạch con vớicácnhãn phù hợp Xếphạng mỗithuộctính

33

33

4.3. Phân loại dữ liệu với mạng Bayesian

Dựa trên định lý của Bayes

Phân loại Naïve Bayesian

Giả định: độc lập có điều kiện lớp (class conditional independence)

Phân loại Bayesian belief networks

Phương pháp phân loại dựa trên xác suất

Page 34: Chương 4: Phân loại dữ liệu · nhánh tạimột node, i.e. phân hoạch tậphuấn luyện D thành các phân hoạch con vớicácnhãn phù hợp Xếphạng mỗithuộctính

34

34

4.3. Phân loại dữ liệu với mạng Bayesian

Reverend Thomas Bayes (1702-1761)

Page 35: Chương 4: Phân loại dữ liệu · nhánh tạimột node, i.e. phân hoạch tậphuấn luyện D thành các phân hoạch con vớicácnhãn phù hợp Xếphạng mỗithuộctính

35

35

4.3. Phân loại dữ liệu với mạngBayesian

Định lý BayesX: một tuple/đối tượng (evidence)

H: giả thuyết (hypothesis)

X thuộc về lớp C.

X

Cho một RID, RID thuộc về lớp“yes” (buys_computer = yes)

X được xác định bởitrị của các thuộc tính.

Page 36: Chương 4: Phân loại dữ liệu · nhánh tạimột node, i.e. phân hoạch tậphuấn luyện D thành các phân hoạch con vớicácnhãn phù hợp Xếphạng mỗithuộctính

36

36

4.3. Phân loại dữ liệu với mạng Bayesian

Định lý BayesP(H|X): posterior probability

Xác suất có điều kiện của H đối với X.

Ví dụ: P(buys_computer=yes|age=young, income=high) làxác suất mua máy tính của khách hàng có tuổi “young” và thunhập “high”.

P(X|H): posterior probability

Xác suất có điều kiện của X đối với H.

Ví dụ: P(age=young, income=high|buys_computer=yes) làxác suất khách hàng mua máy tính có tuổi “young” và thunhập “high”.

P(age=young, income=high|buys_computer=yes) = 0

P(age=young, income=high|buys_computer=no) = 2/5 = 0.4

Page 37: Chương 4: Phân loại dữ liệu · nhánh tạimột node, i.e. phân hoạch tậphuấn luyện D thành các phân hoạch con vớicácnhãn phù hợp Xếphạng mỗithuộctính

37

37

4.3. Phân loại dữ liệu với mạng Bayesian

Định lý BayesP(H): prior probability

Xác suất của H

Ví dụ: P(buys_computer=yes) là xác suất mua máytính của khách hàng nói chung.

P(buys_computer=yes) = 9/14 = 0.643

P(buys_computer=no) = 5/14 = 0.357

P(X): prior probabilityXác suất của X

Ví dụ: P(age=young, income=high) là xác suất kháchhàng có tuổi “young” và thu nhập “high”.

P(age=young, income=high) = 2/14 = 0.143

Page 38: Chương 4: Phân loại dữ liệu · nhánh tạimột node, i.e. phân hoạch tậphuấn luyện D thành các phân hoạch con vớicácnhãn phù hợp Xếphạng mỗithuộctính

38

38

4.3. Phân loại dữ liệu với mạngBayesian

Định lý BayesP(H), P(X|H), P(X) có thể được tính từ tập dữliệu cho trước.

P(H|X) được tính từ định lý Bayes.

)()()|()|(

XPHPHXPXHP =

P(buys_computer=yes|age=young, income=high) = P(age=young, income=high|buys_computer=yes)P(buys_computer=yes)/P(age=young, income=high) = 0

P(buys_computer=no|age=young, income=high) = P(age=young, income=high|buys_computer=no)P(buys_computer=no)/P(age=young, income=high) = 0.4*0.357/0.143 = 0.9986

Page 39: Chương 4: Phân loại dữ liệu · nhánh tạimột node, i.e. phân hoạch tậphuấn luyện D thành các phân hoạch con vớicácnhãn phù hợp Xếphạng mỗithuộctính

39

39

4.3. Phân loại dữ liệu với mạngBayesian

Cho trước tập dữ liệu huấn luyện D với mô tả(nhãn) của các lớp Ci, i=1..m, quá trình phân loạimột tuple/đối tượng X = (x1, x2, …, xn) với mạngBayesian như sau:

X được phân loại vào Ci nếu và chỉ nếu

P(Ci|X) > P(Cj|X) với 1<=j<=m, j<>i

Tối đa hóa P(Ci|X) (i.e. chọn Ci nếu P(Ci|X) là trị lớn nhất)

Tối đa hóa P(X|Ci)P(Ci)

P(C1) = P(C2) = .. = P(Cm) hoặc P(Ci) = |Ci,D|/|D| …

)()()|()|(

XPCPCXPXCP ii

i =

Page 40: Chương 4: Phân loại dữ liệu · nhánh tạimột node, i.e. phân hoạch tậphuấn luyện D thành các phân hoạch con vớicácnhãn phù hợp Xếphạng mỗithuộctính

40

40

4.3. Phân loại dữ liệu với mạng Bayesian

)|(*..*)|(*)|()|()|( 211

inii

n

kiki CxPCxPCxPCxPCXP ==∏

=

P(X|Ci) được tính với giả định class conditional independence.

xk, k = 1..n: trị thuộc tính Ak của X

P(xk|Ci) được tính như sau:

Ak là thuộc tính rời rạc.P(xk|Ci) = |{X’|x’k = xk ∧ X’ ∈ Ci}|/|Ci,D|

Ak là thuộc tính liên tục.P(xk|Ci) tuân theo một phân bố xác suất nào đó (ví dụ: phân bố Gauss).

Page 41: Chương 4: Phân loại dữ liệu · nhánh tạimột node, i.e. phân hoạch tậphuấn luyện D thành các phân hoạch con vớicácnhãn phù hợp Xếphạng mỗithuộctính

41

41

4.3. Phân loại dữ liệu với mạng Bayesian

Nếu P(xk|Ci) = 0 thì P(X|Ci) = 0!!!

Ban đầuP(xk|Ci) = |{X’|x’k = xk ∧ X’ ∈ Ci}|/|Ci,D|

Laplace (Pierre Laplace, nhà toán học Pháp, 1749-1827)

P(xk|Ci) = (|{X’|x’k = xk ∧ X’ ∈ Ci}|+1)/(|Ci,D| + m)

z-estimateP(xk|Ci) = (|{X’|x’k = xk ∧ X’ ∈ Ci}| + z*P(xk))/(|Ci,D| + z)

Page 42: Chương 4: Phân loại dữ liệu · nhánh tạimột node, i.e. phân hoạch tậphuấn luyện D thành các phân hoạch con vớicácnhãn phù hợp Xếphạng mỗithuộctính

42

42

4.3. Phân loại dữ liệu với mạngBayesian

C1 = {X’|X’.buys_computer = yes}

C2 = {X’’|X’’.buys_computer = no}

X ∈ C1

Page 43: Chương 4: Phân loại dữ liệu · nhánh tạimột node, i.e. phân hoạch tậphuấn luyện D thành các phân hoạch con vớicácnhãn phù hợp Xếphạng mỗithuộctính

43

43

4.4. Phân loại dữ liệu với mạng Neural

Mạng Neural sinh học

Page 44: Chương 4: Phân loại dữ liệu · nhánh tạimột node, i.e. phân hoạch tậphuấn luyện D thành các phân hoạch con vớicácnhãn phù hợp Xếphạng mỗithuộctính

44

44

4.4. Phân loại dữ liệu với mạng Neural

Quá trình xử lý thông tin tại một neuron của mạngNeural nhân tạo

Page 45: Chương 4: Phân loại dữ liệu · nhánh tạimột node, i.e. phân hoạch tậphuấn luyện D thành các phân hoạch con vớicácnhãn phù hợp Xếphạng mỗithuộctính

45

45

4.4. Phân loại dữ liệu với mạng Neural

Mạng neural feed-forward đa tầng

Page 46: Chương 4: Phân loại dữ liệu · nhánh tạimột node, i.e. phân hoạch tậphuấn luyện D thành các phân hoạch con vớicácnhãn phù hợp Xếphạng mỗithuộctính

46

46

4.4. Phân loại dữ liệu với mạng Neural

Giải thuật học lan truyền ngược (Backpropagation) có giám sát

Page 47: Chương 4: Phân loại dữ liệu · nhánh tạimột node, i.e. phân hoạch tậphuấn luyện D thành các phân hoạch con vớicácnhãn phù hợp Xếphạng mỗithuộctính

47

47

4.4. Phân loại dữ liệu với mạng Neural

Page 48: Chương 4: Phân loại dữ liệu · nhánh tạimột node, i.e. phân hoạch tậphuấn luyện D thành các phân hoạch con vớicácnhãn phù hợp Xếphạng mỗithuộctính

48

48

4.4. Phân loại dữ liệu với mạng Neural

Output nodes

Input nodes

Hidden nodes

Output vector

Input vector: xi

wij

∑ +=i

jiijj OwI θ

jIje

O −+=

11

))(1( jjjjj OTOOErr −−=

jkk

kjjj wErrOOErr ∑−= )1(

ijijij OErrlww )(+=jjj Errl)(+=θθ

Page 49: Chương 4: Phân loại dữ liệu · nhánh tạimột node, i.e. phân hoạch tậphuấn luyện D thành các phân hoạch con vớicácnhãn phù hợp Xếphạng mỗithuộctính

49

49

4.4. Phân loại dữ liệu với mạng Neural

Page 50: Chương 4: Phân loại dữ liệu · nhánh tạimột node, i.e. phân hoạch tậphuấn luyện D thành các phân hoạch con vớicácnhãn phù hợp Xếphạng mỗithuộctính

50

50

4.4. Phân loại dữ liệu với mạng Neural

Page 51: Chương 4: Phân loại dữ liệu · nhánh tạimột node, i.e. phân hoạch tậphuấn luyện D thành các phân hoạch con vớicácnhãn phù hợp Xếphạng mỗithuộctính

51

51

4.4. Phân loại dữ liệu với mạng Neural

Page 52: Chương 4: Phân loại dữ liệu · nhánh tạimột node, i.e. phân hoạch tậphuấn luyện D thành các phân hoạch con vớicácnhãn phù hợp Xếphạng mỗithuộctính

52

52

Tóm tắt phần 1

Classification với Decision trees

ID3, C4.5, CART

Classification với mạng Bayesian

Dựa trên lý thuyết xác suất thống kê

Classification với mạng Neural

Linear classifiers vs. non-linear classifiers

Page 53: Chương 4: Phân loại dữ liệu · nhánh tạimột node, i.e. phân hoạch tậphuấn luyện D thành các phân hoạch con vớicácnhãn phù hợp Xếphạng mỗithuộctính

53

53

HỏiHỏi & & ĐĐápáp ……

Page 54: Chương 4: Phân loại dữ liệu · nhánh tạimột node, i.e. phân hoạch tậphuấn luyện D thành các phân hoạch con vớicácnhãn phù hợp Xếphạng mỗithuộctính

54

54

ChChươươngng 4: 4: PhânPhân loạiloại dữdữ liệuliệu

Phần 2

Page 55: Chương 4: Phân loại dữ liệu · nhánh tạimột node, i.e. phân hoạch tậphuấn luyện D thành các phân hoạch con vớicácnhãn phù hợp Xếphạng mỗithuộctính

55

55

Nội dung4.5. Các phương pháp phân loại dữ liệukhác

4.5.1. K-nearest neighbor classification

4.5.2. Classification với Support Vector Machines (SVM)

4.5.3. Classification với Fuzzy Sets

4.5.4. Classification với Rough Sets

4.5.5. Đánh giá và chọn mô hình phân lớp

4.5.6. Gia tăng độ chính xác trong phân lớp

Tóm tắt phần 2

Page 56: Chương 4: Phân loại dữ liệu · nhánh tạimột node, i.e. phân hoạch tậphuấn luyện D thành các phân hoạch con vớicácnhãn phù hợp Xếphạng mỗithuộctính

56

56

Đọc thêm[2], Chương 10, pp. 327 – 366.

Predictive Modeling for Classification

[3], Chương 7, pp. 110 – 123.Support Vector Machines

[7], Phần 6.3, pp. 214-234.Extending linear models

[3], Chương 5, pp. 71 – 79.Fuzzy Sets and Decision TreesFuzzy Sets and Ordinal Classification

[9], Phần 24.3, pp. 509 – 514.Fuzzy Supervised Learning

[3], Chương 6, pp. – 109.Rough Sets

[9], Chương 37, pp. 733 – 746.Bias vs. Variance Decomposition For Regression and Classification

[9], Chương 32, pp. 642 – 654.Data Mining Model Comparison