• Nie Znaleziono Wyników

vystavit agenta realitě místo přepisování reality do pevných pravidel

N/A
N/A
Protected

Academic year: 2022

Share "vystavit agenta realitě místo přepisování reality do pevných pravidel"

Copied!
20
0
0

Pełen tekst

(1)

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 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

(2)

cen´ı 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:

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 uzn´ych typech vozovky

Uvod do umˇ´ el´e inteligence 11/12 3 / 39

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´ı ˇast reprezentace zpˇetn´a vazba komponenta

Alfa-beta vyhodnocovac´ı funkce 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 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

(3)

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

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

(4)

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

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) 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

´

(5)

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

(6)

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 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´ı

´

(7)

Rozhodovac´ı stromy 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 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 1212 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 100110099 log2 10099 = 0.08 bit˚u

Uvod do umˇ´ el´e inteligence 11/12 14 / 39

(8)

Rozhodovac´ı stromy 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 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)

´

(9)

Rozhodovac´ı stromy 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 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

(10)

Rozhodovac´ı stromy 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 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

´

(11)

Rozhodovac´ı stromy 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

(12)

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

´

(13)

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

(14)

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

´

(15)

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

(16)

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

´

(17)

Neuronov´e s´ıtˇe Jednovrstv´a s´ıt’ – perceptron

Uˇcen´ı perceptronu

yhoda perceptronu – existuje jednoduch´y uˇc´ıc´ı algoritmus pro libovolnou line´arnˇe separabiln´ı funkci

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

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

(18)

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)

´

(19)

Neuronov´e s´ıtˇe V´ıcevrstv´e neuronov´e s´ıtˇe

Uˇcen´ı v´ıcevrstv´ych s´ıt´ı

pravidla pro ´upravu vah:

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,ii 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´ısae

velikost tr´enovac´ı sady v´ıcevrstv´a s´ıt’

rozhodovac´ı strom

Uvod do umˇ´ el´e inteligence 11/12 38 / 39

(20)

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

Cytaty

Powiązane dokumenty

CLP – Constraint Logic Programming Ovlivnˇ en´ı efektivity prohled´ av´ an´ı s navracen´ım. Ovlivnˇ en´ı efektivity prohled´ av´ an´ı

stˇredn´ı arteri ´alnm´ı tlak (mean arterial pressure) CVP.. centr ´aln´ı ˇziln´ı tlak (central

2 Testov´ an´ı OO softwaru Typologie testov´ an´ı Anom´ alie DU p´ ar˚ u Probl´ em polymorfizmu.. 3 Kategorie OO vad a anom´

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´ı

pouˇ z´ıvaj´ı magnetick´ e pole, dr´ ahy iont˚ u jsou kruhov´ e, nebo cykloid´ aln´ı, mˇ eˇr´ı i mal´ e parci´ aln´ı tlaky.. Statick´ e hmotnostn´ı spektrometry

I Zaveden´ı n´ ahodn´ e veliˇ ciny slouˇ z´ı zejm´ ena ke zkr´ acen´ı a zpˇrehlednˇ en´ı z´ apisu pravdˇ epodobnost´ı... Tato funkce m´ a n´

zdravotn´ıch sestr ´ach - person ´aln´ı obsazen´ı, vzd ˇel ´an´ı, pˇresˇcasy, nevykonan ´a zdravotn´ı p ´eˇce.. pacientech - spokojenost se zdravotn´ı p

Pˇri ˇreˇsen´ı soustav s parametrem pomoc´ı GEM mus´ıme b´ yt velmi opatrn´ı na prov´ adˇ en´ı element´ arn´ıch ´ uprav.. Pro soustavy se ˇ ctvercovou matic´ı