System ALVINN
ALVINN prowadzi samo hód po autostradzie z szybko± i¡ 70 mil na godzin
Sharp
Left
Sharp
Right
4 Hidden
Units
30 Output
Units
30x32 Sensor
Input Retina
Straight
Ahead
Uczenie indukcyjne
Obiekty: dane reprezentuj¡ e rze zywisty stan lub obiekt,
tworz¡ przestrze« obiektów
X
De yzja: Funk ja
dec : X → V
dec
przypisuj¡ a obiektomwarto±¢ de yzji z ustalonego zbioru
V
dec
Zbiór przykªadów: ustalony zbiór obiektów z
X
z przypisan ymi warto± iami de yzji:
(x
1
, dec(x
1
)), . . . , (x
m
, dec(x
m
))
Problem:
Z danego zbioru przykªadów nau zy¢ si funk j (hipotez)
h : X → V
dec
aproksymuj¡ ¡ de yzjdec
tak, »eby mo»liwie najbardziej poprawnie przypi-sywaªa j¡ obiektom z przestrzeniX
, dla który h nieznana jest warto±¢ de y-zjidec
Uczenie indukcyjne: kolko i krzyzyk
Obiekty to pary: stan gry i o ena stanu
O O X
X
X
, +1
Uczenie indukcyjne: uprawianie sportu
Obiekty to wektory warto± i opisuj¡ e bie»¡ e warunki pogodowe
Przykªad
Atrybuty De yzja
N iebo T emp W ilgotn W iatr
W oda
P rognoza
Sport Dzie« 1 Sªo« e Ciepªo Normalna Silny Ciepªa Bez zmian TakDzie« 2 Sªo« e Ciepªo Wysoka Silny Ciepªa Bez zmian Tak
Dzie« 3 Desz z Zimno Normalna Silny Ciepªa Zmiana Nie
Dzie« 4 Sªo« e Ciepªo Wysoka Silny Chªodna Zmiana Tak
Problem polega na nau zeniu si podejmowania wªa± iwego wyboru
Rodzaje decyzji
De yzja mo»e przyjmowa¢ warto± i:
♦
rze zywiste (de yzja i¡gªa)♦
dyskretneHipoteza spojna
Hipoteza
H
jest spójna na zbiorze treningowym(x
1
, dec(x
1
)), . . . , (x
m
, dec(x
m
))
, je±liRegresja (decyzja ciagla)
Regresja to aproksyma ja de yzji o warto± i i¡gªej
x
f(x)
Regresja (decyzja ciagla)
Regresja to aproksyma ja de yzji o warto± i i¡gªej
x
f(x)
Regresja (decyzja ciagla)
Regresja to aproksyma ja de yzji o warto± i i¡gªej
x
f(x)
Regresja (decyzja ciagla)
Regresja to aproksyma ja de yzji o warto± i i¡gªej
x
f(x)
Regresja (decyzja ciagla)
Regresja to aproksyma ja de yzji o warto± i i¡gªej
x
f(x)
Brzytwa Ockhama
Brzytwa O khama wybiera hipotez, która maksymalizuje poª¡ zenie
spójno-± i i prostoty
x
f(x)
Opis obiektow przez atrybuty
Atrybuty: zbiór atrybutów
A = {a
1
, a
2
, . . . , a
n
}
Obiekty: Wektory warto± i atrybutów
x =< x
1
, x
2
, . . . , x
n
>
Warto± i atrybutów mog¡ by¢:
♦
i¡gªe♦
dyskretneOpis obiektow przez atrybuty: przyklad
De yzja na gr w tenisa jest binarna: Yes lub No
Day Outlook Temperature Humidity Wind PlayTennis
D1 Sunny Hot High Weak No
D2 Sunny Hot High Strong No
D3 Over ast Hot High Weak Yes
D4 Rain Mild High Weak Yes
D5 Rain Cool Normal Weak Yes
D6 Rain Cool Normal Strong No
D7 Over ast Cool Normal Strong Yes
D8 Sunny Mild High Weak No
D9 Sunny Cool Normal Weak Yes
D10 Rain Mild Normal Weak Yes
D11 Sunny Mild Normal Strong Yes
D12 Over ast Mild High Strong Yes
D13 Over ast Hot Normal Weak Yes
Przestrzen hipotez
Przestrzen hipotez
Ile jest ró»ny h hipotez (funk ji) binarny h dla
n
atrybutów binarny h??= li zba funk ji binarny h dla dziedzin y z
2
n
obiektami =
2
Przestrzen hipotez
Ile jest ró»ny h hipotez (funk ji) binarny h dla
n
atrybutów binarny h??= li zba funk ji binarny h dla dziedzin y z
2
n
obiektami =
2
2
n
Ograniczanie przestrzeni hipotez
Ograniczanie przestrzeni hipotez: przyklad
Przestrze« hipotez mo»na ograni zy¢ do ustalonej klasy hipotez
Ograniczanie przestrzeni hipotez: przyklad
Przestrze« hipotez mo»na ograni zy¢ do ustalonej klasy hipotez
Ile jest zysto koniunk yjny h funk ji (np.
Hungry ∧ ¬Rain
)??Ka»dy atrybut mo»e wyst¡pi¢ jako literaª pozytywny, jako literaª negatywny lub w ale
Ograniczanie przestrzeni hipotez: przyklad
Przestrze« hipotez mo»na ograni zy¢ do ustalonej klasy hipotez
Ile jest zysto koniunk yjny h funk ji (np.
Hungry ∧ ¬Rain
)??Ka»dy atrybut mo»e wyst¡pi¢ jako literaª pozytywny, jako literaª negatywny lub w ale
Zwiekszanie przestrzeni hipotez
Zwiekszanie przestrzeni hipotez
Co powoduje zwikszenie klasy dopusz zalny h hipotez??
Zwiekszanie przestrzeni hipotez
Co powoduje zwikszenie klasy dopusz zalny h hipotez??
zwiksza szans, »e funk ja do elowa mo»e by¢ wyra»ona
Zwiekszanie przestrzeni hipotez
Co powoduje zwikszenie klasy dopusz zalny h hipotez??
zwiksza szans, »e funk ja do elowa mo»e by¢ wyra»ona
zwiksza li zb hipotez zgodny h ze zbiorem treningowym
Empiryczna miara jakosci hipotezy
Dane dzielone s¡ na zbiór treningowy
U
trn
i zbiór testowyU
tst
Hipoteza
h : X → V
dec
jest indukowana na podstawie zbioru treningowegoU
trn
Skute zno±¢ hipotezy
Accuracy(h)
jest mierzona propor j¡poprawnie sklasykowany h obiektów ze zbioru testowego
Accuracy(h) =
|{x ∈ U
tst
: h(x) = dec(x)}|
Metody wnioskowania
Metody wnioskowania dla dany h opisany h przez zbiór atrybutów z de yzj¡
dyskretn¡:
♦
Drzewa de yzyjne♦
Systemy reguªowe♦
Sie i neuronowe♦
Wnioskowanie oparte na podobie«stwieDrzewa decyzyjne: reprezentacja
Wzªy wewntrzne
Ka»dy zwi¡zany z jednym atrybutem,
reprezentuje test warto± i tego atrybutu
Gaªzi e
Ka»da zwi¡zana z jedn¡ warto± i¡ lub z podzbiorem warto± i
atrybutu wzªa, z którego wy hodzi gaª¡¹,
odpowiada obiektom dany h z pasuj¡ ymi warto± iami atrybutu
Li± ie
Ka»dy zwi¡zany z de yzj¡ lub rozkªadem de yzji, odpowiada obiektom
Drzewa decyzyjne: przyklad
Reprezenta ja dany h
Day Outlook Temperature Humidity Wind PlayTennis
D1 Sunny Hot High Weak No
D2 Sunny Hot High Strong No
D3 Over ast Hot High Weak Yes
D4 Rain Mild High Weak Yes
D5 Rain Cool Normal Weak Yes
D6 Rain Cool Normal Strong No
D7 Over ast Cool Normal Strong Yes
D8 Sunny Mild High Weak No
D9 Sunny Cool Normal Weak Yes
D10 Rain Mild Normal Weak Yes
D11 Sunny Mild Normal Strong Yes
D12 Over ast Mild High Strong Yes
D13 Over ast Hot Normal Weak Yes
Drzewa decyzyjne: przyklad
Outlook
Overcast
Humidity
Normal
High
No
Yes
Wind
Strong
Weak
No
Yes
Yes
Rain
Sunny
Drzewa decyzyjne: moc wyrazania
Fakt 1: Dla ka»dego zbioru treningowego istnieje spójne drzewo de yzyjne
Dowód: za zynamy od pustego drzewa i dla ka»dego obiektu dany h
dokªa-damy
± ie»k prowadz¡ ¡ przez wszystkie atrybuty z warto± iami krawdzi
odpowiadaj¡ ymi warto± iom atrybutów w obiek ie
Fakt 2: Dla ka»dej funk ji istnieje spójne drzewo de yzyjne
Dowód: mo»na utworzy¢ zbiór treningowy zawieraj¡ y obiekty odpowiadaj¡ e
wszystkim kombina jom warto± i atrybutów o de yzji zgodnej
z dan¡ funk j¡
F
T
A
B
F
T
B
A
B
A xor B
F
F
F
F
T
T
T
F
T
T
T
F
F
F
F
T
T
T
Drzewa decyzyjne: trenowanie
Cel: znalezienie drzewa spójnego ze zbiorem treningowym
Pomysª: rekuren yjne wybieranie najbardziej zna z¡ ego atrybutu jako korze« poddrzewa
fun tion DTL(examples,attributes,default ) returns a de ision tree
if examples is empty then return default
else if all examples have the same lassi ation then return the lassi ation
else if attributes is empty then return Mode(examples )
else
best
←
Choose-Attribute(attributes ,examples ) tree←
a new de ision tree with root test bestfor ea h value v
i
of best doexamples
i
← {
elements of examples withbest
= v
i
}
subtree
←
DTL(examplesi
,
attributes−
best,Mode(examples )) add a bran h to tree with label vi
and subtree subtreeDrzewa decyzyjne: wybor atrybutu
Ro»ne atrybuty daj¡ ró»ne rozkªady de yzji w gaªzia h
A1=?
A2=?
f
t
t
f
[29+,35-]
[29+,35-]
[21+,5-]
[8+,30-]
[18+,33-]
[11+,2-]
Entropia
Dany jest rozkªad prawdopodobie«stwa
hp
1
, . . . , p
n
i
Miara entropii wyzna za, ile informa ji niesie z sob¡ ten rozkªad
Entropia
Dany jest rozkªad prawdopodobie«stwa
hp
1
, . . . , p
n
i
Miara entropii wyzna za, ile informa ji niesie z sob¡ ten rozkªad
Entropy(hp
1
, . . . , p
n
i) =
Σ
n
i = 1
− p
i
log
2
p
i
S
zbiór obiektów dany hS
d
zbiór obiektów wS
z de yzj¡d
Entropy(S) =
Σ
d∈V
dec
−
|S
d
|
|S|
log
2
|S
d
|
|S|
Entropia = ±rednia li zba bitów potrzebna do zakodowania de yzji
d
dla lo-sowo wybranego obiektu ze zbioruS
(przy optymalnym kodowaniu de yzji)Entropia
Dany jest rozkªad prawdopodobie«stwa
hp
1
, . . . , p
n
i
Miara entropii wyzna za, ile informa ji niesie z sob¡ ten rozkªad
Entropy(hp
1
, . . . , p
n
i) =
Σ
n
i = 1
− p
i
log
2
p
i
S
zbiór obiektów dany hS
d
zbiór obiektów wS
z de yzj¡d
Entropy(S) =
Σ
d∈V
dec
−
|S
d
|
|S|
log
2
|S
d
|
|S|
Entropia = ±rednia li zba bitów potrzebna do zakodowania de yzji
d
dla lo-sowo wybranego obiektu ze zbioruS
(przy optymalnym kodowaniu de yzji)Dla zego??
Entropia: dwie decyzje
Dane s¡ dwie de yzje: pozytywna (
⊕
) i negatywna (⊖
)p
⊕
=
|S
⊕
|
|S|
propor ja obiektów z de yzj¡ pozytywn¡ w zbiorzeS
p
⊖
=
|S
⊖
|
Entropia: dwie decyzje
Dane s¡ dwie de yzje: pozytywna (
⊕
) i negatywna (⊖
)p
⊕
=
|S
⊕
|
|S|
propor ja obiektów z de yzj¡ pozytywn¡ w zbiorzeS
p
⊖
=
|S
⊖
|
|S|
propor ja obiektów z de yzj¡ negatywn¡ w zbiorzeS
Entropy(S) = −p
⊕
log
2
p
⊕
− p
⊖
log
2
p
⊖
Entropy(S)
1.0
Zysk informacji dla atrybutu symbolicznego
Zysk informa ji
Gain(S, a)
= reduk ja entropii przy podziale zbioru wzgldem atrybutu
a
S
v
zbiór obiektów wS
z warto± i¡ atrybutua = v
Gain(S, a) = Entropy(S) −
Σ
v∈V alues(a)
|S
v
|
Zysk informacji dla atrybutu symbolicznego
Zysk informa ji
Gain(S, a)
= reduk ja entropii przy podziale zbioru wzgldem atrybutu
a
S
v
zbiór obiektów wS
z warto± i¡ atrybutua = v
Gain(S, a) = Entropy(S) −
Σ
v∈V alues(a)
|S
v
|
|S|
Entropy(S
v
)
Which attribute is the best classifier?
High
Normal
Humidity
[3+,4-]
[6+,1-]
Wind
Weak
Strong
[6+,2-]
[3+,3-]
=0.940
E
E
=0.940
=0.811
E
=0.592
E
=0.985
E
E
=1.00
[9+,5-]
S:
[9+,5-]
S:
Wybor atrybutu
Drzewo de yzyjne w ka»dym w¹le wybiera atrybut
a
z najwikszym zyskiem informa ji, tzn. z najwiksz¡ warto± i¡Gain(S, a)
Wybor atrybutu: przyklad
Zbiór dany h
Day Outlook Temperature Humidity Wind PlayTennis
D1 Sunny Hot High Weak No
D2 Sunny Hot High Strong No
D3 Over ast Hot High Weak Yes
D4 Rain Mild High Weak Yes
D5 Rain Cool Normal Weak Yes
D6 Rain Cool Normal Strong No
D7 Over ast Cool Normal Strong Yes
D8 Sunny Mild High Weak No
D9 Sunny Cool Normal Weak Yes
D10 Rain Mild Normal Weak Yes
D11 Sunny Mild Normal Strong Yes
D12 Over ast Mild High Strong Yes
D13 Over ast Hot Normal Weak Yes
Wybor atrybutu: przyklad
Outlook
Sunny
Overcast
Rain
[9+,5−]
{D1,D2,D8,D9,D11}
{D3,D7,D12,D13}
{D4,D5,D6,D10,D14}
[2+,3−]
[4+,0−]
[3+,2−]
Yes
{D1, D2, ..., D14}
?
?
Which attribute should be tested here?
Ssunny = {D1,D2,D8,D9,D11}
Gain (Ssunny , Humidity)
sunny
Gain (S
, Temperature) = .970 − (2/5) 0.0 − (2/5) 1.0 − (1/5) 0.0 = .570
Gain (S sunny , Wind) = .970 − (2/5) 1.0 − (3/5) .918 = .019
Wybor atrybutu: przyklad
Outlook
Sunny
Overcast
Rain
[9+,5−]
{D1,D2,D8,D9,D11}
{D3,D7,D12,D13}
{D4,D5,D6,D10,D14}
[2+,3−]
[4+,0−]
[3+,2−]
Yes
{D1, D2, ..., D14}
?
?
Which attribute should be tested here?
Ssunny = {D1,D2,D8,D9,D11}
Gain (Ssunny , Humidity)
sunny
Gain (S
, Temperature) = .970 − (2/5) 0.0 − (2/5) 1.0 − (1/5) 0.0 = .570
Gain (S sunny , Wind) = .970 − (2/5) 1.0 − (3/5) .918 = .019
Zysk informacji dla atrybutu numerycznego
Zysk informa ji
Gain(S, a, c)
= reduk ja entropii wzgldem i ia binarnego
c
na atrybu iea
c
warto±¢ i ias
a<c
zbiór obiektów z warto± iami atrybutua
poni»ej i ias
a≥c
zbiór obiektów z warto± iami atrybutua
powy»ej i iaGain(S, a, c) = Entropy(S) −
|S
a<c
|
|S|
Entropy(S
a<c
)−
|S
a≥c
|
Wybor ciecia
Drzewo de yzyjne wybiera atrybut rozpatruj¡ najlepsze i ia dla atrybutów numery zny h
Wybor ciecia
Drzewo de yzyjne wybiera atrybut rozpatruj¡ najlepsze i ia dla atrybutów numery zny h
Przykªad
Dany jest atrybut numery zny
T emperature
z nastpuj¡ ymi warto± iami w zbiorze treningowym:T emperature
4 8 16 22 26 32P layT ennis
No No Yes Yes Yes NoWybor ciecia
Drzewo de yzyjne wybiera atrybut rozpatruj¡ najlepsze i ia dla atrybutów numery zny h
Przykªad
Dany jest atrybut numery zny
T emperature
z nastpuj¡ ymi warto± iami w zbiorze treningowym:T emperature
4 8 16 22 26 32P layT ennis
No No Yes Yes Yes NoNajleps ze i ie??
Gain(S, a, 0) = 1.0 − (0/6)0.0 − (6/6)1.0 = 0.0
Gain(S, a, 12) = 1.0 − (2/6)0.0 − (4/6)0.811 = 0.439
Gain(S, a, 29) = 1.0 − (5/6)0.971 − (1/6)0.0 = 0.191
Wielokrotny wybor atrybutu
Ten sam atrybut numery zny mo»e by¢ wybrany kilkakrotnie na jednej ± ie» e od korzenia do li± ia:
Przykªad: najpierw i ie
c
1
= 12
, potemc
2
= 29
T emperature
4 8 16 22 26 32P layT ennis
No No Yes Yes Yes NoWybor atrybutu: normalizacja
Problem
Miara
Gain
faworyzuje atrybuty z wieloma warto± iami,w sz zególno± i atrybut z warto± iami jednozna znymi, np. PESEL,
ma maksymaln¡ warto±¢
Gain
, ale jego u»yte zno±¢ dla nowy h przykªadów jest »adnaWybor atrybutu: normalizacja
Problem
Miara
Gain
faworyzuje atrybuty z wieloma warto± iami,w sz zególno± i atrybut z warto± iami jednozna znymi, np. PESEL,
ma maksymaln¡ warto±¢
Gain
, ale jego u»yte zno±¢ dla nowy h przykªadów jest »adnaRozwi¡zanie: mo»na zastosowa¢ normaliza j miary
Gain
SplitInf ormation(S, a) = −
Σ
v∈V alues(a)
|S
v
|
|S|
log
2
|S
v
|
|S|
i u»y¢ miary
GainRatio
zamiastGain
:GainRatio(S, a) =
Gain(S, a)
Drzewa decyzyjne: klasyfikacja obiektu
Outlook
Overcast
Humidity
Normal
High
No
Yes
Wind
Strong
Weak
No
Yes
Yes
Rain
Sunny
Day Outlook Temperature Humidity Wind PlayTennis
Drzewa decyzyjne: klasyfikacja obiektu
Outlook
Overcast
Humidity
Normal
High
No
Yes
Wind
Strong
Weak
No
Yes
Yes
Rain
Sunny
Day Outlook Temperature Humidity Wind PlayTennis
Today Sunny Hot Normal Weak ??
Odpowied¹??
Drzewa decyzyjne: wartosci brakujace
Problem:
Co robi¢, kiedy informa ja o klasykowanym obiek ie jest niepeªna, np.:
Day Outlook Temperature Humidity Wind PlayTennis
Drzewa decyzyjne: wartosci brakujace
Problem:
Co robi¢, kiedy informa ja o klasykowanym obiek ie jest niepeªna, np.:
Day Outlook Temperature Humidity Wind PlayTennis
Today ? Hot High Weak ??
Pomysª: zej± ie wszystkimi ± ie»kami przy atrybuta h z nieustalon¡ warto± i¡
Outlook
Humidity
Wind
No
Yes
Yes
Yes
No
5-4+
3+
Sunny
Overcast
Rain
High
Normal
Strong
Weak
Odpowied¹:??Drzewa decyzyjne: wartosci brakujace
Problem:
Co robi¢, kiedy informa ja o klasykowanym obiek ie jest niepeªna, np.:
Day Outlook Temperature Humidity Wind PlayTennis
Today ? Hot High Weak ??
Pomysª: zej± ie wszystkimi ± ie»kami przy atrybuta h z nieustalon¡ warto± i¡
Outlook
Humidity
Wind
No
Yes
Yes
Yes
No
5-4+
3+
Sunny
Overcast
Rain
High
Normal
Strong
Weak
Odpowied¹:??Drzewo decyzyjne: przycinanie
Problem:
Bardzo rzadkie wyj¡tki lub bªdy
w przykªada h u z¡ y h
mog¡ spowodowa¢ niepotrzebne
rozwini ie gaªzi drzewa
[1000+,0-]
[1000+,1-]
[0+,1-]
[0+,1-]
[1000+,2-]
[1000+,3-]
[1000+,4-]
[0+,1-]
[0+,1-]
Pomysª:Dodanie fazy walida j i drzewa de yzyjnego
do pro esu u zenia.
Wzªy rozdzielaj¡ e, które nie potwierdz¡
swojej przydatno± i w fazie walida ji,
Drzewo decyzyjne: algorytm z przycinaniem
fun tion DTL-Pruned(examples,attributes,default ) returns a de ision tree
building,validating
←
split examples into building and validating sets tree←
DTL(building,attributes,default )tree
←
Prune-Tree(validating,tree ) return treefun tion Prune-Tree(validationset,tree ) returns a pruned de ision tree
leafparents
←
inner nodes in tree su h that all their su essors are leaf nodes while leafparents6=
{}and
←
a node from leafparentsd
cand
←
the most frequent de ision among the building obje ts assigned to and if assigning dcand
to the obje ts going through the node anddoes not worsen lassi ation a ura y in validationset then
repla e the subtree rooted at and by the leaf node with the de ision d