Uˇcen´ı, rozhodovac´ı stromy, neuronov´e s´ıtˇe
Aleˇs Hor´ak
E-mail: hales@fi.muni.cz http://nlp.fi.muni.cz/uui/
Obsah:
◮ Uˇcen´ı
◮ Rozhodovac´ı stromy
◮ Hodnocen´ı ´uspˇeˇsnosti uˇc´ıc´ıho algoritmu
◮ Neuronov´e s´ıtˇe
Uvod do umˇ´ el´e inteligence 11/12 1 / 39 Uˇcen´ı
Uˇcen´ı
◮ uˇcen´ıje kl´ıˇcov´e pro nezn´am´e prostˇred´ı (kde n´avrh´aˇr nen´ı vˇsevˇedouc´ı)
◮ uˇcen´ı je tak´e nˇekdy vhodn´e jako metoda konstrukce syst´emu – vystavit agenta realitˇe m´ısto pˇrepisov´an´ı reality do pevn´ych pravidel
◮ uˇcen´ı agenta – vyuˇzit´ı jeho vjem˚u z prostˇred´ı nejen pro vyvozen´ı dalˇs´ı akce
◮ uˇcen´ı modifikuje rozhodovac´ı syst´em agenta pro zlepˇsen´ı jeho v´ykonnosti
Uvod do umˇ´ el´e inteligence 11/12 2 / 39
Uˇcen´ı Uˇc´ıc´ı se agent
Uˇc´ıc´ı se agent
V´ykonnostn´ı standard
Agent
Prostˇred´ı
Senzory
Akˇcn´ı prvky V´ykonnostn´ı komponenta zmˇeny
znalosti c´ıle
uˇcen´ı Gener´ator probl´em`u zpˇetn´a vazba
Komponenta uˇcen´ı Kritika
experimenty
pˇr´ıklad automatick´eho taxi:
◮ V´ykonnostn´ı komponenta – obsahuje znalosti a postupy pro v´ybˇer akc´ı pro vlastn´ı ˇr´ızen´ı auta
◮ Kritika – sleduje reakce okol´ı na akce taxi.
Napˇr. pˇri rychl´em pˇrejet´ı 3 pod´eln´ych pruh˚u zaznamen´a a pˇred´a pohorˇsuj´ıc´ı reakce dalˇs´ıch ˇridiˇc˚u
◮ Komponenta uˇcen´ı – z hl´aˇsen´ı Kritiky vyvod´ı nov´e pravidlo, ˇze takov´e pˇrej´ıˇzdˇen´ı je nevhodn´e, a modifikuje odpov´ıdaj´ıc´ım zp˚usobem V´ykonnostn´ı komponentu
◮ Gener´ator probl´em˚u – zjiˇst’uje, kter´e oblasti by mohly potˇrebovat vylepˇsen´ı a navrhuje experimenty, jako je tˇreba brˇzdˇen´ı na r˚uzn´ych typech vozovky
Uvod do umˇ´ el´e inteligence 11/12 3 / 39
Uˇcen´ı Komponenta uˇcen´ı
Komponenta uˇcen´ı
n´avrh komponenty uˇcen´ız´avis´ı na nˇekolika atributech:
– jak´y typ v´ykonnostn´ı komponenty je pouˇzit
– kter´a funkˇcn´ı ˇc´ast v´ykonnostn´ı komponenty m´a b´yt uˇcena – jak je tato funkˇcn´ı ˇc´ast reprezentov´ana
– jak´a zpˇetn´a vazba je k dispozici
v´ykonnostn´ı funkˇcn´ı ˇc´ast reprezentace zpˇetn´a vazba komponenta
Alfa-beta vyhodnocovac´ı funkce v´aˇzen´a line´arn´ı v´yhra/prohra
prohled´av´an´ı funkce
Logick´y agent urˇcen´ı akce axiomy Result v´ysledn´e sk´ore
Reflexn´ı agent v´ahy preceptronu neuronov´a s´ıt’ spr´avn´a/ˇspatn´a akce
uˇcen´ı s dohledem (supervised learning ) × bez dohledu (unsupervised learning)
◮ s dohledem – uˇcen´ı funkce z pˇr´ıklad˚u vstup˚u a v´ystup˚u
◮ bez dohledu – uˇcen´ı vzor˚u na vstupu vzhledem k reakc´ım prostˇred´ı
◮ pos´ılen´e (reinforcement learning ) – nejobecnˇejˇs´ı, agent se uˇc´ı podle odmˇen/pokutUvod do umˇ´ el´e inteligence 11/12 4 / 39
Uˇcen´ı Induktivn´ı uˇcen´ı
Induktivn´ı uˇcen´ı
zn´am´e taky jako vˇeda ,
nejjednoduˇsˇs´ı forma – uˇcen´ı funkce z pˇr´ıklad˚u (agent je tabula rasa) f je c´ılov´a funkce
kaˇzd´y pˇr´ıklad je dvojice x, f (x) napˇr.
O O ×
×
×
, +1
´
ukol indukce:
najdi hypot´ezu h takovou, ˇze h ≈ f
pomoc´ı sady tr´enovac´ıch pˇr´ıklad˚u
Uvod do umˇ´ el´e inteligence 11/12 5 / 39
Uˇcen´ı Atributov´a reprezentace pˇr´ıklad˚u
Atributov´a reprezentace pˇr´ıklad˚ u
pˇr´ıklady popsan´e v´yˇctem hodnot atribut˚u (libovoln´ych hodnot) napˇr. rozhodov´an´ı, zda poˇckat na uvolnˇen´ı stolu v restauraci:
Pˇr´ıklad Atributy
poˇckat?
Alt Bar P´a/So Hlad ˇS tam Cen D´eˇst′ Rez Typ C ekDˇ
X1 A N N A ˇc´ast. $$$ N A mexick´a 0–10 A
X2 A N N A plno $ N N asijsk´a 30–60 N
X3 N A N N ˇc´ast. $ N N bufet 0–10 A
X4 A N A A plno $ N N asijsk´a 10–30 A
X5 A N A N plno $$$ N A mexick´a >60 N
X6 N A N A ˇc´ast. $$ A A pizzerie 0–10 A
X7 N A N N nikdo $ A N bufet 0–10 N
X8 N N N A ˇc´ast. $$ A A asijsk´a 0–10 A
X9 N A A N plno $ A N bufet >60 N
X10 A A A A plno $$$ N A pizzerie 10–30 N
X11 N N N N nikdo $ N N asijsk´a 0–10 N
X12 A A A A plno $ N N bufet 30–60 A
Ohodnocen´ı tvoˇr´ı klasifikaci pˇr´ıklad˚u – pozitivn´ı (A) a negativn´ı (N)
Uvod do umˇ´ el´e inteligence 11/12 6 / 39
Uˇcen´ı Atributov´a reprezentace pˇr´ıklad˚u
Metoda induktivn´ıho uˇcen´ı
zkonstruuj/uprav h, aby souhlasila s f na tr´enovac´ıch pˇr´ıkladech h je konzistentn´ı ⇔ souhlas´ı f f na vˇsech pˇr´ıkladech
napˇr. hled´an´ı kˇrivky:
x f(x)
pravidlo Ockhamovy bˇritvy – maximalizovat kombinaci konzistence a jed- noduchosti (nejjednoduˇsˇs´ı ze spr´avn´ych je nejlepˇs´ı)
Uvod do umˇ´ el´e inteligence 11/12 7 / 39
Uˇcen´ı Atributov´a reprezentace pˇr´ıklad˚u
Metoda induktivn´ıho uˇcen´ı pokraˇc.
hodnˇe z´aleˇz´ı na prostoru hypot´ez, jsou na nˇej protich˚udn´e poˇzadavky:
– pokr´yt co nejvˇetˇs´ı mnoˇzstv´ıhledan´ych funkc´ı – udrˇzet n´ızkou v´ypoˇcetn´ı sloˇzitost hypot´ezy
a)
x f(x)
b)
x f(x)
– stejn´a sada 7 bod˚u
– nejmenˇs´ı konzistentn´ı polynom – polynom 6-t´eho stupnˇe (7 parametr˚u) – m˚uˇze b´yt v´yhodnˇejˇs´ı pouˇz´ıt nekonzistentn´ı pˇribliˇznou line´arn´ı funkci – pˇritom existuje konzistentn´ı funkce ax + by + c sin x
´
Rozhodovac´ı stromy
Rozhodovac´ı stromy
jedna z moˇzn´ych reprezentac´ı hypot´ez – rozhodovac´ı strom pro urˇcen´ı, jestli poˇckat na st˚ul:
Ne Ano
Ne Ano
Ne Ano
Ne Ano
Ne Ano
Ne Ano
>60 30−60 10−30 0−10
Ne Ano
N A
N A
A
A
N A
A N
A
A N
nikdo ˇc´ast. plno
Alternativa?
Hlad?
Rezervace?
Bar? D´eˇst’?
Alternativa?
ˇStamgast˚u?
P´a/So?
OdhadˇCek´an´ı?
Uvod do umˇ´ el´e inteligence 11/12 9 / 39
Rozhodovac´ı stromy Vyjadˇrovac´ı s´ıla rozhodovac´ıch strom˚u
Vyjadˇrovac´ı s´ıla rozhodovac´ıch strom˚ u
rozhodovac´ı stromy vyj´adˇr´ı libovolnou Booleovskou funkci vstupn´ıch atribut˚u → odpov´ıd´a v´yrokov´e logice
∀s poˇckat?(s) ⇔ P1(s) ∨ P2(s) ∨ . . . ∨ Pn(s),
kde Pi(s) = A1(s) = V1 ∧ . . . ∧ Am(s) = Vm
pro libovolnou Booleovskou funkci → ˇr´adek v pravdivostn´ı tabulce = cesta ve stromu (od koˇrene k listu)
N A A
B
N A
B
A B A xor B
F F F
F T T
T F T
T T F
Ne
Ne Ne
Ano
Ano Ano
trivi´alnˇe
pro libovolnou tr´enovac´ı sadu existuje konzistentn´ı rozhodovac´ı strom s jednou cestou k list˚um pro kaˇzd´y pˇr´ıklad
ale takov´y strom pravdˇepodobnˇe nebude generalizovat na nov´e pˇr´ıkladyUvod do umˇ´ el´e inteligence 11/12 10 / 39
Rozhodovac´ı stromy Prostor hypot´ez
Prostor hypot´ez
1. vezmˇeme pouze Booleovsk´e atributy, bez dalˇs´ıho omezen´ı
Kolik existuje r˚uzn´ych rozhodovac´ıch strom˚u s n Booleovsk´ymi atributy?
= poˇcet vˇsech Booleovsk´ych funkc´ı nad tˇemito atributy
= poˇcet r˚uzn´ych pravdivostn´ıch tabulek s 2n ˇr´adky = 22n
napˇr. pro 6 atribut˚u existuje 18 446 744 073 709 551 616 r˚uzn´ych rozhodovac´ıch strom˚u
2. kdyˇz se omez´ıme pouze na konjunktivn´ı hypot´ezy (Hlad ∧ ¬D´eˇst′) Kolik existuje takov´ych ˇcistˇe konjunktivn´ıch hypot´ez?
kaˇzd´y atribut m˚uˇze b´yt v pozitivn´ı nebo negativn´ı formˇe nebo nepouˇzit
⇒ 3n r˚uzn´ych konjunktivn´ıch hypot´ez (pro 6 atribut˚u = 729) prostor hypot´ez s vˇetˇs´ı expresivitou
– zvyˇsuje ˇsance, ˇze najdeme pˇresn´e vyj´adˇren´ı c´ılov´e funkce
– ALE zvyˇsuje i poˇcet moˇzn´ych hypot´ez, kter´e jsou konzistentn´ı s tr´enovac´ı mnoˇzinou
⇒ m˚uˇzeme z´ıskat niˇzˇs´ı kvalitu pˇredpovˇed´ı (generalizace)
Uvod do umˇ´ el´e inteligence 11/12 11 / 39
Rozhodovac´ı stromy Uˇcen´ı ve formˇe rozhodovac´ıch strom˚u
Uˇcen´ı ve formˇe rozhodovac´ıch strom˚ u
◮ trivi´aln´ı konstrukce rozhodovac´ıho stromu
• pro kaˇzd´y pˇr´ıklad v tr´enovac´ı sadˇe pˇridej jednu cestu od koˇrene k listu
• na stejn´ych pˇr´ıkladech jako v tr´enovac´ı sadˇe bude fungovat pˇresnˇe
• na nov´ych pˇr´ıkladech se bude chovat n´ahodnˇe – negeneralizuje vzory z pˇr´ıklad˚u, pouze kop´ıruje pozorov´an´ı
◮ heuristick´a konstrukce kompaktn´ıho stromu
• chceme naj´ıt nejmenˇs´ı rozhodovac´ı strom, kter´y souhlas´ı s pˇr´ıklady
• pˇresn´e nalezen´ı nejmenˇs´ıho stromu je ovˇsem pˇr´ıliˇs sloˇzit´e
→ heuristikou najdeme alespoˇn dostateˇcnˇe mal´y
• hlavn´ı myˇslenka – vyb´ır´ame atributy pro test v co nejlepˇs´ım poˇrad´ı
´
Rozhodovac´ı stromy Uˇcen´ı ve formˇe rozhodovac´ıch strom˚u
V´ybˇer atributu
dobr´y atribut ≡ rozdˇel´ı pˇr´ıklady na podmnoˇziny, kter´e jsou (nejl´epe)
“vˇsechny pozitivn´ı” nebo “vˇsechny negativn´ı”
nikdo ˇc´ast. plno
Stamgast˚ˇ u?
mexick´a pizzerie asijsk´a bufet
Typ?
S tamgast˚ˇ u? je lepˇs´ı volba atributu ← d´av´a lepˇs´ı informaci o vlastn´ı klasifikaci pˇr´ıklad˚u
Uvod do umˇ´ el´e inteligence 11/12 13 / 39
Rozhodovac´ı stromy Uˇcen´ı ve formˇe rozhodovac´ıch strom˚u
V´ybˇer atributu – m´ıra informace
informace – odpov´ıd´a na ot´azku
ˇc´ım m´enˇe dopˇredu v´ım o v´ysledku obsaˇzen´em v odpovˇedi → t´ım v´ıce informace je v n´ı obsaˇzeno
mˇeˇr´ıtko: 1 bit = odpovˇed’ na Booleovskou ot´azku s pravdˇepodobnost´ı odpovˇedi hP(T ) = 12, P(F ) = 12i
n moˇzn´ych odpovˇed´ı hP(v1), . . . , P(vn)i → m´ıra informace v odpovˇedi obsaˇzen´a
I P(v1), . . . , P(vn) = Pni=1−P(vi) log2 P(vi) tato m´ıra se tak´e naz´yv´a entropie
napˇr. pro h´azen´ı minc´ı: I(h12, 12i) = −12 log2 12 − 12 log2 12 = 12 + 12 = 1 bit pro h´azen´ı faleˇsnou minc´ı, kter´a d´av´a na 99% vˇzdy jednu stranu mince:
I(h1001 , 10099 i) = −1001 log2 1001 − 10099 log2 10099 = 0.08 bit˚u
Uvod do umˇ´ el´e inteligence 11/12 14 / 39
Rozhodovac´ı stromy Uˇcen´ı ve formˇe rozhodovac´ıch strom˚u
Pouˇzit´ı m´ıry informace pro v´ybˇer atributu
pˇredpokl´adejme, ˇze m´ame p pozitivn´ıch a n negativn´ıch pˇr´ıklad˚u
⇒ I hp+np , p+nn i bit˚u je potˇreba pro klasifikaci nov´eho pˇr´ıkladu
napˇr. pro X1, . . . , X12 z volby ˇcek´an´ı na st˚ul je p = n = 6, takˇze potˇrebujeme 1 bit
v´ybˇer atributu – kolik informace n´am d´a test na hodnotu atributu A?
= rozd´ıl odhadu odpovˇedi pˇred a po testu atributu
Uvod do umˇ´ el´e inteligence 11/12 15 / 39
Rozhodovac´ı stromy Uˇcen´ı ve formˇe rozhodovac´ıch strom˚u
Pouˇzit´ı m´ıry informace pro v´ybˇer atributu
atribut A rozdˇel´ı sadu pˇr´ıklad˚u E na podmnoˇziny Ei
(nejl´epe tak, ˇze kaˇzd´a potˇrebuje m´enˇe informace) nikdo ˇc´ast. plno
ˇStamgast˚u?
necht’ Ei m´a pi pozitivn´ıch a ni negativn´ıch pˇr´ıklad˚u
⇒ je potˇreba I hppi
i+ni, pni
i+nii bit˚u pro klasifikaci nov´eho pˇr´ıkladu
⇒ oˇcek´avan´y poˇcet bit˚u celkem je Remainder(A) = P
i pi+ni
p+n · I hppi
i+ni, pni
i+nii
⇒ v´ysledn´y zisk atributu A je Gain(A) = I hp+np , p+nn i − Remainder(A) v´ybˇer atributu = nalezen´ı atributu s nejvyˇsˇs´ı hodnotou Gain(A)
Gain(ˇS tamgast˚u?) ≈ 0.541 bit˚u Gain(Typ?) = 0 bit˚u
obecnˇe: Ei (pro A = vi) obsahuje ci,k klasifikac´ı do tˇr´ıd c1, ..., ck
⇒ Remainder (A) = P
i P(vi) · I hP(ci,1), ..., P(ci,k)i
⇒ Gain(A) = I hP(v1), ..., P(vn)i − Remainder(A)
´
Rozhodovac´ı stromy Uˇcen´ı ve formˇe rozhodovac´ıch strom˚u
Algoritmus IDT – uˇcen´ı formou rozhodovac´ıch strom˚ u
% induce tree( +Attributes, +Examples, −Tree) induce tree( , [], null) :- !.
induce tree( , [example( Class, ) | Examples], leaf( Class)) :- % ∀ pˇr´ıklady stejn´e klasifikace
\+ (member( example( ClassX, ), Examples), ClassX \== Class), !.
induce tree( Attributes, Examples, tree( Attribute, SubTrees)) :- choose attribute( Attributes, Examples, Attribute/ ), !,
del( Attribute, Attributes, RestAtts), attribute( Attribute, Values), induce trees( Attribute, Values, RestAtts, Examples, SubTrees).
induce tree( , Examples, leaf( ExClasses)) :- % ˇz´adn´y uˇziteˇcn´y atribut, distribuce klasifikac´ı findall( Class, member( example( Class, ), Examples), ExClasses).
% induce trees( +Att, +Values, +RestAtts, +Examples, −SubTrees):
% najdi podstromy SubTrees pro podmnoˇziny pˇr´ıklad˚u Examples podle hodnot (Values) atributu Att induce trees( , [], , , [] ). % ˇz´adn´e atributy, ˇz´adn´e podstromy
induce trees( Att, [Val1 | Vals], RestAtts, Exs, [Val1 : Tree1 | Trees]) :- attval subset( Att = Val1, Exs, ExampleSubset),
induce tree( RestAtts, ExampleSubset, Tree1), induce trees( Att, Vals, RestAtts, Exs, Trees).
% attval subset( +Attribute = +Value, +Examples, −Subset):
% Subset je podmnoˇzina pˇr´ıklad˚u z Examples, kter´e splˇnuj´ı podm´ınku Attribute = Value attval subset( AttributeValue, Examples, ExampleSubset) :-
findall( example( Class, Obj),
(member( example( Class, Obj), Examples), satisfy( Obj, [ AttributeValue])), ExampleSubset).
% satisfy( Object, Description)
satisfy( Object, Conj) :- \+ (member( Att = Val, Conj), member( Att = ValX, Object), ValX \== Val).
Uvod do umˇ´ el´e inteligence 11/12 17 / 39
Rozhodovac´ı stromy Uˇcen´ı ve formˇe rozhodovac´ıch strom˚u
Algoritmus IDT – uˇcen´ı formou rozhodovac´ıch strom˚ u
% choose attribute( +Atts, +Examples, −BestAtt/BestGain) − v´ybˇer nejlepˇs´ıho atributu choose attribute([], , 0/0).
choose attribute([Att], Examples, Att/Gain):- !, gain(Examples, Att, Gain).
choose attribute([Att|Atts], Examples, BestAtt/BestGain):- choose attribute(Atts, Examples, BestAtt1/BestGain1), gain(Examples, Att, Gain),
(Gain>BestGain1, !, BestAtt=Att, BestGain=Gain ; BestAtt=BestAtt1, BestGain=BestGain1).
% gain( +Examples, +Attribute, −Gain) − zisk atributu
gain( Exs, Att ,Gain) :- attribute( Att ,AttVals ), length(Exs, Total),
setof(Class, Xˆexample(Class,X), Classes), % mnoˇzina vˇsech Class findall(Nc, (member(C,Classes), cntclass(C,Exs,Nc)), CCnts),
info(CCnts,Total,I), rem(Att, AttVals,Exs,Classes,Total,Rem), Gain is I−Rem.
% info(+ValueCounts, +Total, −I)
% m´ıra informace I P(v1), . . . , P(vn) = Pni=1−P(vi) log2P(vi) info([], , 0).
info([VC|ValueCounts], Total, I) :- info(ValueCounts,Total,I1), (VC = 0, !, I is I1 ;
Pvi is VC / Total, log2(Pvi, LogPvi), I is − Pvi ∗ LogPvi + I1).
Uvod do umˇ´ el´e inteligence 11/12 18 / 39
Rozhodovac´ı stromy Uˇcen´ı ve formˇe rozhodovac´ıch strom˚u
Algoritmus IDT – uˇcen´ı formou rozhodovac´ıch strom˚ u
% rem( +Att, +AttVals, +Exs, +Classes, +Total, −Rem)
% ”zbytkov´a informace” po testu na Att: Remainder (A) =P
iP(vi) · I hP(ci,1), ..., P(ci,k)i rem( , [], , , , 0).
rem( Att, [V | Vs], Exs, Classes, Total, Rem) :-
findall(1, (member(example( , AVs),Exs), member(Att = V, AVs)), L1), length(L1, Nv), % Nv = pi + ni
findall(Ni, (member(C, Classes), cntclassattv(Att,V,C,Exs,Ni)), VCnts), Pv is Nv / Total, % P(v)
info(VCnts,Nv,I), rem(Att,Vs,Exs,Classes,Total,Rem1), Rem is Pv ∗ I + Rem1.
% cntclass( +Class, +Exs, −Cnt) − poˇcet pˇr´ıklad˚u tˇr´ıdy Class cntclass( Class, Exs, Cnt) :-
findall(1, member(example(Class, ),Exs), L), length(L, Cnt).
% cntclass( +Att, +Val, +Class, +Exs, −Cnt)
% poˇcet pˇr´ıklad˚u tˇr´ıdy Class pro hodnotu Val atributu Att cntclassattv( Att, Val, Class, Exs, Cnt) :-
findall(1, (member(example(Class,AVs),Exs), member(Att = Val, AVs)), L), length(L, Cnt).
log2(X, Y) :- Y is log(X) / log(2).
Uvod do umˇ´ el´e inteligence 11/12 19 / 39
Rozhodovac´ı stromy Uˇcen´ı ve formˇe rozhodovac´ıch strom˚u
Algoritmus IDT – pˇr´ıklad
attribute( hlad, [ano, ne]).
attribute( stam, [nikdo, cast, plno]).
attribute( cen, [’$’, ’$$’, ’$$$’]).
. . .
example(pockat, [alt=ano, bar=ne, paso=ne, hlad=ano, stam=cast, cen=’$$$’, dest=ne, rez=ano, typ=mexicka ]).
example(necekat, [alt=ano, bar=ne, paso=ne, hlad=ano, stam=plno, cen=’$’, dest=ne, rez=ne, typ=asijska ]).
. . .
:- induce tree(T),show(T).
stam?
= nikdo necekat
= cast pockat
= plno hlad?
= ano cen?
= $ paso?
= ano pockat
= ne necekat
= $$$
necekat
= ne necekat
´
Rozhodovac´ı stromy Uˇcen´ı ve formˇe rozhodovac´ıch strom˚u
IDT – v´ysledn´y rozhodovac´ı strom
rozhodovac´ı strom nauˇcen´y z 12-ti pˇr´ıklad˚u:
F T
F F
F T
F T
Ne Ano
P´a/So?
nikdo ˇc´ast. plno
ˇStamgast˚u?
Ne Ano
D´eˇst’?
Typ?
mexick´a pizzerie asijsk´a bufet
podstatnˇe jednoduˇsˇs´ı neˇz strom “z tabulky pˇr´ıklad˚u”
Uvod do umˇ´ el´e inteligence 11/12 21 / 39 Hodnocen´ı ´uspˇeˇsnosti uˇc´ıc´ıho algoritmu
Hodnocen´ı ´uspˇeˇsnosti uˇc´ıc´ıho algoritmu
jak m˚uˇzeme zjistit, zda h ≈ f ?
* dopˇredu − pouˇz´ıt vˇety Teorie kom- putaˇcn´ıho uˇcen´ı
po nauˇcen´ı − kontrolou na jin´e tr´enovac´ı sadˇe
pouˇz´ıvan´a metodologie (cross vali- dation):
1. vezmeme velkou mnoˇzinu pˇr´ıklad˚u 2. rozdˇel´ıme ji na 2 mnoˇziny –
tr´enovac´ıa testovac´ı
3. aplikujeme uˇc´ıc´ı algoritmus na tr´enovac´ısadu, z´ısk´ame hypot´ezu h
4. zmˇeˇr´ıme procento pˇr´ıklad˚u v testovac´ısadˇe, kter´e jsou spr´avnˇe klasifikovan´e hypot´ezou h
5. opakujeme kroky 2–4 pro r˚uzn´e velikosti tr´enovac´ıch sad a pro n´ahodnˇe vybran´e tr´enovac´ı sady
kˇrivka uˇcen´ı – z´avislost velikosti tr´enovac´ı sady na
´
uspˇeˇsnosti
0.4 0.5 0.6 0.7 0.8 0.9 1
0 20 40 60 80 100
% správnosti u testovací sady
velikost trénovací sady Uvod do umˇ´ el´e inteligence 11/12 22 / 39
Hodnocen´ı ´uspˇeˇsnosti uˇc´ıc´ıho algoritmu
Hodnocen´ı ´uspˇeˇsnosti uˇc´ıc´ıho algoritmu – pokraˇc.
tvar kˇrivky uˇcen´ız´avis´ı na ◮ je hledan´a funkce realizovateln´a × nerealizovateln´a
funkce m˚uˇze b´yt nerealizovateln´a kv˚uli
• chybˇej´ıc´ım atribut˚um
• omezen´emu prostoru hypot´ez
◮ naopak nadbyteˇcn´e expresivitˇe
napˇr. mnoˇzstv´ı nerelevantn´ıch atribut˚u
1
% spr´avnosti
# pˇr´ıklad˚u nerealizovateln´a nadbyteˇcn´a realizovateln´a
Uvod do umˇ´ el´e inteligence 11/12 23 / 39
Hodnocen´ı ´uspˇeˇsnosti uˇc´ıc´ıho algoritmu Induktivn´ı uˇcen´ı – shrnut´ı
Induktivn´ı uˇcen´ı – shrnut´ı
◮ uˇcen´ıje potˇrebn´e pro nezn´am´e prostˇred´ı(a l´ın´e analytiky ,)
◮ uˇc´ıc´ı se agent – v´ykonnostn´ı komponenta a komponenta uˇcen´ı
◮ metoda uˇcen´ı z´avis´ı na typu v´ykonnostn´ı komponenty, dostupn´e zpˇetn´e vazbˇe, typu a reprezentaci ˇc´asti, kter´a se m´a uˇcen´ım zlepˇsit
◮ u uˇcen´ı s dohledem – c´ıl je naj´ıt nejjednoduˇsˇs´ı hypot´ezu pˇribliˇznˇe konzistentn´ı s tr´enovac´ımi pˇr´ıklady
◮ uˇcen´ı formou rozhodovac´ıch strom˚u pouˇz´ıv´a m´ıru informace
◮ kvalita uˇcen´ı– pˇresnost odhadu zmˇeˇren´a na testovac´ı sadˇe
´
Neuronov´e s´ıtˇe Neuron
Neuron
mozek – 1011 neuron˚u > 20 typ˚u, 1014 synaps´ı, 1ms–10ms cyklus
nosiˇce informace – sign´aly = “v´ykyvy” elektrick´ych potenci´al˚u (se ˇsumem) neuron – mozkov´a buˇnka, kter´a
m´a za ´ukol sbˇer, zpracov´an´ıa ˇs´ıˇren´ı sign´al˚u
Axon, nervov´y v´ybˇeˇzek
Tˇelo buˇnky, soma
J´adro Dendrit
Synapse Nervov´a vl´akna
Axon z jin´e buˇnky Synapse
Uvod do umˇ´ el´e inteligence 11/12 25 / 39
Neuronov´e s´ıtˇe Poˇc´ıtaˇcov´y model – neuronov´e s´ıtˇe
Poˇc´ıtaˇcov´y model – neuronov´e s´ıtˇe
1943 – McCulloch & Pitts – matematick´y model neuronu
spojen´e do neuronov´e s´ıtˇe – schopnost tolerovat ˇsum ve vstupu a uˇcit se
jednotky (units)
v neuronov´e s´ıti – jsou propojeny vazbami (links)
– vazba z jednotky j do i propaguje aktivaci aj jednotky j
– kaˇzd´a vazba m´a ˇc´ıselnou v´ahu Wj,i (s´ıla+znam´enko)
funkce jednotky i:
1. spoˇc´ıt´a v´aˇzenou P
vstup˚u = ini
2. aplikuje aktivaˇcn´ı funkci g 3. t´ım z´ısk´a v´ystup ai
ai = g (ini) = g (X
j
Wj,iaj)
Σ
v´ystup vstupn´ı
vazby
aktivaˇcn´ı funkce funkce
vstupn´ı v´ystupn´ı
vazby
a0= −1 ai = g (ini)
ai
ini g Wj,i
prahov´a v´aha
W0,i
aj
Uvod do umˇ´ el´e inteligence 11/12 26 / 39
Neuronov´e s´ıtˇe Aktivaˇcn´ı funkce
Aktivaˇcn´ı funkce
´
uˇcel aktivaˇcn´ı funkce:
◮ jednotka m´a b´yt aktivn´ı (≈ +1) pro pozitivn´ı pˇr´ıklady, jinak neaktivn´ı ≈ 0
◮ aktivace mus´ı b´yt neline´arn´ı, jinak by cel´a s´ıt’
byla line´arn´ı napˇr.
a)
+1
ini g(ini)
prahov´a funkce
b)
+1
ini g(ini)
sigmoida 1/(1 + e−x)
je derivovateln´a – d˚uleˇzit´e pro uˇcen´ı zmˇeny prahov´e v´ahy WUvod do umˇ´ 0,iel´nastavuj´ı nulovou pozic´ı – nastavuj´ı pr´e inteligence 11/12 27 / 39 ah aktivace
Neuronov´e s´ıtˇe Logick´e funkce pomoc´ı neuronov´e jednotky
Logick´e funkce pomoc´ı neuronov´e jednotky
AND
W0= 1.5
W1 =1
W2= 1
OR
W2= 1 W1=1
W0= 0.5
NOT
W1= 1 W0= 0.5
jednotka McCulloch & Pitts sama um´ı implementovat z´akladn´ı Booleovsk´e funkce
⇒ kombinacemi jednotek do s´ıtˇe m˚uˇzeme implementovat libovolnou Booleovskou funkci
´
Neuronov´e s´ıtˇe Struktury neuronov´ych s´ıt´ı
Struktury neuronov´ych s´ıt´ı
◮ s´ıtˇe s pˇredn´ım vstupem (feed-forward networks)
• necyklick´e
• implementuj´ı funkce
• nemaj´ı vnitˇrn´ı pamˇet’
◮ rekurentn´ı s´ıtˇe (recurrent networks)
• cyklick´e
• vlastn´ı v´ystup si berou opˇet na vstup
• sloˇzitˇejˇs´ı a schopnˇejˇs´ı
• v´ystup m´a (zpoˇzdˇen´y) vliv na aktivaci = pamˇet’
• Hopfieldovy s´ıtˇe – symetrick´e obousmˇern´e vazby; funguj´ı jako asociativn´ı pamˇet’
• Boltzmannovy stroje – pravdˇepodobnostn´ı aktivaˇcn´ı funkce
Uvod do umˇ´ el´e inteligence 11/12 29 / 39
Neuronov´e s´ıtˇe Struktury neuronov´ych s´ıt´ı
Pˇr´ıklad s´ıtˇe s pˇredn´ım vstupem
s´ıt’ 5-ti jednotek – 2 vstupn´ı jednotky, 1 skryt´a vrstva (2 jednotky), 1 v´ystupn´ı jednotka
W1,3 W1,4
W2,3
W2,4
W3,5
W4,5
1
2
3
4
5
s´ıt’ s pˇredn´ım vstupem = parametrizovan´a neline´arn´ı funkce vstupu a5 = g (W3,5 · a3 + W4,5 · a4)
= g W3,5 · g (W1,3 · a1 + W2,3 · a2) + W4,5 · g (W1,4 · a1 + W2,4 · a2)
Uvod do umˇ´ el´e inteligence 11/12 30 / 39
Neuronov´e s´ıtˇe Jednovrstv´a s´ıt’ – perceptron
Jednovrstv´a s´ıt’ – perceptron
perceptron
– pro Booleovskou funkci 1 v´ystupn´ı jednotka
– pro sloˇzitˇejˇs´ı klasifikaci – v´ıce v´ystupn´ıch jednotek
vstupní
jednotky jednotky výstupní
Wj,i
−4 −2x1 0 2 4 −4−20 2 4 x2 0
0.2 0.4 0.6 0.8 1
výstup perceptronu
Uvod do umˇ´ el´e inteligence 11/12 31 / 39
Neuronov´e s´ıtˇe Jednovrstv´a s´ıt’ – perceptron
Vyjadˇrovac´ı s´ıla perceptronu
perceptron m˚uˇze reprezentovat hodnˇe Booleovsk´ych funkc´ı – AND, OR, NOT, majoritn´ı funkci, . . .
P
j Wjxj > 0 nebo W · x > 0
reprezentuje line´arn´ı separ´ator (nadrovina) v prostoru vstupu:
I 1
I 2
0 1
0 1
000000 000000 000000 000000 000000 000000 000000 000000 000000 000000
111111 111111 111111 111111 111111 111111 111111 111111 111111 111111
a) I1 and I2
I 1
I 2
0 1
0 1
00000 00000 00000 00000 00000 00000 00000 00000 00000 00000
11111 11111 11111 11111 11111 11111 11111 11111 11111 11111
b) I1 or I2
I 1
I 2
?
1
0
0 1
c) I1 xor I2
´
Neuronov´e s´ıtˇe Jednovrstv´a s´ıt’ – perceptron
Uˇcen´ı perceptronu
v´yhoda perceptronu – existuje jednoduch´y uˇc´ıc´ı algoritmus pro libovolnou line´arnˇe separabiln´ı funkci
uˇcen´ı perceptronu = upravov´an´ı vah, aby se sn´ıˇzila chyba na tr´enovac´ı sadˇe kvadratick´a chyba E pro pˇr´ıklad se vstupem x a poˇzadovan´ym (=spr´avn´ym) v´ystupem y je
E = 12Err2 ≡ 12(y − hW(x))2, kde hW(x) je v´ystup perceptronu
v´ahy pro minim´aln´ı chybu pak hled´ame optimalizaˇcn´ım prohled´av´an´ım spojit´eho prostoru vah
∂E
∂Wj = Err × ∂Err∂W
j = Err × ∂W∂
j y − g (Pn
j=0Wjxj) = −Err × g′(in) × xj
pravidlo pro ´upravu v´ahy
Wj ← Wj + α × Err × g′(in) × xj α. . . uˇc´ıc´ı konstanta (learning rate) napˇr. Err = y − hW(x) > 0 ⇒ v´ystup hW(x) je moc mal´y
⇒ v´ahy se mus´ı zv´yˇsit pro pozitivn´ı pˇr´ıklady a sn´ıˇzit pro negativn´ı
´
upravu vah prov´ad´ıme po kaˇzd´em pˇr´ıkladu → opakovanˇe aˇz do dosaˇzen´ı ukonˇcovac´ıho krit´eria
Uvod do umˇ´ el´e inteligence 11/12 33 / 39
Neuronov´e s´ıtˇe Jednovrstv´a s´ıt’ – perceptron
Uˇcen´ı perceptronu pokraˇc.
uˇc´ıc´ı pravidlo pro perceptron konverguje ke spr´avn´e funkci pro libovolnou line´arnˇe separabiln´ımnoˇzinu dat
a) uˇcen´ı majoritn´ı funkce
0.4 0.5 0.6 0.7 0.8 0.9 1
0 10 20 30 40 50 60 70 80 90 100
%spr´avn´ychvtestovac´ısadˇe
velikost tr´enovac´ı sady Perceptron Rozhodovac´ı strom
b) uˇcen´ı ˇcek´an´ı na voln´y st˚ul v re- stauraci
0.4 0.5 0.6 0.7 0.8 0.9 1
0 10 20 30 40 50 60 70 80 90 100
%spr´avn´ychvtestovac´ısadˇe
velikost tr´enovac´ı sady Rozhodovac´ı strom
Perceptron
Uvod do umˇ´ el´e inteligence 11/12 34 / 39
Neuronov´e s´ıtˇe V´ıcevrstv´e neuronov´e s´ıtˇe
V´ıcevrstv´e neuronov´e s´ıtˇe
vrstvy jsou obvykle ´uplnˇe propojen´e
poˇcet skryt´ych jednotek je obvykle volen experiment´alnˇe
vstupní jednotky skryté jednotky
výstupní jednotky ai
Wj,i
aj
Wk,j
ak
Uvod do umˇ´ el´e inteligence 11/12 35 / 39
Neuronov´e s´ıtˇe V´ıcevrstv´e neuronov´e s´ıtˇe
Vyjadˇrovac´ı s´ıla v´ıcevrstv´ych s´ıt´ı
s jednou skrytou vrstvou – vˇsechny spojit´e funkce se dvˇema skryt´ymi vrstvami – vˇsechny funkce
tˇeˇzko se ovˇsem pro konkr´etn´ı s´ıt’ zjiˇst’uje jej´ı prostor reprezentovateln´ych funkc´ı
napˇr.
dvˇe “opaˇcn´e” skryt´e jednotky vytvoˇr´ı hˇrbet
−4 −2x1 0 2 4 −4−20 2 4 x2 0
0.2 0.4 0.6 0.8
hW(x1, x2)
dva hˇrbety vytvoˇr´ı homoli
−4 −2x1 0 2 4 −4−20 2 4 x2 0
0.2 0.4 0.6 0.8 1 hW(x1, x2)
´
Neuronov´e s´ıtˇe V´ıcevrstv´e neuronov´e s´ıtˇe
Uˇcen´ı v´ıcevrstv´ych s´ıt´ı
pravidla pro ´upravu vah:
◮ v´ystupn´ı vrstva – stejnˇe jako u perceptronu
Wj,i ← Wj,i + α × aj × ∆i kde ∆i = Erri × g′(ini)
◮ skryt´e vrstvy – zpˇetn´e ˇs´ıˇren´ı(back-propagation) chyby z v´ystupn´ı vrstvy Wk,j ← Wk,j + α × ak × ∆j kde ∆j = g′(inj)P
i Wj,i∆i probl´emy uˇcen´ı:
– dosaˇzen´ı lok´aln´ıho minima chyby – pˇr´ıliˇs pomal´a konvergence
– pˇr´ıliˇsn´e upnut´ı na pˇr´ıklady → neschopnost generalizovat
Uvod do umˇ´ el´e inteligence 11/12 37 / 39
Neuronov´e s´ıtˇe V´ıcevrstv´e neuronov´e s´ıtˇe
Uˇcen´ı v´ıcevrstv´ych s´ıt´ı pokraˇc.
v´ıcevrstv´a s´ıt’ se probl´em ˇcek´an´ı na voln´y st˚ul v restauraci uˇc´ı znatelnˇe l´ıp neˇz perceptron
0.4 0.5 0.6 0.7 0.8 0.9 1
0 10 20 30 40 50 60 70 80 90 100 perceptron
%spr´avn´ychvtestovac´ısadˇe
velikost tr´enovac´ı sady v´ıcevrstv´a s´ıt’
rozhodovac´ı strom
Uvod do umˇ´ el´e inteligence 11/12 38 / 39
Neuronov´e s´ıtˇe Neuronov´e s´ıtˇe – shrnut´ı
Neuronov´e s´ıtˇe – shrnut´ı
◮ vˇetˇsina mozk˚u m´a velk´e mnoˇzstv´ıneuron˚u; kaˇzd´y neuron ≈ line´arn´ı prahov´a jednotka (?)
◮ perceptrony (jednovrstv´e s´ıtˇe) maj´ı n´ızkou vyjadˇrovac´ı s´ılu
◮ v´ıcevrstv´e s´ıtˇe jsou dostateˇcnˇe siln´e; mohou b´yt tr´enov´any pomoc´ı zpˇetn´eho ˇs´ıˇren´ı chyby
◮ velk´e mnoˇzstv´ı re´aln´ych aplikac´ı
• rozpozn´av´an´ı ˇreˇci
• ˇr´ızen´ı auta
• rozpozn´av´an´ı ruˇcnˇe psan´eho p´ısma
• . . .
Uvod do umˇ´ el´e inteligence 11/12 39 / 39