Professional Documents
Culture Documents
Bài toán dự
ự đoán/hồi q
quy
y ((Prediction/regression
g p
problem))
Học một hàm mục tiêu có giá trị liên tục (a continuous-valued
target function)
Miề giá
Miền iá ttrị:
ị tập
tậ các
á giá
iá ttrịị số
ố thực
th (real
( l numbers)
b )
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ó
Không gian sự
kiện ((khônggggian
của tất cả các giá
trị có thể xảy ra Không gian mà
của A) trong đó A là
đúng
Không gian mà
trong đó A là sai
Các hệ quả
• P(not A)≡ P(~A)= 1 - P(A)
P(A)= P(A ∧ B) + P(A ∧ ~B)
• P(A) B)
P ( A = vi ∧ A = v j ) = 0 if i ≠ j
P(A=v1 V A=v2 V ... V A=vk) = 1
i
P( A = v1 ∨ A = v2 ∨ ... ∨ A = vi ) = ∑ P( A = v j )
k j =1
∑ P( A = v ) = 1
j =1
j
i
P(B ∧ [A = v1 ∨ A = v2 ∨ ... ∨ A = vi ]) = ∑ P( B ∧ A = v j )
j 1
j=
[http://www.cs.cmu.edu/~awm/tutorials]
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
ngày
à mai)
i)
P( A, B)
Định nghĩa: P( A | B) =
P( B)
Không
Các hệ
ệqquả: gian
mà
P(A,B)=P(A|B).P(B) trong
đó B
đú
đúng
P(A|B)+P(~A|B)=1
Không gian mà
k trong
g đó A đúng
g
∑ P( A = v | B) = 1
i =1
i
Ví dụ
•A: Tôi sẽ đi đá bóng vào ngày mai
•B: Tuấn sẽ tham g
gia trận
ậ đá bóng
g ngày
g y mai
•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
ả hh
ảnh hưởng
ở tới quyết
ết định
đị h của
ủ tôi về
ề việc
iệ đi đá bóng
bó ngày
à mai.”
i”
• 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)
Ví dụ
• A: Tôi sẽ đi dạo bờ sông vào sáng mai A
• B: Thời tiết sáng mai rất đẹp
C Tôi sẽ
• C: ẽ dậy
dậ sớm
ớ vào
à sáng
á maii P(A|B C)
P(A|B,C)
• P(A|B,C): Xác suất của việc tôi sẽ đi dạo
ọ bờ sông
dọc g vào sángg mai,, nếu ((đã biết rằng)
g)
thời tiết sáng mai rất đẹp và tôi sẽ dậy sớm
vào sáng mai
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)
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 | h1) = 1/8
• P(Ngoài-trời=Nắng
• 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
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, g, Gió=Mạnh
ạ | h2), hệ
ệ thống
g kết luận
ậ rằng:
g Anh ta sẽ
không chơi tennis!
Khai Phá Dữ Liệu
23
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,
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
c MAP = arg max P(ci | z )
ci ∈C
Phân loại Naïve Bayes tìm phân lớp có thể nhất đối với z
n
c NB = arg max P (ci ).∏ P ( z j | ci )
ci ∈C j =1
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 g
giá trị của biểu thức:
n
P(ci ).∏ P( x j | ci )
j =1
Tính giá trị xác suất trước cho mỗi phân lớp
• P(c1) = 9/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|c
( g g| 1) = 2/9;; P(Age=Young|c
( g g| 2) = 3/5
• 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
Xác định phân lớp có thể nhất (the most probable class)
• Đối với phân lớp c1
P(c1).P(z|c
) P(z|c1) = (9/14)
(9/14).(0.044)
(0 044) = 0
0.028
028
• Đối với phân lớp c2
P(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!
Khai Phá Dữ Liệu
29
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…
n
P(x
( j|
|ci))=0 , và vì vậy:
ậy P (c ).
) ∏
P( x | c ) = 0
i
j =1
j i
Giải pháp: Sử dụng hàm lôgarit cho các giá trị xác suất
⎛ ⎡ n ⎤⎞
c NB = arg max log ⎢ P(ci ).∏ P ( x j | ci )⎥ ⎟
⎜
⎜ ⎟
c ∈C
i
⎝ ⎣ j =1 ⎦⎠
⎛ n ⎞
c NB = arg max⎜ log P(ci ) + ∑ log P( x j | ci ) ⎟⎟
⎜
ci ∈C ⎝ j =1 ⎠
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ọc cây
H â quyếtết định
đị h có
ó thể thực
th hiện
hiệ ngay cả
ả với
ới các
á dữ liệu
liệ có
ó
chứa nhiễu/lỗi (noisy data)
Là một
ộ trong
g các p
phươnggp
phápp học
ọ qquy
y nạp
ạp ((inductive
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
dụng thực
th tế
Khai Phá Dữ Liệu
34
Ví dụ về DT: Những tin tức nào mà tôi quan tâm?
“sport”?
is present is absent
“player”? “football”?
is present is absent
Interested Uninterested
• (…,“sport”,…,“player”,…) → Interested
• (…,“goal”,…) → Interested
• (…,
( “sport”
sport ,…)) → Uninterested
Outlook=?
Sunny Rain
Overcast
No Yes No Yes
“sport”?
is present is absent
“player”? “football”?
is present is absent
Interested Uninterested
[(“sport”
[( spo t is
sppresent)
ese t) ∧ (“player”
p aye issp ese t)] ∨
present
Outlook=?
Sunny Rain
Overcast
No Yes No Yes
[(Outlook=Sunny) ∧ (Humidity=Normal)] ∨
(Outlook=Overcast) ∨
(Outlook
[(Outlook=Rain) ∧ (Wind=Weak)]
A1=? (c1: 35, c2: 25) A2=? (c1: 35, c2: 25)
v11 v13 v21 v22
v12
c1: 21 c1: 5 c1: 9 c1: 27 c1: 8
c2: 9 c2: 5 c2: 11 c2: 6 c2: 19
Entropy
py của tập
ập S đối với việc
ệ pphân lớp
p có 2 lớp
p
Entropy(S) = -p1.log2p1 – p2.log2p2
Entropy(S)
Entropy của tập S đối với phân lớp có 2 lớp:
0.5
Entropy(S) = -(9/14).log2(9/14)-
(5/14).log2(5/14) ≈ 0.94
0
Entropy =0, nếu tất cả các ví dụ thuộc cùng một 0.5 1
lớp (c1 hoặc c2) p1
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
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 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
nhiên từ tập S, khi biết
ế giá trị của thuộc tính A
Khai Phá Dữ Liệu
46
Tập các ví dụ học
Xé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 Tennis
D1 Sunny Hot High Weak No
D2 Sunny Hot High Strong No
D3 Overcast Hot High Weak Yes
D4 R i
Rain Mild Hi h
High W k
Weak Y
Yes
D5 Rain Cool Normal Weak Yes
D6 Rain Cool Normal Strong No
D7 Overcast Cool Normal Strong Yes
D8 Sunny Mild High Weak No
D9 Sunny Cool Normal Weak Yes
D10 Rain Mild Normal Weak Yes
D11 Sunny Mild Normal Strong Yes
D12 Overcast Mild High Strong Yes
D13 Overcast Hot Normal Weak Yes
D14 Rain Mild High Strong No
| Sv |
Gain( S , Wind ) = Entropy ( S ) − ∑
v∈{Weak , Strong } | S |
Entropy ( S v )
→Vì vậy, Outlook được chọn là thuộc tính kiểm tra cho nút gốc!
Ở 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ạ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
Outlook=? O tl k ?
Outlook=?
Sunny Rain Sunny Overcast Rain
Overcast
Humidity=? Y
Yes Wind=? Temperature=? Y
Yes Wind=?
i
High Normal Strong Weak Hot Cool Mild Strong Weak
No Yes
→ 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
C4.55
Khai Phá Dữ Liệu
55