Umělá Umělá inteligence II

Transkript

Umělá Umělá inteligence II
Umělá
inteligence II
Roman Barták, KTIML
[email protected]
http://ktiml.mff.cuni.cz/~bartak
Úvodem
„
Dnes budeme učit agenty, jak zlepšit svůj
výkon
ýk při
ř řešení
ř š í budoucích
b d
í h úloh
úl h na základě
ákl dě
pozorování světa.
p
… rozhodovací
stromy
… regresní metody
… umělé neuronové sítě
… neparametrické
é modely
… support
pp
vector machines
… boosting
Umělá inteligence II, Roman Barták
Proč se učit?
Pokud můžeme chování agenta zlepšit, proč ho rovnou
nenaprogramujeme lépe?
„ těžko můžeme předvídat všechny situace,
do kterých se agent může dostat
…
„
těžko můžeme
těžk
ůž
předvídat
ř d íd t všechny
š h
změny
ě
světa
ět
v čase
…
„
Můžeme agenta naprogramovat na průchod jedním
bludištěm, ale projde všechna bludiště?
pokud předvídáme cenu na burze, je potřeba se adaptovat
na změnu situace
často ani nemusíme vědět, jak řešení úkolu
nap og amo at
naprogramovat
…
každý umíme rozpoznávat obličeje blízkých, ale jak proces
rozpoznávání naprogramovat?
Umělá inteligence II, Roman Barták
Formy učení
V principu můžeme zlepšovat každou část agenta.
Zlepšení a použité techniky záleží na zodpovězení otázek:
„ Jakou část agenta zlepšujeme?
…
„
Jak reprezentujeme znalosti a zlepšovanou část?
Jaké předchozí znalosti agent má?
…
„
funkci užitku,, efektyy akcí,, převod
p
pozorování
p
na akci,, …
l i ká reprezentace, Bayesovské
logická
B
ké sítě
íě
Na základě jaké odezvy se agent učí?
…
učení bez učitele (unsupervised learning)
„
…
zpětnovazební učení (reinforced learning)
„
…
například hledání vzorů klusterováním
učení na základě odměn a trestů
ů
učení s učitelem (supervised learning)
„
z dvojic
j vstup-výstup
p ý p se učíme odpovídající
p
j funkci
Umělá inteligence II, Roman Barták
Učení s učitelem
„
„
Máme dána tréninková data vstup-výstup
((x1,y1),
),…,(x
,( N,yN), kde yi = f(x
( i)).
Cílem je najít hypotézu h, která aproximuje funkci f.
…
hypotézy vybíráme z prostoru hypotéz (například
lineární funkce)
…
hypotéza je konzistentní,
konzistentní pokud h(xi) = yi
přesnost hypotézy měříme na testovacích datech
…
„
Typy
ypy úloh
…
…
klasifikace: množina výstupů yi je konečná (slunečno,
zataženo, déšť)
regrese: výstupy jsou čísla (teplota vzduchu)
Umělá inteligence II, Roman Barták
Ockhamova břitva
„
Co když tréninkovým příkladům odpovídá
více hypotéz?
„
Obecně preferujeme jednodušší hypotézu.
… Někdy
Někd
může být lepší jednodušší
jednod šší hypotéza,
h poté a která
kte á
pouze aproximuje tréninková data, než složitější
hypotéza,
yp
, která přesně
p
pokrývá
p ý tréninkové
příklady (přeučení).
„
Jaká hypotéza
yp
je
j jednodušší?
j
… například
lineární funkce je jednodušší než
kvadratická
„
Princip Ockhamovy břitvy
ř
– nejjednodušší
šší
vysvětlení je zpravidla správné.
Umělá inteligence II, Roman Barták
Rozhodovací stromy
„
Rozhodovací strom je jednoduchý způsob reprezentace
funkce, která vektor vstupních
atributů
ib ů převádí
ř ádí na rozhodnutí
h d í
– výstupní hodnotu.
…
„
rozhodnutí získáme
posloupností
l
tí testů
t tů
na hodnoty vstupních atributů
Uvažujme binární rozhodnutí (Booleovský rozhodovací strom)
pro n atributů je rozhodovací funkce popsatelná tabulkou s 2n
řádky
n
… máme tedy 22 různých funkcí
… každou funkci můžeme triviálně popsat rozhodovacím stromem
hloubky n
…
Jak najít „malý“ konzistentní rozhodovací strom?
Umělá inteligence II, Roman Barták
Rozhodovací stromy
řešená úloha
„
Prostor hypotéz je tvořen rozhodovacími stromy
a my hledáme ten,
ten který odpovídá zadaným
příkladům (konzistentní hypotéza).
„ příklady ve tvaru
(x, y)
„ pro jednoduchost
b d
budeme
pracovatt s
Boolean výstupem
„ příklad s restaurací
(budeme čekat?)
Umělá inteligence II, Roman Barták
Rozhodovací stromy
princip učení
„
Strom budeme hledat metodou rozděl a panuj
… vybereme
b
nejvíce
j í informativní
i f
ti í atribut,
t ib t který
kt ý dáme
dá
do
d
kořene
…p
podle hodnot atributu rozdělíme p
příkladyy
… pokud dostaneme příklady se stejným výstupem,
jsme hotovi, jinak pokračujeme s dalším atributem
„
J k poznáme
Jak
á
nejvíce
j í informativní
i f
ti í atribut?
t ib t?
… je
to ten, který do klasifikace přinese největší
rozdělení
š
špatný
ý atribut
příklady vůbec
nerozdělil
dobrý atribut
některé příklady
sám klasifikoval
Umělá inteligence II, Roman Barták
Rozhodovací stromy
algoritmus učení
Algoritmus ID3
vrátí nejčastější výstup
z příkladů rodiče
vrátí nejčastější
j
j výstup
ý p
z příkladů pro rozdělení
vybere nejvíce
informativní atribut
křivka
kři
k učení
č í
přesnost stromu podle
počtu tréninkových příkladů
Umělá inteligence II, Roman Barták
Volba testovacího atributu
Jaký atribut vybrat pro test v rozhodovacím stromu?
„ Rozhodneme se p
podle informačního zisku atributu ((větší jje lepší),
p )
který je definován pomocí entropie.
„ Entropie je míra neurčitosti náhodné proměnné
…
měří se v „bitech
bitech“ informace,
informace které získáme znalostí hodnoty proměnné
„
„
„
mince, kde vždy padá orel, má nulovou entropii
klasická mince má entropii 1
„mince
mince“ se čtyřmi stejně pravděpodobnými stranami má entropii 2
H(V) = - Σk p(vk) log2(p(vk)), vk jsou hodnoty proměnné V
B(q) = - q.log2 q - (1-q).log2(1-q) entropie Booleovské proměnné
H(Goal) = B(p/(p+n)) entropie sady p pozitivních a n negativních příkladů
„
Atribut A rozdělí příklady dle hodnoty atributu
…
…
…
očekávaná entropie po testu atributu A
Remainder(A) = Σk B(pk /(pk +nk)).(pk +nk)/(p+n)
informační zisk atributu
Gain(A) = B(p/(p+n)) - Remainder(A)
Gain(Patrons) ≈ 0.541
Gain(Type) = 0
Umělá inteligence II, Roman Barták
Přeučení
„
Někdy učící algoritmus vydá velký rozhodovací strom.
„
Příklad:
Příkl
d Chceme
Ch
udělat
děl t rozhodovací
h d
í strom,
t
který
kt ý určí,
čí
zda na kostce padne 6 podle atributů jako je hmotnost
a barva kostky,
y, držení palců
p
apod.
p
…
…
„
dostaneme velký strom podle nalezených vzorů ve
vstupních datech
rozumný strom by měl mít jeden uzel s odpovědí NE
V takových případech hovoříme o přeučení
(overfitting).
…
…
…
nastává obecně nejen u náhodných dat
větší možnost přeučení je u větších prostorů hypotéz
a u větších počtů atributů
menší šance přeučení je u zvětšujícího se počtu
tréninkových příkladů
Umělá inteligence II, Roman Barták
Prořezání stromu
„
Přeučení můžeme zmírnit prořezáním nalezeného
rozhodovacího stromu.
…
…
„
vezmeme
e meme poslední rozhodovací
o hodo a í uzel
el na nějaké cestě
estě
pokud je atribut irelevantní (detekuje pouze šum v datech), uzel
vyřadíme
Jak poznáme irelevantní atribut?
…
test významnosti (χ2 test)
„
„
„
„
uvažujme
j
data bez vzoru (nulová
(
hypotéza)
yp
)
vypočteme odchylku aktuálních dat od nulové hypotézy
n‘k = n . (pk+nk)/(p+n)
p‘k = p . (pk+nk)/(p+n)
2
2
Δ = Σk (pk-p‘k) /p‘k + (nk-n‘k) /n‘k
použitím χ2 tabulky najdeme hodnotu Δ zajišťující pro daný počet
atributů (stupňů volnosti) přijetí či odmítnutí nulové hypotézy
(přijetí znamená, že atribut je irelevantní)
Můžeme
ůž
χ2 oříznutí
ří
í použít
ží užž při
ř konstrukci
k
k rozhodovacího
h d
íh
stromu (včasné zastavení)?
…
raději ne, protože oříznutí se týká jednoho atributu, ale
k bi
kombinace
hodnot
h d t víc
í atributů
t ib tů může
ůž být iinformativní
f
ti í (například
(
říkl d
u stromu pro popis funkce XOR)
Umělá inteligence II, Roman Barták
Rozhodovací stromy
praktické vlastnosti
„
Pro reálné problémy potřebují rozhodovací stromy některá rozšíření
resp. je potřeba vyřešit některé problémy:
…
chybějící
h bějí í data
d
( h chybět
(mohou
h bě hodnoty
h d
některých
ěk ý h atributů)
ib ů)
„
„
…
mnoha hodnotové atributy (každý příklad může mít jinou hodnotu
mnoha-hodnotové
atributu)
„
„
…
informační zisk nemusí správně popisovat důležitost takových atributů
nemusíme větvení dělat podle všech hodnot, ale binárně podle jedné hodnoty
spojité
jité nebo
b čí
číselné
l é hodnoty
h d t vstupních
t
í h atributů
t ib tů
„
„
…
Jak taková data klasifikovat? Jak upravit formuli pro výpočet informačního zisku?
vezmeme četnost výskytu hodnot a na jejím základě chybějící hodnoty doplníme
místo nekonečně mnoha větví se hodnoty atributů rozdělí podle vybraných bodů
(příklady se setřídí podle hodnot atributu a za body dělení se berou hodnoty, kde
se mění klasifikace)
výpočtově
ýpočto ě nejnáročnější
nejná očnější část učení
čení
spojité hodnoty výstupního atributu
„
„
bude potřeba regresní strom, tj. rozhodovací strom, který má v listech lineární
funkci počítající na základě některých vstupních atributů výstupní hodnotu
učící se algoritmus musí rozhodnout, kdy ukončit dělení stromu a aplikovat
lineární regresi
„
Rozhodovací stromy mají prakticky velmi důležitou
vlastnost – je vidět, jak rozhodnutí bylo uděláno
(což třeba neplatí u neuronových sítí).
Umělá inteligence II, Roman Barták
Regrese
Jak naložíme se spojitými proměnnými?
„ Prostorem hypotéz budou lineární funkce
„
… začneme
s lineárními funkcemi jedné proměnné
(univariate linear regression)
… zobecníme na lineární funkce více proměnných
((multivariate linear regression)
g
)
… nakonec ukážeme lineární klasifikátory (použití
prahové funkce)
Umělá inteligence II, Roman Barták
Lineární regrese
„
„
„
„
Hledáme funkci ve tvaru y = w1.x + w0
Označme hw(x) = w1.x + w0, kde w = [w0,w1]
Hledáme hypotézu hw, která nejlépe odpovídá datům
(hledáme váhy w1 a w0).
Jak měříme chybu vzhledem k datům?
…
Nejčastěji se používá kvadratická chyba
Loss(h
( w) =Σj (yj – hw((xj))2 = Σj (yj – ((w1.xj + w0))2
„
hledáme tedy w* = argminw Loss(hw)
…
lze najít vyřešením rovnic
∂⁄∂w0 Σj (yj – (w1.xj + w0))2 = 0
∂⁄∂w1 Σj (yj – (w1.xj + w0))2 = 0
…
j d
jednoznačné
č é řešení
ř š í
w1 = (N Σj xj yj – Σj xj Σj yj )
/ (N Σj xj2 – (Σj xj)2)
w0 = (Σj yj – w1. Σj xj) / N
Umělá inteligence II, Roman Barták
Nelineární regrese
„
Pokud je prostor hypotéz definován jiným typem funkce,
nemusí mít rovnice ∂⁄∂wi Loss(hw) = 0 analytické řešení.
„
Můžeme použít metodu poklesu dle gradientu
…
…
začneme s libovolným nastavením vah
upravíme
p
váhyy podle
p
gradientu
g
(největší
( j
pokles)
p
)
wi ←wi – α ∂⁄∂wi Loss(hw),
…
„
kde α je tzv. learning rate (může být konstantní nebo v
průběhu
ů ě učení
č í klesat)
opakujeme do konvergence
Pro lineární regresi dostaneme:
w0 ←w0 + α Σj (yj – hw(xj))
w1 ←w1 + α Σj (yj – hw(xj)).x
)) xj
Umělá inteligence II, Roman Barták
Regrese s více atributy
„
„
Hypotéza
yp
je
j tvaru hw((x)) = w0 + Σi wixi
Příklady rozšíříme o nultý atribut s hodnotou 1
hw((x)) = wTx
„
Problém můžeme řešit analyticky, tj. řešením
rovnic ∂⁄∂wi Loss(hw) = 0
w* = (XTX)-1 XT y
kde X je matice vstupních atributů tréninkových
příkladů (řádek = příklad)
„
Nebo použijeme metody poklesu dle gradientu
wi ←wi + α Σj (yj – hw(xj)).xj,i
Umělá inteligence II, Roman Barták
Lineární klasifikátor
„
„
Lineární funkci můžeme také použít pro klasifikaci – pro
oddělení dvou množin příkladů.
lineární
eá
separátor
sepa á o
…
hledáme hypotézu hw tž.
„
…
alternativně můžeme funkci h definovat
pomocí prahové funkce
„
„
hw(x) = 1 pokud w.x ≥ 0, jinak 0
hw(x) = Threshold(w.x),
kde Threshold(z)
( ) = 1,, pro
p z ≥ 0,, jinak
j
0
perceptronové učící pravidlo
wi ←wi + α (y – hw(x)).xi
… pokud
k d je
j příklad
říkl d klasifikován
kl ifik á správně,
á ě váha
áh se nemění
ě í
… pokud hw(x) ≠ y, potom se váha zvětší/zmenší dle xi
„
klasifikátor můžeme „změkčit“
„změkčit použitím
logistické prahové funkce
Threshold(z) = 1 / (1+e-z)
wi ←wi + α (y – hw(x)). hw(x).(1
(x).(1-h
hw(x)).xi
… často používané v reálných aplikacích
Umělá inteligence II, Roman Barták
Neparametrické modely
„
„
„
„
„
„
Když se lineární regrese naučí hypotézu, můžeme
zahodit tréninková data.
Hovoříme o tzv. parametrických modelech – data
sumarizujeme do podoby omezeného předem daného
počtu parametrů (vah)
(vah).
Když ale máme velké množství tréninkových příkladů,
není lepší aby „mluvily
mluvily sami za sebe
sebe“ místo převodu
do malého vektoru?
Odpovědí
p
jjsou neparametrické
p
modely,
y, které
nejsou charakterizovány vektorem parametrů, ale
„pamatují“ si tréninkové příklady.
P novýý příklad
Pro
říkl d x vyhledáme
hl dá
v paměti
ěti stejný
t j ý příklad
říkl d
a pokud tam je, vrátíme odpovídající y.
Ale co když v paměti příklad se stejnými atributy není?
Umělá inteligence II, Roman Barták
Nejbližší sousedé
„
„
Jak najít odpověď pro příklad, který není v tabulce
příkladů?
Najdeme k nebližších tréninkových příkladů a
odpověď
p
složíme z jejich
j j
výstupů.
ý p
…
v případě klasifikace vybereme mezi nalezenými příklady
třídy s největším výskytem (proto se k volí liché)
Umělá inteligence II, Roman Barták
Nejbližší sousedé
vzdálenost
„
„
Když hovoříme o nejbližších sousedech, jak
d f
definujeme
vzdálenost?
dál
Typicky se používá tzv. Minkowského vzdálenost
Lp(xj,xq) = (Σi |xj,i – xq,i|p)1/p
… p = 1: Manhattanská vzdálenost
… p = 2: Euclidovská vzdálenost
… Booleovské hodnoty: Hammingova vzdálenost (počet
odlišných
dliš ý h hodnot)
h d t)
„
Pozor na měřítko!
… zpravidla
idl
se hodnoty
h d t normalizují
li jí
… místo xj,i bereme (xj,i – μi)/σi,
kde μi je průměr a σi je standardní odchylka
Umělá inteligence II, Roman Barták
Neparametrické modely
poznámky ke klasifikaci
„
Problém dimenzionality
metoda nejbližších
žší sousedů
ů funguje
f
dobře
ř pro velké
é počty
č
příkladů s malým počtem atributů (malou dimenzí)
… v mnoho-dimenzionálním prostoru jsou nejbližší sousedé hodně
daleko
…
„
Hledání sousedů
Jak vlastně najdeme
j
k nejbližších
j
sousedů?
…
…
tabulka: nalezení prvku trvá O(N)
binární vyvážený strom: nalezení prvku trvá O(log N), ale
j
sousedé mohou být
ý ve vedlejších
j
větvích
nejbližší
„
…
dobré, pokud je příkladů exponenciálně více než dimenzí
hašovací tabulky: nalezení prvku trvá O(1)
„
„
je potřeba hašovací funkce citlivá na vzdálenost (blízké prvky jsou ve
stejném
t j é kkoši)
ši)
sousedy nelze hledat přesně, ale aproximačně (například použijeme více
hašovacích tabulek, v každé najdeme prvky odpovídají příkladu a mezi
nimi vybereme k nejbližších)
Umělá inteligence II, Roman Barták
Neparametrická regrese
Podobně jako klasifikační úlohy
úloh můžeme řešit regresní
eg esní úlohu.
úloh
Spojování bodů
lineární regrese dvou bodů
z okolí
Li á í regrese
Lineární
uděláme lineární regresi k (3)
nejbližších sousedů (není spojité)
Průměr sousedů
vezmeme průměrný výstup k (3)
nejbližších
jbližší h sousedů
dů (není
(
í spojité)
jité)
Lokálně vážená regrese
lineární regrese k nejbližších sousedů,
kde vzdálenější
j bodyy mají
j menší váhu
váha určena kernel funkcí K
w* = argminw Σj K(Dist(xq,xj))(yj – w.xj)2
Umělá inteligence II, Roman Barták
Support Vector Machines
„
„
SVM jje dnes asi nejrozšířenější
j
j metoda
učení s učitelem.
Metoda jje založená na třech základních
vlastnostech:
… hledání
lineárního separátoru s maximálním
okrajem
k j
(vzdáleností
( dál
tí od
d příkladů)
říkl dů)
… pokud nelze příklady lineárně separovat,
převedeme je kernel funkcí do jiného prostoru,
prostoru
kde separovat jdou
… použijeme neparametrický přístup pro
reprezentaci hypotézy (ale s málo příklady)
Umělá inteligence II, Roman Barták
„
„
„
Při hledání lineárního separátoru
nejsou všechny tréninkové příklady
stejně důležité!
Ty,
y, které se nacházejí
j na rozhraní
mezi třídami, jsou významnější.
Budeme hledat separátor, který má
největší okraj
( dál
(vzdálenost
t od
d tréninkových
t é i k ý h příkladů)
říkl dů)
…
…
…
SVM separace
lze řešit přes duální reprezentaci
argmaxα Σj αj – ½ Σj,k αj αk yj yk (xj.xk), kde αj ≥ 0, Σj αj yj = 0
řešíme technikami kvadratického programování
všimněme si, že tréninkové příklady jsou při výpočtu brány po dvojicích
„
Hypotéza je vyjádřena v duální reprezentaci
„
nebo pro původní reprezentaci w = Σj αj .x j
Důležitá vlastnost
„
h( ) = sign(Σ
h(x)
( j αj yj (x.x
(
j) - b)
…
hypotéza je sice reprezentována neparametricky tréninkovými příklady,
ale pouze některé váhy jsou nenulové – váhy příkladů, které jsou
nejblíže separátoru – tzv. support vectors
…
SVM tak spojuje výhody neparametrických modelů s parametrickými
(držíme jen několik málo příkladů, kde αj ≠ 0)
Umělá inteligence II, Roman Barták
Kernel funkce
„
„
„
f1 = (x1)2
f2 = (x2)2
f3 = √2 x1x2
„
Co když ale nejsou tréninkové příklady
lineárně separovatelné?
Můžeme vstupní vektor mapovat funkcí F do
jiného prostoru, kde příklady budou
separovatelné.
Při hledání separace jednoduše místo xj
použijeme F(xj).
Č
Často
nemusíí F aplikovat na samostatné
é
příklady, ale můžeme aplikaci provést rovnou
po dvojicích.
…
F(xj) F(xk) = (xj.xk)2
…
hovoříme o tzv. kernel funkci K(xj,xk)
…
používá se například polynomiální kernel
K(xj,xk) = (1+xjxk)d
„
dává prostor jehož dimenze je exponenciální v d
Umělá inteligence II, Roman Barták
Skládání hypotéz
„
„
Zatím jsem vždy hledali jedinou hypotézu.
Co kdybychom hledali více hypotéz a jejich
výsledky potom skládali?
… hypotézy
„hlasují“ o výsledné klasifikaci – většina
vyhrává – což zvyšuje šanci na správnou
klasifikaci
… přirozeně se tak také
zvětší prostor hypotéz
„
můžeme například
lineárním klasifikátorem
klasifikovat lineárně
neseparovatelné
t l é příklady
říkl d
Umělá inteligence II, Roman Barták
Boosting
„
Metoda
d skládání
kládá í hypotéz
h
é založená
l ž á na vážení
áž í
tréninkových příkladů a opakovaném hledání
hypotézy:
… na
začátku dáme všem tréninkovým příkladů stejnou
váhu (např. 1)
… zvolenou metodou najdeme nějakou hypotézu
… u příkladů, které jsou špatně klasifikovány zvýšíme
váhu o dobře klasifikovaných ji snížíme
váhu,
… opakujeme hledání hypotézy
… získané hypotézy přispívají do výsledného klasifikátoru
s vahou danou správnou
klasifikací tréninkových příkladů
… dokáže
d káž zlepšit
l šit i slabé
l bé metody
t d
učení (stačí když je základní metoda
„o trochu“ lepší než náhodné
hádá í výsledku)
hádání
ý l dk )
Umělá inteligence II, Roman Barták
AdaBoost
Umělá inteligence II, Roman Barták

Podobné dokumenty

1 Analýza nezávislých komponent

1 Analýza nezávislých komponent Nezávislé komponenty jsou skryté proměnné, které nemohou být přímo měřeny nebo pozorovány. Například na obrázku (1), to jsou hlasy lidí. Předpokládáme, že matice A je neznámá, takže z pozorovaného ...

Více

Umělá inteligence I Roman Barták, KTIML

Umělá inteligence I Roman Barták, KTIML Umělá inteligence I Roman Barták, KTIML [email protected] http://ktiml.mff.cuni.cz/~bartak

Více

ZDE

ZDE • Cassia alata extract: snižuje riziko poškození DNA nebo ho okamžitě opravuje. • Kapsule se zapouzdřenými vitaminy C a E jsou aktivovány UV zářením. Vitaminy pak chrání pleť. • Komplex vitaminu E,...

Více

Vnější vyjímatelné panty - použití

Vnější vyjímatelné panty - použití stroje zůstal otevřený bez dalších přídavných mechanismů. K dostání je v různých provedeních, každé s vlastním momentem záběru, takže pro každé dveře je možno nastavit vhodné tření. Pro lehké ovlád...

Více