You are on page 1of 30

Hc My

(IT 4862)

Nguyn
Nht
h Quang
quangnn-fit@mail.hut.edu.vn

Trng i hc Bch Khoa H Ni


Vin Cng ngh thng tin v truyn thng
Nm hc 2011-2012

Ni dung
d
mn
hc:
h

Gii thiu chung


g

nh gi hiu nng h thng hc my

Cc phng php hc da trn xc sut

Cc phng php hc c gim st

Hc quy np lut (Rule induction)

Cc phng php hc khng gim st

L cng
Lc
tc
t

Hc tng cng
Hc My IT 4862

Quy np
p lut Gii thiu (1)

hc mt tp cc lut (IF-THEN) cho bi ton phn loi


Ph hp khi hm mc tiu (phn loi) c th c biu din bng
mt tp cc lut (IF-THEN)
Hm mc tiu: h {Lut1, Lut2, ..., Lutm}
Lutj IF (iu-kinj1 iu-kinj2 ... iukinjn) THEN Kt lunj

Cc lut (IF-THEN)
Mt phng php ph bin biu din tri thc
Phng php biu din d hiu nht i vi ngi dng

Hc My IT 4862

Quy np
p lut Gii thiu (2)

Nhc li: Hc cy quyt nh (Decision tree learning) cng


php
p hc
mt
tp
p cc lut
logic
g nh

c cho p
Bc 1: Hc cy quyt nh
Bc 2: Biu din mi ng i trong cy (t nt gc n nt l)
thnh mt lut tng ng

Hc mt tp cc lut
Hc
cy
yq
quyt
y nh:

Tp
p cc lut
logic
g nh
c
hc
ng
g thi
Hc quy np lut: Tp cc lut logic nh /v t c hc tun t
(tng lut mt)

C gii
Cc
ii thut
th t khc
kh nhau
h hc
h cc
kiu
ki lut
l t khc
kh nhau
h
Cc lut logic nh (ch s dng cc k hiu hng)
logic
g v t ((s dng
g c cc k
hiu
bin v cc k
hiu
v t))
Cc lut
kh nng din t cao hn
Hc My IT 4862

Quy np
p lut V d (1)

Hc mt tp cc lut logic nh
Vd: Hm mc
tiu (p
(phn loi)
) Buy
y_Computer
p
c
biu din bi:
IF (Age=Old Student=No) THEN Buy_Computer=No
IF (Student=Yes) THEN Buy_Computer=Yes
IF (Age=Medium Income=High) THEN Buy_Computer=Yes

Hc mt tp cc lut logic v t
Vd: Hm mc tiu (khi nim) Ancestor c biu din bi:
( ,y) THEN Ancestor(x,y)
( ,y)
IF Parent(x,y)
IF Parent(x,y) Ancestor(y,z) THEN Ancestor(x,z)
((Parent(x,y)
( ,y) l mt
v t th hin
y l cha/m
ca x))
Hc My IT 4862

Quy np
p lut V d (2)
Lut:

IF (Age=Old Student=No) THEN Buy_Computer=No

Nhng
Rec. ID

v d no c phn loi chnh xc bi lut trn?


Age

Income

Student

Credit_Rating

Buy_Computer

Young

High

No

Fair

No

Medium

High

No

Fair

Yes

Old

Medium

No

Fair

Yes

Old

L
Low

Y
Yes

E
Excellent
ll t

N
No

Medium

Low

Yes

Excellent

Yes

Young

Medium

No

Fair

No

Old

Medium

Yes

Fair

Yes

Medium

High

Yes

Fair

Yes

Old

Medium

No

Excellent

No

Hc My IT 4862

Quy np lut nh Hun luyn

Hc mt tp cc lut theo chin lc bao ph gia tng


((incremental covering
g strategy)
gy)
Bc 1: Hc mt lut
Bc 2: Loi khi tp hun luyn nhng v d hc no c phn loi chnh
xc bi lut va hc c
Lp li 2 bc ny hc lut khc (s dng tp hun luyn sau loi b)

Qu trnh hc
H
Hc cc
lut
l t tun
t t
t (bao
(b ph
h gia
i tng
t i vi
i tp
t hun
h luyn)
l )
Qu trnh hc tip tc (lp) ty theo mong mun tp lut hc c bao ph
n mc no (hoc ton b) tp hun luyn

Tp lut hc c s c sp
th t theo mt tiu ch nh gi
hiu nng (vd: chnh xc phn loi)
Cc lut s c kim tra theo ng
g trt t ny,
y khi thc hin p
phn loi mt
v d trong tng lai
Hc My IT 4862

Sequential-Covering(TargetAttribute, Attributes, TrainingSet, Threshold)


LearnedRules {}
Rule LEARN-ONE-RULE(TargetAttribute, Attributes, TrainingSet)
while PERFORMANCE(Rule, TrainingSet) > Threshold
LearnedRules LearnedRules Rule
TrainingSet TrainingSet \ {cc v d c phn loi chnh xc bi Rule}
Rule LEARN-ONE-RULE(TargetAttribute, Attributes, TrainingSet)
end while
S xp
Sp
LearnedRules
L
dR l
theo
h nh
h gi
i PERFORMANCE i vi
i tp
TrainingSet
T i i S t
return {LearnedRules, DefaultRule}
DefaultRule:
D f ltR l IF <null>
ll THEN (Gi tr
t ph
h bin
bi nht
ht ca
TargetAttribute
trong tp TrainingSet)
LEARN-ONE-RULE: Hm thc hin hc mt lut i vi tp TrainingSet
PERFORMANCE: Hm nh gi cht lng (hiu qu) ca mt lut hc c
Hc My IT 4862

Quy np lut nh Phn loi

i vi mt v d cn phn loi:
C
Cc lut
l t hc
h c

s
c

ki tra
kim
t (khai
(kh i thc)
th ) tun
t t
t theo
th
ng trt t thu c trong giai on hun luyn
tm c
u tin p
ph hp
p vi v d
((cc iu kin
trong
g
Lut
mnh IF ca lut ph hp vi v d) s c s dng phn
loi v d ny
V d
c
p
phn loi
da
trn kt lun
((nhn lp)
p) trong
g
mnh THEN ca lut
Nu khng c bt k lut no ph hp vi v d, th v d ny
c phn loi bi lut mc nh (DefaultRule)
DefaultRule: V d c phn vo lp chim s ng trong
tp hun luyn
Hc My IT 4862

Chin lc bao ph gia tng Cc vn

Chuyn bi ton (phc tp hn) hc mt tp cc lut thnh mt


chui cc bi ton ((n g
gin hn),
), mi bi ton hc
mt
lut

Sau khi hc c mt lut, th tt c cc v d hc b bao ph


(c phn loi chnh xc) bi lut s c loi khi tp hun
luyn
Mi lut c hc mt cch c lp vi cc lut khc Vn :
Nu cc lut c s ph thuc (tc ng) ln nhau?

tm mt chui cc lut, thc hin chin lc tm kim tham


lam (greedy search) m khng c quay lui xt li (without
backtracking)
Khng m bo tm c mt tp nh nht cc lut
Khng m bo tm c mt tp ti u (vd: v kha cnh phn
loi chnh xc)
c) cc llut
t
Hc My IT 4862

10

Hc mt lut

Cc yu cu i vi hm LEARN-ONE-RULE
Tr v mt
lut
bao ph
p (phn
(p
loi
c)
) mt
s lng
g ln cc v
d hc
Cc v d hc ny ph hp vi cc iu kin ca lut hc c

chnh xc cao
Cc phn loi bi lut hc c cn phi chnh xc

Khng cn thit phi c bao ph qu cao


Khng cn thit phi bao ph (phn loi c) tt c cc v d hc

Gii php: Tm kim (hc) lut t-tng-qut-n-c-th


Bt u vi lut tng qut nht (khng c iu kin no)
B sung vo lut mt iu kin (i vi mt thuc tnh), u tin iu
kin gip ci thin ti a hiu nng ca lut i vi cc v d hc
Lp li bc trn b sung thm mt iu kin khc vo lut
Hc My IT 4862

11

LEARN-ONE-RULE_1(TargetAttribute, Attributes, TrainingSet)


Best_Pre-cond
while
hil (Attributes
(Att ib t ) andd (TrainingSet
(T i i S t )
// 1. Sinh ra tp ng c ca cc iu kin c th b sung (thm vo) mnh IF ca lut
All_constraints Tp cc iu kin c dng (A=v), trong A
Att ib t v
Attributes
v l mt
t gi
i tr
t ca
A xy
ra trong
t
T i i S t
TrainingSet
Candidate_Pre-conds for each c All_constraints, To mt
mnh iu kin (Best_Pre-cond c)
// 2.
2 Cp
C nht
h mnh
h iu
i kin
ki tt
nht
h Best_Pre-cond
d
Best_Pre-cond argmaxPC Candidate_Pre-conds {PERFORMANCE(PC,
TrainingSet, TargetAttribute)}
Attributes
Att
ib t Attributes
Att ib t \ {Thuc tnh A+ tng ng vi iu kin c+
va mi c b sung vo Best_Pre-cond}
(*)

TrainingSet {Cc v d hc ph hp vi Best_Pre-cond}


endd while
hil
return (Lut: IF Best_Pre-cond THEN prediction)
(prediction gi tr (nhn lp) ph bin nht ca TargetAttribute trong s
cc v d hc, TrainingSet (trc Bc (*)), ph hp vi Best_Pre-cond
Hc My IT 4862

12

LEARN-ONE-RULE_1

[Mitchell, 1997]
Hc My IT 4862

13

LEARN-ONE-RULE_1 Cc vn

LEARN-ONE-RULE_1 c chin lc tm kim ging nh ID3


Hc (pht trin) lut/cy bng cch b sung dn dn cc iu kin
i vi cc thuc tnh
Dng, khi lut/cy hc c t ti mc hiu nng chp nhn c

Nh
Nhng
c
s khc
kh nhau:
h
Ti mi bc tm kim, LEARN-ONE-RULE_1 ch i theo mt hng
c th ha iu kin (A=v*) gip em li hiu nng cao nht
ID3 pht trin mt cy con gm tt c cc gi tr c th vi ca A

LEARN-ONE-RULE_1 thc hin tm kim theo chiu su tham


lam (greedy depth
depth-first),
first) khng xt li (without backtracking)
Ti mi bc tm kim, iu kin c b sung (A=v*) c th
khng ti u

Gii php khc phc: Thc hin tm kim chm (beam search)
Hc My IT 4862

14

LEARN-ONE-RULE_2 Beam search

Ti mi bc tm kim, lu gi mt tp gm k (thay v ch 1)
mnh iu kin (IF) tt nht
Ti mt bc tm kim:

Cc c th ha (b sung thm 1 iu kin) c sinh ra cho mi


trong
g s k mnh
iu kin
tt nht
Ch gi li k cc c th ha c hiu nng cao nht

Qu trnh tm kim hc cc lut theo hng gia tng c th ha


(b sung dn cc iu kin)
Cho n khi thu c lut c th ha ti a (phn mnh iu
kin lin quan n tt c cc thuc tnh)

Mc d vic s dng Beam search (trong vic hc mt lut)


gip gim nguy c hc c mt lut khng ti u; Nhng vic
s dng
g Greedy
y search (trong
(
g vic hc mt tp cc lut)) vn
c th dn n hc c mt tp khng ti u ca cc lut
Hc My IT 4862

15

LEARN-ONE-RULE_2(TargetAttribute, Attributes, TrainingSet)


Best_Pre-cond

// mnh iu kin tng


gq
qut nht

Candidate_Pre-conds {Best_Pre-cond}
while (Attributes )
// 1.
1 Sinh
Si h ra tp ng
c
ca
cc
i
iu kin
ki c th b sung (thm
(th vo)
) mnh
h IF ca
cc
lut
l t
All_constraints Tp cc iu kin c dng (A=v), trong
A Attributes v v l mt gi tr ca A
xy
ra trong TrainingSet
New_candidate_Pre-conds
for each pc Candidate_Pre-conds,
for each c All_constraints,
To mt mnh iu kin (pc c)
Loi khi tp New_candidate_Pre
New candidate Pre-conds
conds bt k mnh iu kin no
trng lp hoc mu thun

// vd: (Ai=vj) (Ai=vk)

...

Hc My IT 4862

16

LEARN-ONE-RULE_2(TargetAttribute, Attributes, TrainingSet)


...
// 2. Xc nh li mnh iu kin tt nht
for each pc New_candidate_Pre-conds
if (PERFORMANCE(pc,
(PERFORMANCE(pc TrainingSet
TrainingSet, TargetAttribute) >
PERFORMANCE(Best_Pre-cond, TrainingSet, TargetAttribute))
then Best_Pre-cond pc
// 3. Xc nh li tp cc mnh iu kin hin ti (Gi li ti a k phn t!)
Candidate_Pre-conds Tp gm k phn t tt nht trong tp
New_candidate_Pre-conds, da trn nh gi PERFORMANCE
end while
return (Lut: IF Best_Pre-cond THEN prediction)
(prediction gi tr (nhn lp) ph bin nht ca TargetAttribute trong s
cc v d hc (TrainingSet) ph hp vi Best_Pre-cond

Hc My IT 4862

17

nh ggi hiu qqu ca mt lut (1)

Hm PERFORMANCE(.) c s dng trong cc gii


thut nu trn

nh gi da trn t l phn loi chnh xc


D_trainR: Tp
T cc
v d
d hc
h ph
h h
hp vi
i mnh
h i
iu ki
kin (IF)
ca lut R
R
_
n: Kch thc ca tp D_train

nc: S lng cc v d trong tp D_trainR c phn loi chnh


xc bi R
PERFORMANCE ( R, D _ train R ) =

Hc My IT 4862

nc
n

18

nh ggi hiu qqu ca mt lut (2)

nh gi da trn c lng (m-estimate) v chnh xc


p: Xc sut trc (tin nghim) ca vic mt v d,
d c ly ngu
nhin t tp d liu, phn lp c bng lut R
p l chnh xc c gi nh trc

m: Gi ttr ttrng s
ch
h nh
h mc

nh
hh
hng
ca
xc
sut
t trc
t p
i vi nh gi hiu nng ca lut

Nu m=0, th phng php m-estimate tr thnh phng php nh


gi da trn t l phn loi chnh xc

nc + mp
PERFORMANCE ( R, D _ train ) =
n+m
R

Hc My IT 4862

19

nh ggi hiu qqu ca mt lut (3)

nh gi da trn gi tr Entropy
c:: S lng cc gi tr ca thuc tnh phn loi (= S lng nhn
lp)
pi: T l s lng cc v d trong tp D_trainR c phn
(gn) vo lp th i
PERFORMANCE ( R, D _ train R ) = Entropy ( D _ train R )
c

= pi . log 2 pi
i =1

Hc My IT 4862

20

Cc lut logic
g v t

Cc nh ngha hnh thc trong logic v t

Hng (nh trong logic nh ) Vd: John


Bin Vd: x
V t Vd : Male(John)
H Vd:
Hm
Vd age(John)
(J h )

Term: l mt hng, hoc mt bin, hoc l mt hm i vi term


khc Vd: age(x)
Literal: l mt v t (hoc ph nh ca v t) i vi mt tp cc
terms Vd: Greater_Than(age(John),20), Male(x)

Mt lut logic v t l mt mnh dng chun Horn


H v Li(i=1..n) l cc literals
Lut logic v t:
IF L1 ... Ln THEN H
Dng
D
chun
h Horn
H
ttng
ng:
H V L1 V ... V Ln
Hc My IT 4862

21

Hc cc lut logic v t Gii thut FOIL

hc mt tp cc lut logic v t (c cha cc bin)


Cc lut logic v t c kh nng din t cao hn nhiu so vi cc
l t logic
lut
l i nh
h

Gii thut FOIL (first-order inductive logic)


Bt u vi mt tp rng (cc lut hc c)
Hc
H mt
t lut
l t mi,
i v
sau b sung vo
tp
t cc
lut
l t hc
h c

Tun t b sung cc literals kt hp (conjunctive) vo trong lut


mi, cho n khi khng c v d sai no (negative instance)
c phn loi (ph hp) vi lut mi
Mt v d sai l v d tha mn mn iu kin (IF) ca lut,
nhng c gi tr sai i vi v t (trong mnh THEN)

Khi xt cc literals ng
g c vin,, cn la
chn
literal c gi
g tr
nh gi Foil_Gain ln nht
Loi b cc v d ng (positive instances) i vi lut mi
Lp li hc mt lut khc...Cho n khi khng cn v d ng
(positive instances) no na

Hc My IT 4862

22

FOIL(TargetPredicate, Predicates, TrainingSet)


PosSet The instances in TrainingSet for which TargetPredicate is true
NegSet The instances in TrainigSet for which TargetPredicate is false
Learned_rules
while (PosSet )
// Learn a new rule
R The most general rule (i.e., the one that predicts TargetPredicate
with no precondition)
NegSet_R NegSet
while (NegSet_R
(
)
// Add a new literal to specialize R
_
Generate candidate new literals for R, based
Candidate_literals
on Predicates
...

Hc My IT 4862

23

FOIL(Target_predicate, Predicates, Examples)


...
Best_literal argmaxL Candidate_literalsFoil_Gain(L,R)
Add Best_literal
Best literal to the preconditions of R
NegSet_R {instances in NegSet_R that match the precondtions of R}
end while
Learned_rules {Learned_rules, R}
PosSet PosSet \ {instances in PosSet covered by R}
end while
return Learned_rules

Hc My IT 4862

24

Hc lut logic v t Phn loi


i vi 1 v d cn phn loi:
Xt (kim
(ki tra)
t ) tun
t t
t cc
lut
l t hc
h c

th ng
theo
th t
t
ca chng thu c sau qu trnh hun luyn
Lut u tin tm c tha mn v d (l lut c mnh iu
kin IF tha mn/ph hp vi v d) s c dng phn loi
V d c phn loi bi mnh THEN ca lut
Nu khng c lut no ph hp vi v d, th v d c phn
loi bi lut mc nh (default rule)
V d c gn nhn lp bi gi tr (nhn lp) ph bin
nht trong tp hun luyn

Hc My IT 4862

25

Sn sinh cc iu kin c th ha trong FOIL

Lut cn c c th ha: L1 ... Ln P(x1,...,xk)


L1,...,L
Ln: Cc literals to nn mnh iu kin ca lut
P(x1,...,xk): Literal to nn mnh kt lun ca lut

Sinh ra cc iu kin c th ha ca lut bng cch b


sung mt literal mi Ln+1 , c th l:
xi=xj, xi=c, xi>xj, xixj; trong
g xi v xj l cc bin tn
ti trong lut
Q(y1,...,ym); trong Q l mt v t thuc tp Predicates,
v yi l cc bin v t nht mt trong s cc bin ny (yi) phi
tn ti trong lut
Dng ph nh (negation) ca 1 trong 2 dng literals nu trn
Hc My IT 4862

26

FOIL nh hng qu trnh tm kim

Literal no (trong s cc iu kin c th ha - candidate


specialization literals) nn c b sung thm vo lut?

Gii thut FOIL s dng hm Foil_Gain nh gi


hiu qu ca vic b sung thm mt literal vo lut

Foil_Gain u tin vic b sung mt literal cho php


mang
g li
mt
lut
mi c nhiu rng
g buc
ng
g (p
(positive
bindings) v t rng buc sai (negative bindings) hn lut
ban u (trc khi b sung literal)
Mt rng buc bin
(variable binding) l mt php gn (thay th)

mi bin bng mt hng s (gi tr)


Mt rng
g buc ng
g (p
(positive binding)
g) l mt rng
g buc bin lm
cho (mnh THEN ca) lut l ng
Hc My IT 4862

27

Hm nh gi Foil_Gain

p0
p1

Foil _ Gain ( L , R ) = t . log 2


log 2
p1 + n1
p 0 + n0

R: Lut ban u (trc khi b sung literal L)


L: Literal ng c vin b sung vo lut R
p0: S lng cc rng buc ng (positive bindings) ca lut R
g cc rng
g buc
sai (negative
( g
bindings)
g ) ca lut
R
n0: S lng
p1: S lng cc rng buc ng ca lut mi (R+L)
n1: S lng cc rng buc sai ca lut mi (R+L)
t: S lng cc rng buc ng ca lut ban u R cng l cc
rng buc ng ca lut mi (R+L) (S lng cc rng buc bin
R v (R+L) cng
g ng)
g)
lm cho c 2 lut
Hc My IT 4862

28

Gii thut FOIL Cc vn

Cc lut hc c bi gii thut FOIL b hn ch (gii


hn) hn l cc mnh Horn tng qut
Cc literals khng c php cha cc k hiu hm. (L do:
gim s phc tp ca vic tm kim trong khng gian cc kh
nng)

Cc lut hc c bi gii thut FOIL c kh nng din


t cao hn
t
h (more
(
expressive
i th
than)) cc
mnh
h Horn
H
tng qut
Cc literals xut hin trong mnh iu kin ca lut (i.e.,
(i e
L1,...,Ln) c th (c php) dng ph nh

Hc My IT 4862

29

Ti liu tham kho


T. M. Mitchell. Machine Learning. McGraw-Hill, 1997.

Hc My IT 4862

30

You might also like