1
Chương 6. Hc máy
Lê Thanh Hương
Bô HTTT Kh CNTT
1
B
m
ô
n
HTTT
,
Kh
oa
CNTT
Đại hc Bách khoa Hà Ni
6.1. Hc
Hcđề cpđếncác
thay đổi
cahthng theo
Hc
đề
cp
đến
các
thay
đổi
ca
h
thng
theo
hướng thích nghi: chúng cho phép h thng
thc hin các công vic trong cùng mt môi
trường hiu qu hơn t ln thc hin th 2”
2
Các phương pháp hc
Hc có giám sát: biết trước câu tr li đúng
Hc không giám sát: không biết trước câu
tr li đúng
Hc tăng cường: đôi khi có thưởng/pht cho
các hành động
3
Nhng gì cn hc?
Mo trong tìm kiếm
Mo
trong
tìm
kiếm
•Hàm đánh giá trò chơi
•Tri thc khai báo (các mnh đề logic)
•Các b phân loi
Cu trúc phân loi
4
Cu
trúc
phân
loi
–Ng pháp
2
Hc có giám sát: qui np
Trường hptng quát:
Trường
hp
tng
quát:
Cho tp các cp (x, f(x)), tìm hàm f.
Phân loi:
Cho tp các cp (x, y) vi y là 1 nhãn, tìm hàm
cho phép gán x vi giá tr đúng ca nó.
Phân loiđơngin:
5
Phân
loi
đơn
gin:
Cho tp các cp (x, y) vi x là 1 đối tượng và y =
+ nếu x thuc đúng lp và - nếu ngược li. Tìm
hàm cho phép gán nhãn chính xác.
Coi hc như vic tìm kiếm
Đoán hàm phù hpvicácđầu vào = xác
Đoán
hàm
phù
hp
vi
các
đầu
vào
=
xác
định 1 gi thiết.
Không gian gi thiết = tp tt c các gi thiết
có th.
•Hc là vic tìm kiếm 1 gi thiết phù hp trong
không gian githiết
6
không
gian
gi
thiết
Các phương pháp phân loi
Hc qui np
Hc
qui
np
Láng ging gn
•Xác sut
Cây quyết định
•Mng nơron
7
•Gii thut di truyn
•…
6.2. Hc cây quyết định
Bài toán: quyết định có đợi 1 bàn quán ăn không, da trên các
thông tin sau:
1
Lachn khác
: quán ăn nào khác gnđó không?
1
.
La
chn
khác
:
quán
ăn
nào
khác
gn
đó
không?
2. Quán rượu: có khu vc phc v đồ ung gn đó không?
3. Fri/Sat: hôm nay là th sáu hay th by?
4. Đói: chúng ta đã đói chưa?
5. Khách hàng: s khách trong quán (không có, vài người,
đầy)
6.
Giá c
:khong giá ($,$$,$$$)
8
6.
Giá
c
:
khong
giá
($,$$,$$$)
7. Mưa: ngoài tri có mưa không?
8. Đặt ch: chúng ta đã đặt trước chưa?
9. Loi: loi quán ăn (Pháp, Ý, Thái, quán ăn nhanh)
10. Thi gian đợi: 0-10, 10-30, 30-60, >60
3
Phép biu din da trên thuc tính
•Các mu được miêu t dưới dng các giá tr thuc tính
(logic, ri rc, liên tc)
•Ví d
,
tình hun
g
khi đ
i 1 bàn ăn
, g
9
•Các loi (lp) ca mu là khng định (T) hoc ph định (F) 10
Patrons, WaitEstimates, Alternative, Hungry, Rain
Cây quyết định
… là cách biu din các gi thiết.
11
Không gian gi thiết
Khi ó th h B l láâ ếtđị hlà?
Khi
c
ó
n
th
u
c
n
h
B
oo
l
ean, s
l
ượng c
á
c c
â
y quy
ết
đị
n
h
là?
= s các hàm Boolean
= s các giá tr khác nhau trong bng ví d mu vi 2nhàng
= 22n
Ví d, vi 6 thuc tính Boolean, có
18,446,744,073,709,551,616 cây
12
4
Thut toán ID3
Mc đích: tìm cây tho mãn tp mu
Ý tưởng: (lp) chn thuc tính quan trng nht làm gc ca
cây/cây con
ID3(Examples, Target_attribute, Attributes)
/* Examples: các mu luyn
Target_attribute: thuc tính cn đoán giá tr
Attributes: các thuc tính có th được kim tra qua phép hc
cây quyết định. */
•To 1 nút gc Root cho cây
13
If Examples +, tr v cây ch có 1 nút Root, vi nhãn +
If Examples -, tr v cây ch có 1 nút Root, vi nhãn –
If Attributes rng, tr v cây ch có 1 nút Root, vi nhãn = giá tr
thường xut hin nht ca Target_attribute trong Examples
Thut toán ID3
Otherwise Begin:
–A thuc tính trong Attributes cho phép phân loi tt nht
Examples
Thuc tính quyếtđịnh ca nút gc
A
Thuc
tính
quyết
định
ca
nút
gc
A
–Vi các giá tr vicó th có ca A,
Thêm 1 nhánh mi dưới gc, ng vi phép kim tra A = vi
Đặt Examplesvi = tp con ca Examples vi giá tr thuc
tính A = vi
If Examplesvi rng
Then, dưới nhánh mi này, thêm 1 lá vi nhãn = giá tr
14
thường xu
t hin nh
t c
a Target_attribute trong
Examples
–Else, dưới nhánh mi này thêm cây con
ID3(Examplesvi, Target_attribute, Attributes - {A}))
•End
Return Root
Thuc tính nào tt nht?
15
S dng lượng thông tin đạt được Information Gain
Öxác định thông qua độ đo Entropy
Entropy ca mttpmu
•S là mt tp mu ca tp luyn
p
+
tlcác mudương trong S
p
+
t
l
các
mu
dương
trong
S
•p-là t l các mu âm trong S
16
•Entropy đo độ nhiu ca S = s các bit cn thiết để
mã hoá lp + hoc - ca các thành viên ngu nhiên
ca S
•Entropy(S) = - p+*log2p+-p
-*log2p-
5
Entropy
Entropy H(X) ca biến ngu nhiên X:
Ví d,vi S gm 9 mu dương và 5 mu âm, kí hiu
S([9+,5-]).
Entropy([9+ 5
-
])
17
Entropy([9+
,
5
-
])
= - (9/14)log2(9/14) – (5/14)log2(5/14)
= 0.940
Information Gain
Gain(S, A) = độ gim entropy do vic phân loi trong A
Sv
Gain(S,A) = Entropy(S) )(
)(
SvEntropy
S
Sv
AValuesv
18
Ví d:tpluyn
Day Outlook Temperature Humidity Wind PlayTennis
D1 Sunny Hot High Weak No
D2 Sunny Hot High Strong No S =
[
9+
,
5-
]
D3 Overcast Hot High Weak Yes
D4 Rain Mild High Weak 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
S
Cl
Nl
Wk
Y
[,
]
Humidity
={High,Normal}:
Shigh=[3+,4-];
Snormal=[6+,1-]
Wind ={Weak,Strong}:
Sw
ea
k= [6+,2-];
19
D9
S
unny
C
oo
l
N
orma
l
W
ea
k
Y
es
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
weak
Sstrong = [3+,3-]
Thuc tính nào phân loi tt nht?
Humidity
High
Normal
Wind
Weak
Strong
S:[9+,5-]
E=0.940
S:[9+,5-]
E=0.940
High
Normal
Strong
[3+,4-]
E=0.985
[6+,1-]
E=0.592
[6+,2-]
E=0.811
[3+,3-]
E=1.000
Gain(S,Wind) = Entropy(S) –
= Entropy(S) – (8/14)Entropy(SWeak) (6/14)Entropy(SStron
g
)
)(
)(
SvEntropy
S
Sv
AValuesv
20
g
= 0.940 – (8/14)*0.811 – (6/14)*1.00 = 0.048
Gain(S,Humidity) = 0.940 – (7/14)*0.985 (7/14)*0.592 = 0.151
Gain(S,Outlook)=0.246; Gain(S,Humidity)=0.151
Gain(S,Wind)=0.048; Gain(S,Temperature)=0.029