Professional Documents
Culture Documents
DM C4 Classification PDF
DM C4 Classification PDF
DM C4 Classification PDF
Chương 4
Phân Loại Dữ Liệu – Data Classification
2015/10/5
NỘI DUNG
1. Tổng quan về phân loại dữ liệu
2. Hồi qui logistic
3. Cây quyết định
4. Mạng Bayesian
5. Mạng Neural
6. Các phương pháp phân loại dữ liệu khác
7. Đánh giá và chọn mô hình phân loại
2
8. Tóm tắt
Dr. Tran Minh Quang – quangtran@hcmut.edu.vn
TÀI LIỆU THAM KHẢO
[1] Jiawei Han, Micheline Kamber, and Jian Pei, “Data Mining: Concepts and
Techniques”, 3rd Edition, Morgan Kaufmann Publishers, 2012.
[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] ZhaoHui Tang, Jamie MacLennan, “Data Mining with SQL Server 2005”,
Wiley Publishing, 2005.
[6] Oracle, “Data Mining Concepts”, B28129-01, 2008.
[7] Oracle, “Data Mining Application Developer’s Guide”, B28131-01, 2008.
[8] Ian H.Witten, Eibe Frank, “Data mining : practical machine learning tools and
techniques”, 2nd Edition, Elsevier Inc, 2005.
[9] Florent Messeglia, Pascal Poncelet & Maguelonne Teisseire, “Successes and new
directions in data mining”, IGI Global, 2008. 3
[10] Oded Maimon, Lior Rokach, “Data Mining and Knowledge Discovery Handbook”,
2nd Edition, Springer Science + Business Media, LLC 2005, 2010.
Dr. Tran Minh Quang – quangtran@hcmut.edu.vn
1. TỔNG QUAN VỀ PHÂN LOẠI DL
Các tình huống
Email: “spam” hay “bình thường”
Các giao dịch trực tuyến: “gian lận” hay “thông
thường”
Y tế: “bị bệnh” hay “không bị bệnh”; khối u “lành tính”
hay “ác tính”,…
Y ∈{ 0, 1} : 0: “ negative” hay 1: “ positive” classes
Y ∈{ 0, 1, 2, 3} : Dữ liệu thuộc nhiều lớp
Mỗi lớp có gắn một nhãn (label): Ví dụ “ spam” hay
“ not spam”
4
actual
Learning response
-
System Σ+
error signal
8
Threshold
0.5 hθ ( X ) = 0.5
(Lành tính)
0
0 1 2 3 4 5 6 7 8 9 10 11
Kích thước khối u (cm)
g(z)
0.5
θ = 1 1
y=0
1 1 2 3 x1
= > x1+ x2 ≥ 3
14
15
1
hθ ( X ) = −θ T X
1+ e
• Làm sao để chọn bộ thông số θ? 16
17
− log(hθ ( x)) : y = 1
cos t (hθ ( x), y ) =
− log(1 − hθ ( x)) : y = 0
− log(hθ ( x)) : y = 1
cos t (hθ ( x), y ) =
− log(1 − hθ ( x)) : y = 0
cost(hθ(x),y)= -ylog(hθ(x))-(1-y)log(1-hθ(x))
N
1
∑
N
1
∑ (i ) = − + − −
(i ) (i ) (i )
J (θ ) = cos t (hθ ( x ) − y )
(i ) y log hθ ( x ) (1 y ) log(1 hθ ( x ))
N i =1
N i =1
21
x2 x2
x1 x1
22
x2 x1
x2
h(2)θ(x)
x1
Class 1: x1
Class 2:
x2
Class 3:
h(3)θ(x)
x1 23
24
25
26
3. PHÂN LOẠI 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)
27
3. PHÂN LOẠI VỚI CÂY QUYẾT ĐỊNH
28
29
31
pi =| Ci , D | / | D | 33
3. PHÂN LOẠI 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
• Lượng thông tin này sẽ cho biết mức độ trùng lắp giữa
v | Dj |
Info A ( D) = ∑ * Info( D j ) 34
j =1 |D|
3. PHÂN LOẠI VỚI CÂY QUYẾT ĐỊNH
Độ đo Information Gain
35
3. PHÂN LOẠI VỚI CÂY QUYẾT ĐỊNH
Gain(age)=0.246 bits
Gain(income)?
Gain(student)?
Gain(credit_rating)?
Splitting attribute?
36
3. PHÂN LOẠI 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
v | Dj | | Dj |
SplitInfo A ( D) = −∑ * log 2
j =1 | D | |D|
Gain( A) 37
GainRatio ( A) =
SplitInfo A ( D)
3. PHÂN LOẠI VỚI CÂY QUYẾT ĐỊNH
SplitInfoincome(D)
38
Gain(income) = 0.029
GainRatio(age)?
GainRatio(student)?
GainRatio(credit_rating)?
Splitting attribute?
39
3. PHÂN LOẠI VỚI CÂY QUYẾT ĐỊNH
41
X
X được xác định bởi trị
của các thuộc tính.
43
4. PHÂN LOẠI VỚI MẠNG BAYESIAN
Định lý Bayes
P(H|X): posterior probability
• Ví dụ: P(buys_computer=yes|age=young,
P( X | H ) P( H )
P( H | X ) =
P( X )
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( X | Ci ) P(Ci )
P (Ci | X ) =
P( X )
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)
47
P(C1) = P(C2) = .. = P(Cm) hoặc P(Ci) = |Ci,D|/|D| …
4. PHÂN LOẠI VỚI MẠNG BAYESIAN
n
P( X | Ci ) = ∏ P( xk | Ci ) = P( x1 | Ci ) * P( x2 | Ci ) * .. * P( xn | Ci )
k =1
z-estimate
• P(xk|Ci) = (|{X’|x’k = xk ∧ X’ ∈ Ci}| + z*P(xk))/(|Ci,D| + z) 49
C2 = {X’’|X’’.buys_computer = no}
50
X ∈ C1
4. PHÂN LOẠI VỚI MẠNG NEURAL
Non-linear Classification
x2
Not a car
52
Testing: What is this?
Source: Andrew Ng
Dr. Tran Minh Quang – quangtran@hcmut.edu.vn
4. PHÂN LOẠI VỚI MẠNG NEURAL
pixel 1
Learning
Algorithm
pixel 2
Hình 50 x 50 pixels → 2500 pixels
Raw image (n=2500) (7500 if RGB)
pixel 2
pixel 1 intensity
pixel 2 intensity
Source: Andrew Ng
Dr. Tran Minh Quang – quangtran@hcmut.edu.vn
4. PHÂN LOẠI VỚI MẠNG NEURAL
Các giải thuật mô phỏng theo sự hoạt động của bộ
não người
Phổ biến từ những năm 80, đầu những năm 90
Neuron in
the brain
54
Source: Andrew Ng
Dr. Tran Minh Quang – quangtran@hcmut.edu.vn
4. PHÂN LOẠI VỚI MẠNG NEURAL
Mô hình neuron: Logistic unit
55
Source: Andrew Ng
Dr. Tran Minh Quang – quangtran@hcmut.edu.vn
4. PHÂN LOẠI VỚI MẠNG NEURAL
Neural Network
Source: Andrew Ng
Dr. Tran Minh Quang – quangtran@hcmut.edu.vn
4. PHÂN LOẠI VỚI MẠNG NEURAL
Neural Network
“activation” of unit i in layer j
matrix of weights controlling
function mapping from layer j to
layer j+1
Ɵ(2)
Nếu mạng có sj nodes (units) ở lớp j và sj+1 nodes ở lớp j+1, thì số chiều
của Ɵ(j) sẽ là Sj+1x(Sj+1) 57
Source: Andrew Ng
Dr. Tran Minh Quang – quangtran@hcmut.edu.vn
4. PHÂN LOẠI VỚI MẠNG NEURAL
ANN: Feed forward (Forward propagation)
x0 z1( 2 )
x ( 2)
x= 1 z ( 2) = z2
x2
z ( 2)
x3 3
58
Source: Andrew Ng
Dr. Tran Minh Quang – quangtran@hcmut.edu.vn
4. PHÂN LOẠI VỚI MẠNG NEURAL
Biểu diễn ANN cho các phép toán logic cơ bản
+20 +20
+20 +20
y=NOT x1
Hãy kiểm chứng bằng bảng
10
logic cho các trường hợp trên!
-20 59
Source: Andrew Ng
Dr. Tran Minh Quang – quangtran@hcmut.edu.vn
4. PHÂN LOẠI VỚI MẠNG NEURAL
Vd dùng ANN để biểu diễn một sự kết hợp phức
tạp hơn của các phép toán logic: x1 NOR x2
x1 NOR x2= NOT x1 XOR x2:
x1 x2 x1 XOR x2 x1 NOR x2
0 0 0 1
0 1 1 0
1 0 1 0
1 1 0 1
-30
-10
+20 a(2)1 20
+20 a(3)1
10
20
-20
a(2)2 y = a(3)1 = a(2)1 AND a(2)2
-20
Source: Andrew Ng
Dr. Tran Minh Quang – quangtran@hcmut.edu.vn
4. PHÂN LOẠI VỚI MẠNG NEURAL
Biểu
diễn x1 NOR x2=(x1 AND x2)OR(NOT x1
AND NOT x2)
-30 10 -10
20 -20 20
20 -20 20
0 0
0 1
1 0 62
1 1 Source: Andrew Ng
63
K output units
Source: Andrew Ng
Dr. Tran Minh Quang – quangtran@hcmut.edu.vn
4. PHÂN LOẠI VỚI MẠNG NEURAL
Hàm chi phí (Cost function) trong ANN
Logistic regression:
Neural network:
64
Source: Andrew Ng
Dr. Tran Minh Quang – quangtran@hcmut.edu.vn
4. PHÂN LOẠI VỚI MẠNG NEURAL
Tối
thiểu hóa chi phí (Minimizing cost) trong
ANN: Phương pháp lan truyền ngược -
Backpropagation
66
Source: Andrew Ng
Dr. Tran Minh Quang – quangtran@hcmut.edu.vn
4. PHÂN LOẠI VỚI MẠNG NEURAL
Gọi δ(l)j là “error” do node j ở lớp l gây ra
Với mỗi node ở lớp output (l=L=4)
δ(4)j = a(4)j – yj (δ(4) = a(4) – y)
Tính “errors” của các node bên trong:
δ(3) = (Ɵ(3))T δ(4) . g’(z(3))
δ(2) = (Ɵ(2))T δ(3) . g’(z(2))
Layer Layer Layer Layer
1 2 3 4
∂θ ij(l )
Source: Andrew Ng
Dr. Tran Minh Quang – quangtran@hcmut.edu.vn
4. PHÂN LOẠI VỚI MẠNG NEURAL
Giải thuật lan truyền ngược (backpropagation)
Cho tập huấn luyện {(x(1), y(1)),…, (x(N), y(N))}
Gán ∆(l)ij = 0 (với mọi, i, j, l)
For i=1 to N
- a(i) := xi thực hiện feed forward tính a(l) (l=1,2,3,..L)
- Dùng y(i) để tính δ(L) = a(L) – y
- Tính δ(L-1), δ(L-2),…,δ(2)
- Tính ∆(l)ij := ∆(l)ij + a(l) δ(i)(l+1)
Gán (l )
Dij :=
1 (l )
∆ ij + λθ ij(l ) , j ≠ 0 ∂
N J (θ ) = Dij(l )
1 (l ) ∂θ ij(l ) 68
D (l ) := ∆ ij , j = 0
ij N
Source: Andrew Ng
Dr. Tran Minh Quang – quangtran@hcmut.edu.vn
4. PHÂN LOẠI VỚI MẠNG NEURAL
Ví dụ về backpropagation:
Feed Forward
69
Source: Andrew Ng
Dr. Tran Minh Quang – quangtran@hcmut.edu.vn
4. PHÂN LOẠI VỚI MẠNG NEURAL
Ví dụ về backpropagation:
70
Source: Andrew Ng
Dr. Tran Minh Quang – quangtran@hcmut.edu.vn
5. CÁC PP PHÂN LOẠI DL KHÁC
Unknown record
PP k-nn (k-nearest neighbor)
Cho trước tập dữ liệu huấn
luyện D với các lớp, phân loại
record/object X vào các lớp dựa
vào k phần tử tương tự với X
nhất (dùng luật số đông:
majority vote)
Phụ thuộc
Độ đo khoảng cách để xác
định sự tương tự.
Trị k, số phần tử láng giềng
k <= |D|1/2 71
Chọn trị k
Nếu k quá nhỏ thì kết quả dễ bị ảnh hưởng bởi nhiễu
Nếu k quá lớn thì nhiều phần tử láng giềng chọn được
có thể đến từ các lớp khác.
k quá lớn! X
72
X X X
Khả năng hiểu được nguyên lý hoạt động của bộ phân lớp
Dr. Tran Minh Quang – quangtran@hcmut.edu.vn
6. ĐÁNH GIÁ VÀ CHỌN MÔ HÌNH PHÂN
LỚP
Accuracy-based measures Formula Note
TP + TN percentage of test set tuples
Accuracy, recognition rate that are correctly classified
P+N
Error rate, misclassification FP + FN 1 – accuracy
rate P+N
Sensitivity, true positive rate, TP True Positive recognition
recall TP + FN rate
(1 + β ) * precision * recall
2
weighted measure of
Fβ-measure precision and recall
β
2
Dr. Tran Minh Quang – * precision + recall
quangtran@hcmut.edu.vn
6. ĐÁNH GIÁ VÀ CHỌN MÔ HÌNH PHÂN
LỚP
Confusion Matrix:
Actual class\Predicted class C1 ¬ C1
C1 True Positives (TP) False Negatives (FN)
¬ C1 False Positives (FP) True Negatives (TN)
P = TP + FN
N = FP + TN 76
ALL = P + N
Dr. Tran Minh Quang – quangtran@hcmut.edu.vn
6. ĐÁNH GIÁ VÀ CHỌN MÔ HÌNH PHÂN
LỚP
Đánh giá tính đúng đắn (accuracy) của bộ phân lớp
Holdout method: Chia tập dữ liệu đã cho (D) làm 2 tập
riêng biệt một các ngẫu nhiên:
Training set: (e.g., 2/3) để xây dựng mô hình
Test set (e.g., 1/3): để kiểm tra mô hình
Cross validation
Chia D làm k (k=10) phần riêng biệt có kích thước tương
đương nhau
Ở vòng lặp thứ i, sử dụng Di làm tập kiểm tra và các
phần còn lại là tập huấn luyện
77
Các chỉ số đo đạt tính đúng đắn của bộ phân lớp là sự
tổng hợp (trung bình) của các lần thử
Dr. Tran Minh Quang – quangtran@hcmut.edu.vn
7. TÓM TẮT
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
K-nn classification
Dựa trên khoảng cách
Đánh giá và chọn mô hình phân lớp
Tiêu chí, độ đo, và phương pháp ước lượng 78
79
2015/10/5