Bài giảng Khai phá dữ liệu - Chương 4: Phân loại dữ liệu - Võ Thị Ngọc Châu

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

‡ Phâ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 xu

hướ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ân

loạ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/đối

tượ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ếu

acceptable thì dùng f để xác định y’’ cho X’’ (mới)

Các giải thuật phân loại dữ liệu

„ Phân loại với cây quyết định (decision tree)

„ Phân loại với mạng Bayesian

„ Phân loại với mạng neural

„ Phâ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 (casebased 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)

pdf 56 trang kimcuc 6080
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Khai phá dữ liệu - Chương 4: Phân loại dữ liệu - Võ Thị Ngọc Châu", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Khai phá dữ liệu - Chương 4: Phân loại dữ liệu - Võ Thị Ngọc Châu

Bài giảng Khai phá dữ liệu - Chương 4: Phân loại dữ liệu - Võ Thị Ngọc Châu
11
Chương 4: Phân loại dữ liệu
Khoa Khoa Học & Kỹ Thuật Máy Tính
Trường Đại Học Bách Khoa Tp. Hồ Chí Minh
Học kỳ 1 – 2011-2012
Cao Học Ngành Khoa Học Máy Tính
Giáo trình điện tử
Biên soạn bởi: TS. Võ Thị Ngọc Châu
(chauvtn@cse.hcmut.edu.vn)
22
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 + Business
Media, LLC 2005, 2010.
33
Nội dung
‡ Chương 1: Tổng quan về khai phá dữ liệu
‡ Chương 2: Các vấn đề tiền xử lý dữ liệu
‡ Chương 3: Hồi qui dữ liệu
‡ Chương 4: Phân loại dữ liệu
‡ Chương 5: Gom cụm dữ liệu
‡ Chương 6: Luật kết hợp
‡ Chương 7: Khai phá dữ liệu và công nghệ cơ sở
dữ liệu
‡ Chương 8: Ứng dụng khai phá dữ liệu
‡ Chương 9: Các đề tài nghiên cứu trong khai phá
dữ liệu
‡ Chương 10: Ôn tập
44
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ệu
khác
‡ 4.6. Tóm tắt
55
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ế???
66
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àng
có cho A vay không?
77
4.0. Tình huống 3
Không3.02.0472008
Không4.55.5822007
Có7.59.5242006
Có6.07.0902005
Không3.55.582004
14
3
2
1
MãSV
Có5.55.02004
Không2.54.02004
Có8.06.52004
Có8.59.02004
TốtNghiệpMônHọc2MônHọc1Khóa
Làm sao xác định liệu sinh
viên A sẽ tốt nghiệp?
88
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 đó?
99
Chương 4: Phân loại dữ liệu
Phần 1
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
11
11
4.1. Tổng quan về phân loại dữ liệu
‡ Phâ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 xu
hướ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ân
loạ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/đối
tượ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ếu
acceptable thì dùng f để xác định y’’ cho X’’ (mới)
12
12
4.1. Tổng quan về phân loại dữ liệu
Bước học/huấn luyện
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)
14
14
4.1. Tổng quan về phân loại dữ liệu
‡ Phân loại dữ liệu
„ Dạng học có giám sát (supervised learning)
Environment Teacher
Learning 
System
state X
Σ
desired
response Y
actual
response
error signal
+
-
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ệu
„ Phân loại với cây quyết định (decision tree)
„ Phân loại với mạng Bayesian
„ Phân loại với mạng neural
„ Phâ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) 
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
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ại
„ Node nội: phép kiểm thử (test) trên một thuộc tính
„ Node 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ên
thuộc tính tương ứng
Cây quyết định học được từ
CSDL huấn luyện AllElectronics
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 định
„ ID3, C4.5, CART (Classification and Regression 
Trees – binary decision trees)
19
19
4.2. Phân loại dữ liệu với cây quyết đị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ật
„ Giả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ần
tử (đố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 được
duyệt qua.
„ In-memory Æ ???
21
21
4.2. Phân loại dữ liệu với cây quyết định
‡ Attribute_selection_method
„ Phươ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ấn
luyện D thành các phân hoạch con với các nhãn
phù 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
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).
23
23
4.2. Phân loại dữ liệu với cây quyết định
‡ Độ đo Information Gain
„ Dự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 tin
„ Thuộc tính tương ứng với information gain lớn
nhất sẽ được chọn làm splitting attribute cho
node 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ác
phâ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ử.
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)(
,
2
1
DCp
ppDInfo
Dii
i
m
i
i
=
−= ∑
=
25
25
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 
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ác
phâ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
j
A DInfoD
D
DInfo ∑
=
=
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ạch
với A).
)()()( DInfoDInfoAGain A−=
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?
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ất
nhiề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*
||
||
)( 2
1
DSplitInfo
AGainAGainRatio
D
D
D
D
DSplitInfo
A
j
v
j
j
A
=



−= ∑
=
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?
30
30
4.2. Phân loại dữ liệu với cây quyết định
‡ Độ đo Gini Index
„ Dùng với CART
„ Sự phân tách nhị phân (binary split) cho mỗi thuộc tính A
‡ A ∈ 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ới
mộ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.
31
31
4.2. Phân loại dữ liệu với cây quyết định
Giniincome∈{low,high} = Giniincome∈{medium} = 0.315
Giniincome∈{medium,high} = Giniincome∈{low} = 0.300
Æ Giniincome ∈{medium,high}/{low}=0.300
Giniage ∈{youth,senior}/{middle_aged} = 0.375
Ginistudent=0.367
Ginicredit_rating=0.429
Æ Splitting attribute?
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ệu
huấ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ây
quyết định học được
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
34
34
4.3. Phân loại dữ liệu với mạng Bayesian
Reverend Thomas Bayes (1702-1761)
35
35
4.3. Phân loại dữ liệu với mạng
Bayesian
‡ Định lý Bayes
„ X: 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ởi
trị của các thuộc tính.
36
36
4.3. Phân loại dữ liệu với mạng Bayesian
‡ Định lý Bayes
„ P(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à thu
nhậ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à thu
nhập “high”.
ƒ P(age=young, income=high|buys_computer=yes) = 0
ƒ P(age=young, income=high|buys_computer=no) = 2/5 = 0.4
37
37
4.3. Phân loại dữ liệu với mạng Bayesian
‡ Định lý Bayes
„ P(H): prior probability
‡ Xác suất của H
‡ Ví dụ: P(buys_computer=yes) là xác suất mua máy
tí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 probability
‡ Xác suất của X
‡ Ví dụ: P(age=young, income=high) là xác suất khách
hàng có tuổi “young” và thu nhập “high”.
ƒ P(age=young, income=high) = 2/14 = 0.143
38
38
4.3. Phân loại dữ liệu với mạng
Bayesian
‡ Định lý Bayes
„ P(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.
)(
)()|()|(
XP
HPHXPXHP =
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
39
39
4.3. Phân loại dữ liệu với mạng
Bayesian
‡ 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ại
một tuple/đối tượng X = (x1, x2, , xn) với mạng
Bayesian 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 1i
Æ 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| 
)(
)()|()|(
XP
CPCXPXCP iii =
40
40
4.3. Phân loại dữ liệu với mạng Bayesian
)|(*..*)|(*)|()|()|( 21
1
inii
n
k
iki 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).
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 đầu
‡ P(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-estimate
‡ P(xk|Ci) = (|{X’|x’k = xk ∧ X’ ∈ Ci}| + z*P(xk))/(|Ci,D| + z)
42
42
4.3. Phân loại dữ liệu với mạng
Bayesian
C1 = {X’|X’.buys_computer = yes}
C2 = {X’’|X’’.buys_computer = no}
Æ X ∈ C1
43
43
4.4. Phân loại dữ liệu với mạng Neural
‡ Mạng Neural sinh học
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ạng
Neural nhân tạo
45
45
4.4. Phân loại dữ liệu với mạng Neural
‡ Mạng neural feed-forward đa tầng
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
47
47
4.4. Phân loại dữ liệu với mạng Neural
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 θ
jIj e
O −+= 1
1
))(1( jjjjj OTOOErr −−=
jk
k
kjjj wErrOOErr ∑−= )1(
ijijij OErrlww )(+=
jjj Errl)(+=θθ
49
49
4.4. Phân loại dữ liệu với mạng Neural
50
50
4.4. Phân loại dữ liệu với mạng Neural
51
51
4.4. Phân loại dữ liệu với mạng Neural
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
53
53
Hỏi & Đáp 
54
54
Chương 4: Phân loại dữ liệu
Phần 2
55
55
Nội dung
‡ 4.5. Các phương pháp phân loại dữ liệu
khá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
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 Trees
„ Fuzzy 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

File đính kèm:

  • pdfbai_giang_khai_pha_du_lieu_chuong_4_phan_loai_du_lieu_vo_thi.pdf