NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII...

200
Uczenie maszynowe, algorytmy i systemy datamining Norbert Jankowski Department of Informatics Nicolaus Copernicus University Toruń, Poland www.is.umk.pl/˜norbert/ml Projekt wspólfinansowany ze środków Uni Europejskiej w ramach Europejskiego Funduszu Spolecznego NJ (KIS/UMK) Uczenie maszynowe 1 / 197

Transcript of NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII...

Page 1: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Uczenie maszynowe, algorytmy i systemy datamining

Norbert Jankowski

Department of InformaticsNicolaus Copernicus University

Toruń, Poland

www.is.umk.pl/˜norbert/ml

Projekt współfinansowany ze środkówUni Europejskiej w ramach

Europejskiego Funduszu Społecznego

NJ (KIS/UMK) Uczenie maszynowe 1 / 197

Page 2: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Mniemanie, jakoby każdy wyższy oficer był głupi.GENERALIZACJA

H. Steinhaus

NJ (KIS/UMK) Uczenie maszynowe 2 / 197

Page 3: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Literatura

Literatura I

R. O. Duda, P. E. Hart, D. G. Stork.Pattern Classification.Wiley, wydanie 2, 2001.

J. Friedman, T. Hastie, R. Tibshirani.The Elements of Statistical Learning: Data Mining, Inference, andPrediction.Springer-Verlag, 2001.

Daniel Larose.Discovering knowledge in data. An introduction to data mining.John Wiley & Sons, 2005.

T. Mitchell.Machine learning.McGraw Hill, 1997.

NJ (KIS/UMK) Uczenie maszynowe 3 / 197

Page 4: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Literatura

Literatura II

C. M. Bishop.Neural Networks for Pattern Recognition.Oxford University Press, 1995.

C. M. Bishop.Pattern Recognition and Machine Learning.Springer-Verlag, 2006.

UWAGA: Jednak niektórych rzeczy, o których będzie mowa, nie ma(prawie) nigdzie :)

NJ (KIS/UMK) Uczenie maszynowe 4 / 197

Page 5: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Wstęp

Wstęp

Data + mining = dataminingAlgorytmy uczące się, maszyny uczące sięa czasami nawet niekoniecznie uczące sięUczenie się z danych, odkrywanie wiedzy z danych, budowanie modeli(matematycznych wiedzy)CEL: wydobyć właściwą informację z danych, na jej podstawiezbudować właściwy model, zgodnie z celem. Jeśli to jest możliwe. . .

Różne środowiska analizy danych, budowania modeli

NJ (KIS/UMK) Uczenie maszynowe 5 / 197

Page 6: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Wstęp

Problematyka

Różne typy danychRóżne typy celu — cel czyli, to co z danych chcemy wydobyćRóżne metody oceny uzyskanego celuCEL = zbudowanie wiarygodnego modelu na podstawie danych ipewnej wiedzy a priori

NJ (KIS/UMK) Uczenie maszynowe 6 / 197

Page 7: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Wstęp

Przykłady danych / problemów

Chory / zdrowy — przeróżne problemy medyczneCo wpływa na X a co nie ma związku z XRozpoznawanie pisma, mowy, twarzy obiektów, ruchu - UCIAnaliza „zachowań” klientów (banki, sklepy, etc.)Klasteryzacja (analiza skupień), czyli co łączy (jakie cechy/zależności)pewne grupy obiektówPredykcjeSterowanie/automatyka

NJ (KIS/UMK) Uczenie maszynowe 7 / 197

Page 8: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Wstęp

Etapy całości procesu datamining

1 postawienie/zrozumienie problemu2 wyznaczenie właściwych danych związanych z problemem3 niezbędne przygotowanie danych do modelowania matematycznego

(informatycznego)4 modelowanie i testowanie5 przygotowanie użytecznego rozwiązania dla końcowego odbiorcy i

wdrożenieMy będziemy się zajmowali punktem 3 i 4.

NJ (KIS/UMK) Uczenie maszynowe 8 / 197

Page 9: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Wstęp

Różna postać danych

Najczęściej macierz (lub 2 macierze):wiersz = obiekt, kolumna = cechawiersz = iksiński, kolumna = wzrostcechy mogą być ciągłe lub dyskretne:wzrost – ciągłykocha – dyskretny (tak/nie)mebel – dyskretny nieuporządkowany(nie-)porównywalność wymiarów cechbraki w danych: wartości niewyznaczone i zagubionebłędne dane: błąd pomiaru, błąd przy wprowadzaniu, zła interpretacja(czegoś) -> zły wpisdane niemacierzowe: grafy – opisy relacji (kto co kupuje, kto gdziesurfuje, zależności NLP, cząsteczki chemiczne, ...)dane tekstowe, obiekt – ciąg danychdane vs. miary odległości (a także podobieństwa)NJ (KIS/UMK) Uczenie maszynowe 9 / 197

Page 10: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Wstęp

Problem — definicja od strony modelowaniamatematycznego

Problem = {D,M, T }

D – daneM – przestrzeń modeliT – miara oceny wiarygodności modelu

NJ (KIS/UMK) Uczenie maszynowe 10 / 197

Page 11: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Wstęp

Typy problemów — aproksymacja

Aproksymacja, regresjaDane: 〈X, y〉X – macierz m × n (wiersz = obiekt, kolumny = cechy),y – wektor oczekiwanych wartości (yi ∈ R)Cel: szukamy funkcji F (·) takiej, że:

F (xi ) = yi + ε

ε jest niepewnością danych (yi ), czyli szumem.UWAGA: w interpolacji oczekujemy:

F (xi ) = yi

czyli pełnej dokładności. Przy aproksymacji bardziej nam zależy naGENERALIZACJI a nie bezwzględnej dokładności.

NJ (KIS/UMK) Uczenie maszynowe 11 / 197

Page 12: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Wstęp

Typy problemów — predykcja

Dane: xCel: szukamy funkcji F (·) takiej, że:

F (xi , xi+1, . . . , xi+k) = xi+k+1 + ε

lub czasemF (xi , xi+1, . . . , xi+k) = xi+k+l + ε

ε jest niepewnością danych (yi ), czyli szumem.

NJ (KIS/UMK) Uczenie maszynowe 12 / 197

Page 13: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Wstęp

Typy problemów — klasyfikacja

Dane: 〈X, y〉X – macierz m × n (wiersz = obiekt, kolumny = cechy),y – wektor m elementowy oczekiwanych KLAS (yi ∈ S a S jestzbiorem wyliczeniowym)Cel: szukamy funkcji F (·) takiej, że:

F (xi ) = yi + ε

najczęściej S = {−1, 1}, czyli dwie klasylub S = {0, . . . , k}, czyli kilka klas

NJ (KIS/UMK) Uczenie maszynowe 13 / 197

Page 14: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Wstęp

Typy problemów — klasteryzacja

Dane: XX – macierz m × n (wiersz = obiekt, kolumny = cechy)Cel: szukamy funkcji F (·) takiej, że:

F (xi ) = yi

gdzie yi ∈ S

najczęściej S = {−1, 1}, czyli dwa klastrylub S = {0, . . . , k}, czyli kilka klastrów

NJ (KIS/UMK) Uczenie maszynowe 14 / 197

Page 15: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Wstęp

Typy problemów — selekcja cech

Dane: 〈X, y〉X – macierz m × n (wiersz = obiekt, kolumny = cechy),y – wektor m elementowy oczekiwanych KLAS (yi ∈ S a S jestzbiorem wyliczeniowym)Cel: szukamy podzbioru P ⊆ {0, . . . , n − 1} takiego, że daje sięznaleźć funkcję F (·) takiej, że:

F (x′i ) = yi + ε

gdzie x′i jest wektorem cech P z wektora xi .

NJ (KIS/UMK) Uczenie maszynowe 15 / 197

Page 16: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Wstęp

Typy problemów — selekcja prototypów

Dane: 〈X, y〉X – macierz m × n (wiersz = obiekt, kolumny = cechy),y – wektor m elementowy oczekiwanych KLAS (yi ∈ S a S jestzbiorem wyliczeniowym)Cel: szukamy podzbioru P ⊆ {0, . . . ,m − 1} takiego, że daje sięznaleźć funkcję F (·) takiej, że:

F (xi ) = yi + ε

w oparciu o uczenie na podzbiorze wektorów X o indeksach z P .

NJ (KIS/UMK) Uczenie maszynowe 16 / 197

Page 17: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Liniowa dyskryminacja

Liniowa dyskryminacja

Liniowa dyskryminacja = podział przestrzeni na dwie części, klasę A iBPrzydatne gdy mamy problem klasyfikacji z dwiema klasami a danedają się separować (stosunkowo) dobrze hiperpłaszczyzną rozpiętą naprzestrzeni cech.

Problem liniowo separowalny — mówimy, że problem jest liniowoseparowalny jeśli istnieje hiperpłaszczyzna dzieląca przestrzeń w tensposób, że z jednej strony znajdują się obiekty jednej klasy a z drugiejdrugiej klasy.

NJ (KIS/UMK) Uczenie maszynowe 17 / 197

Page 18: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Liniowa dyskryminacja

Funkcja dyskryminująca

h(x) = wTx + w0

w jest szukanym wektorem wag.Przyjmujemy, że przynależność do danej klasy rozstrzygamy poprzez:

F (x) =

{−1 h(x) < 01 ¬

r jest odległością x od hiperpłaszczyzny H określonej przez h:

r =h(x)

||w||

ponieważ:x = xp + r

w||w||

xp jest rzutem x na H.NJ (KIS/UMK) Uczenie maszynowe 18 / 197

Page 19: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Liniowa dyskryminacja

Dążenie aby wektory przeciwnych klas były po przeciwnych stronachhiperpłaszczyzny można zastąpić poprzez cel:

wTxi · yi > 0

czyli wszystkie (jakby) po tej samej stronie tylko, że odpowiednie po ich„negacjach” (yi = ±1).W konsekwencji jeśli dla danego w i xi wyjdzie:

wTxi · yi > 0

to znaczy, że został dobrze sklasyfikowany, a w przeciwnym przypadku źle.

NJ (KIS/UMK) Uczenie maszynowe 19 / 197

Page 20: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Liniowa dyskryminacja

Algorytmy spadku gradientu — ogólnie

Cel = minimalizacja:

Jp(w) =m∑i=1

(−wTxi · yi )

wtedy∇Jp =

∑i

−xi · yi

1 initialize w,criterion θ, η(·),2 k = 03 do {4 k = k + 15 w = w − η(k)∇J(w)6 } while η(k)∇J(w) ≥ θ7 return w

NJ (KIS/UMK) Uczenie maszynowe 20 / 197

Page 21: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Liniowa dyskryminacja

Batch Perceptron LD

1 Batch_Perceptron_LD(D)2 initialize w,criterion θ, η(·),3 k = 04 do {5 k = k + 16 w = w + η(k)

∑mi=1(xi · yi )

7 } while η(k)∑

i xi · yi ≥ θ8 return w

NJ (KIS/UMK) Uczenie maszynowe 21 / 197

Page 22: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Liniowa dyskryminacja

Online Perceptron LD

1 Online_Perceptron_LD(D)2 initialize w,3 k = 04 do {5 k = (k + 1) % m6 if (wTxk · yk < 0 )7 w = w + xk · yk8 } while ¬wszystko OK && nie osiągnięto limitu iteracji9 return w

NJ (KIS/UMK) Uczenie maszynowe 22 / 197

Page 23: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Liniowa dyskryminacja

Online B Perceptron LD

1 Online_B_Perceptron_LD(D)2 initialize w, b, criterion θ, η(·),3 k = 04 do {5 k = (k + 1) % m6 if (wTxk · yk + b < 0 )7 w = w + η(k)xk · yk8 } while ((∃i wTxi · yi + b ≥ 0) && nie osiągnięto limitu iteracji)9 return w

NJ (KIS/UMK) Uczenie maszynowe 23 / 197

Page 24: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Liniowa dyskryminacja

Perceptron 2 LD

J(w) =∑i∈E

(wTxi · yi − b)2

||xi ||2

∇J =∑i∈E

(wTxi · yi − b)xi · yi||xi ||2

E jest zbiorem wektorów generujących błędy.

NJ (KIS/UMK) Uczenie maszynowe 24 / 197

Page 25: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Liniowa dyskryminacja

1 Perceptron_2_LD(D)2 initialize w, b, criterion θ, η(·),3 k = 04 do{5 k = k + 16 j=0; E = {}7 do{8 j = j + 19 if (wTxj · yj − b < 0 )

10 E = E ∪ {j}11 } while (j<m)

12 w = w + η∑

i∈E(b−wT xi ·yi )xi ·yi

||xi ||2

13 } while(E != ∅)14 return w

NJ (KIS/UMK) Uczenie maszynowe 25 / 197

Page 26: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Liniowa dyskryminacja

MSE & pseudoodwrotność

Cel:Xw = y

gdzie

X =

1 x11 · · · x1n· · ·1 xm1 · · · xmn

czyli:

n∑j=1

xijwj + w0 = yi i = 1, . . . ,m, yi = ±1

Wtedy błąd to:e = Xw − y

Niech

Js(w) = ||Xw − y||2 =m∑i=1

(wTxi − yi )2

NJ (KIS/UMK) Uczenie maszynowe 26 / 197

Page 27: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Liniowa dyskryminacja

To

∇Js =m∑i=1

2(wTxi − yi )xi = 2XT (Xw − y)

∇Js = 0

wtedyXTXw = XTy

w = (XTX)−1XTy = X†y

gdzie X† ≡ (XTX)−1XT jest macierzą pseudoodwrotną, którą możemypoliczyć z pomocą algorytmu SVD w złożoności O(mn2).

NJ (KIS/UMK) Uczenie maszynowe 27 / 197

Page 28: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Liniowa dyskryminacja

Rozkład według wartości szczególnych SVD i macierzpseudoodwrotna

Poprzez rozkład SVD macierz A można przedstawić jako:

A = UΣV T

gdzie Σ jest macierzą Σ =

[D 00 0

],m × n. D = diag(σ1, . . . , σn).

UT = U−1 a także V T = V−1.Teraz A† można wyznaczyć poprzez:

A† = V Σ∗UT

gdzie Σ∗ też jest m. przekątniową z wartościami 1/σi o wymiarach n ×m.

SVD — O(mn2)

NJ (KIS/UMK) Uczenie maszynowe 28 / 197

Page 29: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Liniowa dyskryminacja

1 LDA_SVD(D)2 [U,Σ,V T ] = SVD(X );3 w = V Σ−1UTy4 return w

NJ (KIS/UMK) Uczenie maszynowe 29 / 197

Page 30: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Liniowa dyskryminacja LMS — least mean squares

∇Js =m∑i=1

2(wTxi − yi )xi

∇Js = 2(wTxi − yi )xi

1 LMS(D)2 initialize w, criterion θ, η(·),3 k = 04 do {5 k = k + 16 w = w + η(k)(yk −wTxk)xk7 } while η(k)(yk −wTxk)xk ≥ θ8 return w

NJ (KIS/UMK) Uczenie maszynowe 30 / 197

Page 31: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Regresja liniowa

Regresja liniowa

Cel:Xw = y

∑j

xijwj = yi i = 1, . . . ,m, yi ∈ R

MSE & pseudoodwrotność

e = Xw − y

w = (XTX)−1XTy = X†y

LMS, iteracyjnie:

w = w + η(k)(yk −wTxk)xkNJ (KIS/UMK) Uczenie maszynowe 31 / 197

Page 32: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

k najbliższych sąsiadów

k najbliższych sąsiadów (kNN – k nearest neighbours)

Dane: 〈X, y〉.Aby sklasyfikować wektor x należy:

Wyznaczyć zbiór k najbliższych sąsiadów do x pośród wektorów X.Niech Nk będzie zbiorem indeksów tych wektorów.

Wektor x zostaje przypisany do klasy, która jest najczęstsza pośród Nk .

NJ (KIS/UMK) Uczenie maszynowe 32 / 197

Page 33: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

k najbliższych sąsiadów

Prawdopodobieństwo przynależności x do klasy c można określićpoprzez:

P(c|x) =1k

∑yi=c ∧ i∈Nk

1

A klasę zwycięską przez:

c = arg maxi

P(ci |x)

NJ (KIS/UMK) Uczenie maszynowe 33 / 197

Page 34: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

k najbliższych sąsiadów

Sąsiedzi – Metryka

Wyznaczanie Nk — czyli k najbliższych sąsiadów x z X.Potrzebujemy metryki:

d(x, x′) = ||x− x′||

kNN może pracować z dowolną metryką!

NJ (KIS/UMK) Uczenie maszynowe 34 / 197

Page 35: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

k najbliższych sąsiadów

Metryki

Minkovsky

DM(x, x′;α) =

( n∑i=1

|xi − x ′i |α)1/α

.

Euclides — α = 2Manhattan — α = 1Chebyshev – α→∞

DCh(x, x′) = maxi=1,...,n

|xi − x ′i |.

Camberra

DCa(x, x′) =n∑

i=1

|xi − x ′i ||xi + x ′i |

NJ (KIS/UMK) Uczenie maszynowe 35 / 197

Page 36: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

k najbliższych sąsiadów

HammingaDHamm(x, x′) =

∑i=1,...,n ∧ xi 6=x ′i

1

Mahalanobis

D2M(x; x′) =

√(x− x′)Σ−1(x− x′)T ,

gdy Σ jest macierzą kowariancji(σij = σ(Xi ,Xj) =

∑k=1,...,m(xki − xk)(x ′kj − x ′k),

Xi — wektor wartości i-tej cechy (kolumna X).

corr(Xi ,Xj) = σ(Xi ,Xj)/(σiσj)).

NJ (KIS/UMK) Uczenie maszynowe 36 / 197

Page 37: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

k najbliższych sąsiadów

Minkovsky–Hamming

DMH(x, x′;α) =

( n∑i=1

|d iMH(xi , x

′i )|α)1/α

.

gdzie

d(x , x ′) =

x − x ′ i-ta cecha ciągła0 x = x ′ & i-ta – cecha nieuporządkowana1 x 6= x ′ & i-ta cecha – nieuporządkowana

Miara szczególnie istotna, gdy dane zawierają cechy uporządkowane inieuporządkowane! Powinna być używana jak większość na danychpoddanych standaryzacji (dla cech uporządkowanych).

NJ (KIS/UMK) Uczenie maszynowe 37 / 197

Page 38: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

k najbliższych sąsiadów

kNN i różne k

Jakie k jest dobre? Jakie k jest najlepsze?Co gdy k = 1?k = 5k a C (C liczba klas)Co gdy k = m?

NJ (KIS/UMK) Uczenie maszynowe 38 / 197

Page 39: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

k najbliższych sąsiadów

kNN i impasy

IlościowyOdległościowy

Impas ilościowyGdy pośród najczęstszej klasy mamy dwie lub więcej o tej samej liczbiesąsiadów.Co robić? [Nic lub dobierać do zerwania impasu]

Impas odległościowyCo gdy dla pewnego k wyznaczyliśmy k najbliższych sąsiadów ale (!)okazuje się, że jest więcej wektorów w X, które mają taką samąodległość do x jak najdalszy z k najbliższych.Co robić?

Nic – zdajemy się na losowość (nie najlepsze wyjście. . . )Dobieramy wszystkie o tej samej odległości co ostatni

NJ (KIS/UMK) Uczenie maszynowe 39 / 197

Page 40: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

k najbliższych sąsiadów

Jednorodność udziału sąsiadów w decyzji kNN

1 – wpływ jednorodny: ∑yi=c ∧ i∈Nk

1

1/d(x, xi ) ∑yi=c ∧ i∈Nk

1/d(x, xi ),

gdzie pi oznacza, którym (pod kątem bliskości) jest i-ty sąsiad.1/p ∑

yi=c ∧ i∈Nk

1/pi ,

gdzie pi oznacza, którym (pod kątem bliskości) jest i-ty sąsiad.

NJ (KIS/UMK) Uczenie maszynowe 40 / 197

Page 41: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Znormalizowane radialne funkcje bazowe

Znormalizowane radialne funkcje bazowe (Normalized radialbasis functions (NRBF))

P(c|x,X, y) =∑i∈I c

k(x; xi ), (1)

gdzie I c = {i : xi ∈ Xyi = c} a

k(x; xi ) =G (x, xi ;σ)∑mj=1 G (x, xj ;σ)

, (2)

gdzie G (x, x′;σ) = exp(−||x− x′||2/σ) jest funkcją Gaussa.

Jak widać tu także używamy metryki. Tak więc podobnie jak w przypadkukNN — możemy korzystać z różnych metryk.

NJ (KIS/UMK) Uczenie maszynowe 41 / 197

Page 42: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Znormalizowane radialne funkcje bazowe

−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5

0

0.2

0.4

0.6

0.8

1P

roba

bilit

y

Dispersions: σ1=0.5, σ

2=1 Centers: t

1=−1, t

2=1

NJ (KIS/UMK) Uczenie maszynowe 42 / 197

Page 43: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Znormalizowane radialne funkcje bazowe

−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5

0

0.2

0.4

0.6

0.8

1P

roba

bilit

y

Dispersions: σ1=0.15, σ

2=1.5 Centers: t

1=0, t

2=0

NJ (KIS/UMK) Uczenie maszynowe 43 / 197

Page 44: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Klasyfikator MAP & maksymalnej wiarygodności (Maximumlikelihood)

Klasyfikator MAP & maksymalnej wiarygodności (Maximumlikelihood)

Klasyfikator MAP:

hMAP = arg maxy∈Y

P(y |D)

Z tw. Bayes’a

P(y |D) =P(D|y)P(y)

P(D)

czyli

hMAP = arg maxy∈Y

P(D|y)P(y)

P(D)

hMAP = arg maxh∈Y

P(D|y)P(y)

Gdy założyć a priori, że wszystkie hipotezy y są jednakowoprawdopodobne mamy klasyfikator największej wiarygodności:

hML = arg maxy∈Y

P(D|y)

NJ (KIS/UMK) Uczenie maszynowe 44 / 197

Page 45: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Optymalny i naiwny klasyfikator Bayesowski

Optymalny klasyfikator Bayesowski

Prawdopodobieństwo przynależności do klasy y dla danych uczącychD i wektora klasyfikowanego x dla pewnego modelu h (klasyfikator):

P(y |D, x)

Prawdopodobieństwo przynależności do klasy y ze względu na różnehipotezy h ∈ H (różne hipotezy = możliwość zbudowania różnychklasyfikatorów):

P(y |D,H) =∑h∈H

P(y |h, x)P(h|D)

H różne dopuszczalne modele.Optymalny klasyfikator Bayesowski

BOC (x|D,H) = arg maxy∈Y

∑h∈H

P(y |h, x)P(h|D)

NJ (KIS/UMK) Uczenie maszynowe 45 / 197

Page 46: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Optymalny i naiwny klasyfikator Bayesowski

Naiwny klasyfikator Bayesowski

Niestety BOC jest czysto abstrakcyjny i nie daje się łatwo wyznaczyćprawie zawsze.Twierdzenie Bayesa:

P(yi |x) =P(x |yi )P(yi )

P(x)=

P(x |yi )P(yi )∑j P(x |yj)P(yj)

Naiwny klasyfikator Bayesowski (NB) — zakłada niezależność cech:P(x|y) =

∏ni=1 P(xi |y). Mamy wtedy:

NBC (x) = arg maxy∈Y

P(y |x) = arg maxy∈Y

P(x|y)P(y)

P(x)

= arg maxy∈Y

P(y)n∏

i=1

P(xi |y). (3)

P(x) nie wpływa na arg max.NJ (KIS/UMK) Uczenie maszynowe 46 / 197

Page 47: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Optymalny i naiwny klasyfikator Bayesowski

Wyznaczanie klasyfikacji NB

Musimy wyznaczyć: P(y) i P(xi |y) = P(xi ∧ y)/P(y)

P(y) =|{yi : yi = y}|

mDla nieuporządkowanych cech:

P(xi |y) =|{〈x′, y ′〉 : x ′i = xi ∧ y ′ = y}|

|{yi : yi = y}|Dla uporządkowanych:

P(xi |y) =1√

2πσiyexp(−

(xiy − xiy )2

2σ2iy)

wartości xiy i σiy to średnia i standardowe odchylenie wartości i-tejcechy wektorów należących do klasy y .

Alternatywnie dla uporządkowanych cech można dokonaćdyskretyzacji.NJ (KIS/UMK) Uczenie maszynowe 47 / 197

Page 48: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Optymalny i naiwny klasyfikator Bayesowski

Choć Naiwny Klasyfikator Bayesowski zakłada niezależnośćposzczególnych cechy, nie oznacza to jednak, że tylko dla takichdanych może być stosowany.Często nie wiadomo nic o zależności wymiarów. Klasyfikatora NBmożemy użyć, lecz trzeba będzie zweryfikować jego faktycznąużyteczność.

NJ (KIS/UMK) Uczenie maszynowe 48 / 197

Page 49: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Klasteryzacja k-średnich (k-means)

Klasteryzacja k-średnich (k-means)

Dane X (brak danych o klasach!)Algorytm dzieli obszar danych (jak i dane) na określone k klastrów witeracyjnym procesie:

1 k−means(D,k)2 initialize k centrów: t1, . . . , tk (np. losowymi wektorami z D)3 j=14 do {5 foreach xi in D {6 // przypisz x do najbliższego centrum:7 yi = argminj ||xi − tj ||8 }9 for( i=1 to k ) {

10 P = {〈x, y〉 : y = i}11 ti =

1|P|

∑x∈P x

12 }13 j++14 } while (j < nrIter);15 return y1, . . . , ym; t1, . . . , tk

NJ (KIS/UMK) Uczenie maszynowe 49 / 197

Page 50: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Klasteryzacja k-średnich (k-means)

Centra ti wyznaczone przez algorytm k-średnich można używać doklasyfikacji nowych danych:

F (x) = arg minj=1,...,k

||x− tj ||

demo

NJ (KIS/UMK) Uczenie maszynowe 50 / 197

Page 51: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Klasteryzacja k-średnich (k-means)

Klasyfikacja danych z klasami za pomocą k-średnich

Nieco nietypowe zastosowanie k-średnich:Na podstawie danych D = 〈X, y〉 można zbudować klasyfikator przezszereg klasteryzatorów k-średnich.W tym celu można stworzyć k klastrów dla każdej z klas danych D.

NJ (KIS/UMK) Uczenie maszynowe 51 / 197

Page 52: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Klasteryzacja Dendrogramy

Klasteryzacja za pomocą dendrogramów

Punkt startowy to ustawienie klastrów w każdym punkcie danych:

ci = xi

Następnie iteracyjnie następuje łączenie dwóch najbliższych sobieklastrów i zastąpienie ich jednym. Czyli dwa najbliższe klastry sąłączone, tworzony jest nowy klaster zastępujący.w kolejnych krokach znów szukamy dwóch najbliższych klastrów izastępujemy je jednym. Proces powtarzamy aż zbudujemy drzewo lubk klastrów.istotnym atrybutem tej metody jest aspekt wizualizacyjny w postacidendrogramu.

NJ (KIS/UMK) Uczenie maszynowe 52 / 197

Page 53: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Klasteryzacja Dendrogramy

NJ (KIS/UMK) Uczenie maszynowe 53 / 197

Page 54: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Klasteryzacja Dendrogramy

1 dendrogram(D,k)2 initialize ci = xi , i = 1, . . . ,m3 P = {c1, . . . , cm}4 i=05 while(i < m−k){6 find nearest clusters cp and cq in P7 remove cp and cq from P8 c ′ = join cp and cq9 P = P + c ′

10 }11 return P;

STOP gdy liczba klastrów osiągnie k lub po zbudowaniu pełnego jednegodrzewa.

Typy dendrogramów = metody realizacji "szukania najbliższych" obiektów(analiza odległości klastrów) i "łączenia klastrów", czyli wyznaczaniapołożenia centrum nowego obiektu i przynależnych elementów.

NJ (KIS/UMK) Uczenie maszynowe 54 / 197

Page 55: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Klasteryzacja Dendrogramy

Metody liczenia odległości pomiędzy klastrami:średnia odległość pomiędzy parami elementów z dwóch klastrów

dist(cp, cq) =1

|cp| · |cq|∑

x∈cp ,x′∈cq

||x− x′||

największa odległość pomiędzy parami elementów z dwóch klastrów

dist(cp, cq) = max{||x− x′|| : x ∈ cp, x′ ∈ cq}

najmniejsza odległość pomiędzy parami elementów z dwóch klastrów

dist(cp, cq) = min{||x− x′|| : x ∈ cp, x′ ∈ cq}

odległość pomiędzy środkami (centroidami) klastrów:

dist(cp, cq) = ||cp − cq||

ci = 1|ci |∑

x∈ci x — środek klastra

Możliwość używania różnych metryk, jak dla kNN.NJ (KIS/UMK) Uczenie maszynowe 55 / 197

Page 56: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Klasteryzacja Dendrogramy

Dendrogramy 2D

Analiza podobieństwa wektorów i cech na jednym podwójnymdendrogramie.

NJ (KIS/UMK) Uczenie maszynowe 56 / 197

Page 57: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Klasteryzacja dbscan

Klasteryzacja dbscan

Klasteryzacja oparta o gęstość.Klastry o nieregularnych kształtacheps — maksymalna odległość punktudo klastra.MinPts — określa minimalną liczbępunktów w otoczeniu przy analiziegęstości.

A C

B

N

q jest bezpośrednio osiągalny z p jeśli ich odległość jest niewiększaniż eps i p jest otoczony odpowiednią liczbą punktów (MinPts).q jest osiągalny z p jeśli istnieje sekwencja punktów p1, . . . , pl

(p1 = q i pl = p), gdzie pi+1 jest bezpośrednio osiągalny z pi .

NJ (KIS/UMK) Uczenie maszynowe 57 / 197

Page 58: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Klasteryzacja dbscan

p i q są „połączone" jeśli istnieje punkt o, taki że: p i q są osiągalnez o.punkty w klastrze są połączone

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

NJ (KIS/UMK) Uczenie maszynowe 58 / 197

Page 59: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Klasteryzacja dbscan

1 DBSCAN(D, eps, MinPts)2 for each unvisited point P in dataset D {3 mark P as visited4 NeighborPts = regionQuery(P, eps)5 if sizeof(NeighborPts) < MinPts6 mark P as NOISE7 else8 C = new cluster9 expandCluster(P, NeighborPts, C, eps, MinPts)

10 }11 expandCluster(P, NeighborPts, C, eps, MinPts)12 add P to cluster C13 for each point Q in NeighborPts {14 if Q is not visited15 mark Q as visited16 NeighborPtsQ = regionQuery(Q, eps)17 if sizeof(NeighborPtsQ) >= MinPts18 NeighborPts += NeighborPtsQ19 if Q is not yet member of any cluster20 add Q to cluster C21 }

NJ (KIS/UMK) Uczenie maszynowe 59 / 197

Page 60: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Klasteryzacja dbscan

Własności

Nie wymaga określenia liczby klastrów.Wymaga: eps i MinPtsNieregularne kształty odpowiadające gęstościom.Reaguje pozytywnie na szum.Możliwość używania różnych metryk.

demo

NJ (KIS/UMK) Uczenie maszynowe 60 / 197

Page 61: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Klasteryzacja dbscan

Porównanie różnych klasteryzacji

NJ (KIS/UMK) Uczenie maszynowe 61 / 197

Page 62: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Metody testowania maszyn uczących

Uczenie i testowanie

Testowanie jest niezbędne do weryfikacji uczenia.Uczymy na danych uczących (treningowych) a testujemy na danychtestowych.Testy na danych treningowych są niewiarygodne (nie weryfikują czyproces uczenia jest udany a powstały klasyfikator/aproksymatornadaje się do zastosowania).

NJ (KIS/UMK) Uczenie maszynowe 62 / 197

Page 63: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Metody testowania maszyn uczących

Poprawność i błąd klasyfikacji

Dla klasyfikatora F i danych testowych D′ poprawność klasyfikacjidefiniujemy poprzez:

acc(F ,D′) =

∑〈x,y〉∈D′ ∧ F (x)=y 1

|D′|a błąd klasyfikacji jako

err(F ,D′) = 1− acc(F ,D′)

Poprawność i błąd zbalansowany:Niech N i będzie zbiorem wektorów klasy i z danych D’:

N i = {〈x, y〉 : y = i}

accb(F ,D′) =1C

C∑i=1

∑〈x,y〉∈N i∧y=F (x) 1

|N i |

NJ (KIS/UMK) Uczenie maszynowe 63 / 197

Page 64: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Metody testowania maszyn uczących

Baserate, macierz konfuzji (rozrzutu)

Jeden z najtoporniejszych klasyfikatorów to taki, który ZAWSZE głosuje naklasę najliczniejszą, wtedy jego dokładność to:

baserate(D) =liczba wektorów najliczniejszej klasy z D

|D|

Macierz konfuzji K o rozmiarach C × C :

Kij = |{〈x, y〉 : y = j ∧ F (x) = i}|

mówi o statystycy oczekiwanej klasyfikacji i otrzymanej klasyfikacji. Np.:

K =

[45 32 55

]K21 = 2 mówi, że 2 wektory miały być sklasyfikowane jako klasa 1 azostały sklasyfikowane jako klasa 2.

NJ (KIS/UMK) Uczenie maszynowe 64 / 197

Page 65: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Metody testowania maszyn uczących

Macierz konfuzji II

Rozpatrzmy macierz konfuzji dla przypadku dwuklasowego:

pred \ orig True FalsePositive TP FPNegative FN TN

FP – rozpoznano schorzenie, gdy zdrowyFN – nie rozpoznano schorzenia, gdy chory

Sensitivity = Recall = TP-rate = TP/(TP + FN)

Specificity = TN/(TN + FP)

Precision = TP/(TP + FP)

FP-rate = FP/(TN + FP)

F-measure = 2 ∗ TP/(2 ∗ TP + FP + FN)

Sensitivity — wrażliwość Specificity — specyficznośćNJ (KIS/UMK) Uczenie maszynowe 65 / 197

Page 66: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Metody testowania maszyn uczących

SSE, MSE, RMSE, APE, AVR

Sumaryczny błąd kwadratowy

SSE (F ,D′) =m∑i=1

(F (xi )− yi )2 (4)

Uśredniony błąd kwadratowy

MSE (F ,D′) =1m

SSE =1m

m∑i=1

(F (xi )− yi )2 (5)

RMSE (F ,D′) =√

MSE (F ,D′) (6)

Średni błąd procentowy (niebezpieczny wokół zera dla yi )

APE =1m

m∑i=1

∣∣∣∣F (xi )− yi )

yi

∣∣∣∣ ∗ 100% (7)

AVR =

∑mi=1(F (xi )− yi )

2∑mi=1(y − yi )2 (8)

NJ (KIS/UMK) Uczenie maszynowe 66 / 197

Page 67: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Metody testowania maszyn uczących

Kroswalidacja (cross validation CV)

Testowanie na pojedynczym zbiorze testowym jest niewiarygodne.Dlatego na podstawie jednego zbioru można wytworzyć szereg zbiorówtreningowych i odpowiadającym im zbiorów testowych.Robimy to poprzez losowy podział zbioru D na k możliwie równolicznychrozłącznych części:

D = D1 ∪ . . . ∪ Dk Di ∩ Dj = ∅ (i 6= j) (9)

Wtedy D′i = D \ Di stanowią k zbiorów uczących a odpowiadające imczęści testowe to Di .Stratyfikowana kroswalidacja:Gdy dodatkowo przy losowaniu dbać aby proporcje klas w częściach Di byłymożliwie zbliżone do proporcji klas z D to mamy podział stratyfikowany.

NJ (KIS/UMK) Uczenie maszynowe 67 / 197

Page 68: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Metody testowania maszyn uczących

Typowo dzielimy na 10 części w CV: 10-fold CV.W wyniku trening i testu na k częściach uzyskujemy k wyników ztestów. Używamy ich uśrednień:

acc(D) =1k

k∑i=1

acc(Fi ,Di ) (10)

gdzie Fi jest maszyną uczoną na zbiorze D′i .Odchylenie standardowe poprawności uczenia:

σ(D) =

√√√√ 1k − 1

k∑i=1

(acc(Fi ,Di )− acc(D))2 (11)

NJ (KIS/UMK) Uczenie maszynowe 68 / 197

Page 69: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Metody testowania maszyn uczących

Powtarzanie i uśrednianie CV

Aby wyniki uzyskane z kroswalidacji były wiarygodne należy kroswalidacjęwielokrotnie powtórzyć niezależnie losując dane kolejnych kroswalidacji anastępnie policzyć średnią poprawność i jej odchylenie standardowe.

Typowo wykonuje się następujące podziały:– 10× 10-fold CV– 5× 2-fold CVTak więc w pierwszym przypadku mamy 100 uczeń i 100 testów a wdrugim 10 uczeń i testów. W drugim przypadku nigdy nie uczymy 2 razy natym samym wektorze w ramach jednej kroswalidacji.

LOO: w przeszłości był też używany test „leave one out”, czylikroswalidacja m-foldowa. Co oznacz, że maszyna uczona była na m − 1wektorach a testowana na jednym. Tego nie należy stosować ponieważ niedaje wiarygodnych rezultatów.

NJ (KIS/UMK) Uczenie maszynowe 69 / 197

Page 70: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Oprogramowanie data mining

Oprogramowanie data mining

RapidMiner http://www.rapid-i.comWeka http://www.cs.waikato.ac.nz/ml/weka/KNIME http://www.knime.org/

NJ (KIS/UMK) Uczenie maszynowe 70 / 197

Page 71: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Learning vector quantization LVQ

Learning vector quantization LVQ

1 LVQ(D,k)2 initialize k centrów: t1, . . . , tk (np. losowymi wektorami z D)3 + przypisanie im klas4 j=05 do {6 α0 = α∗ ∗ (nrIter − j)7 // for in random order...8 foreach( xi in D ) {9 winnerId = nearest(xi , T, || · ||);

10 α = y twinnerId==yi ? α0 : −α0;

11 twinnerId += α ∗ (xi − twinnerId)12 }13 j++14 } while (j < nrIter);15 return t1, . . . , tk

NJ (KIS/UMK) Uczenie maszynowe 71 / 197

Page 72: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Learning vector quantization LVQ

Po procesie uczenia LVQ może być używane jako klasyfikator:klasyfikacja polega na ustaleniu klasy najbliższego centrum ti doklasyfikowanego wektora x.Centra ti prototypy.LVQ jako klasyfikator to 1NN z zbiorem centrów jako zbioremuczącym kNN.Poprzez CV do uczenia można wyznaczyć właściwą liczbęneuronów/centrów.

NJ (KIS/UMK) Uczenie maszynowe 72 / 197

Page 73: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Maszyna wektorów wspierających (SVM)

Maszyna wektorów wspierających

Istotą metody SVM jest konstrukcja optymalnej hiperpłaszczyzny,

której zadaniem jest rozseparowanie danych z możliwie największymmarginesem zaufania.

NJ (KIS/UMK) Uczenie maszynowe 73 / 197

Page 74: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Maszyna wektorów wspierających (SVM)

Tak zdefiniowana optymalna hiperpłaszczyzna, określona przezwspółczynniki w i b, spełnia poniższą nierówność

ykF (xk)

||w||≥ τ k = 1, 2, . . . ,m, (12)

oczywiście przy założeniu, że istnieje margines ufności τ , a F (x) jestzdefiniowane (na początek) przez:

F (x) = w>x + b. (13)

A będzie realizowane poprzez znalezienie:

F (x) =m∑i=1

aiyi · 〈x, xi 〉+ b. (14)

NJ (KIS/UMK) Uczenie maszynowe 74 / 197

Page 75: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Maszyna wektorów wspierających (SVM) Funkcje jądrowe

Funkcje jądrowe

Z powodu możliwości wystąpienia liniowej nieseparowalności w przestrzeniwejściowej ideą SVM nie stała się konstrukcja optymalnej hiperpłaszczyznyw przestrzeni wejściowej, lecz w pewnej wysoko wymiarowej przestrzenicech Z, która najczęściej jest nieliniowym produktem pewnych funkcjibazowych φi (x) (wybranych a priori), określonych w przestrzeni wejściowej.Wtedy równanie optymalnej hiperpłaszczyzny przyjmuje postać:

F (x) =m∑i=1

aiyiK (xi , x) + b, (15)

gdzie Ki (xi , x) jest jądrem iloczynu skalarnego (ang. inner product kernel)funkcji bazowych (przestrzeni cech Z) φj(x), j = 1, 2, . . . ,m.Łatwo zauważyć, że w miejsce wixi z równania (13) mamy aiyiK (xi , x).Np. iloczyn skalarny może być zdefiniowany przez

K (x, x′) = φi (x)>φi (x′). (16)

NJ (KIS/UMK) Uczenie maszynowe 75 / 197

Page 76: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Maszyna wektorów wspierających (SVM) Funkcje jądrowe

Funkcje jądrowe K reprezentujące iloczyn skalarny muszą być dodatniookreślone:∫ ∫

K (x, x′)f (x)f (x′) dx dx′ > 0 dla f 6= 0,∫

f 2(x)dx <∞.(17)

dla wielomianów stopnia q mamy:

K (x, x′) = [γ(x>x′) + θ]q, (18)

w najprostszej wersji mamy:

K (x, x′) = x>x′. (19)

Jednak nie każda postać K z (18) jest dodatnio określona. Dla θ = 0i θ = 1, gdy q jest naturalne, to K jest dodatnio określone.

NJ (KIS/UMK) Uczenie maszynowe 76 / 197

Page 77: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Maszyna wektorów wspierających (SVM) Funkcje jądrowe

Funkcja gaussowska

K (x, x′) = exp

(−||x− x′||2

γ

), (20)

Funkcja tangens hiperboliczny K (·):

K (x, x′) = tanh(γ[x>x′] + θ). (21)

NJ (KIS/UMK) Uczenie maszynowe 77 / 197

Page 78: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Maszyna wektorów wspierających (SVM) Konstrukcja optymalnej hiperpłaszczyzny

Konstrukcja optymalnej hiperpłaszczyzny

CEL: Uzyskanie możliwie największego marginesu pomiędzy dwiema klasami.Może być zapisany w następujący sposób.

maxw,b

min{||x− xi || : w>x + b = 0, i = 1, . . . ,m} (22)

Przeskalowujemy w i b tak, aby najbliższe punkty hiperpłaszczyzny w>x + b = 0leżały na hiperpłaszczyznach zdefiniowanych przez:

w>x + b = ±1. (23)

Wtedy dla wszystkich wektorów xi mamy:

yi [w>xi + b] ≥ 1. (24)

NJ (KIS/UMK) Uczenie maszynowe 78 / 197

Page 79: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Maszyna wektorów wspierających (SVM) Konstrukcja optymalnej hiperpłaszczyzny

b

b

b

bb

b

b

b

b

x1

r

r

r

r

r

r

r

r

x2

{x | 〈w, x〉+ b = −1} {x | 〈w, x〉+ b = +1}

{x | 〈w, x〉+ b = 0}

〈w, x1〉+ b = −1

〈w, x2〉+ b = +1

⇓〈w, (x2 − x1)〉 = 2

⇓〈 w

||w|| , (x2 − x1)〉 =2

||w||

NJ (KIS/UMK) Uczenie maszynowe 79 / 197

Page 80: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Maszyna wektorów wspierających (SVM) Konstrukcja optymalnej hiperpłaszczyzny

Stąd łatwo wyznaczyć szerokość marginesu. Weźmy dwa najbliższe punktyx1 i x2 do hiperpłaszczyzny, po jednym z każdej klasy. Następnie zrzutujmyje wzdłuż prostej prostopadłej używając wektora normalnego w/||w||.Wtedy odległość pomiędzy zrzutowanymi punktami to:[

w||w||

]>[x1 − x2] =

2||w||

. (25)

Teraz (22) można przekształcić do nowej funkcji celu:

minw,b

τ(w) =12||w||2, (26)

przy warunkach:

yi [w>xi + b] ≥ 1 i = 1, . . . ,m. (27)

NJ (KIS/UMK) Uczenie maszynowe 80 / 197

Page 81: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Maszyna wektorów wspierających (SVM) Konstrukcja optymalnej hiperpłaszczyzny

Problem optymalizacyjny z ograniczeniami można rozwiązać metodąmnożników Lagrange’a.

minx,y

f (x , y) (28)

z ograniczeniem:g(x , y) = 0 (29)

Tworzymy Lagrangian:

L(x , y , α) = f (x , y)− αg(x , y) (30)

gdzie α > 0 to mnożnik Lagrange’a.A następnie przyrównujemy:

∂xL(x , y ,α) = 0 (31)

∂yL(x , y ,α) = 0 (32)

NJ (KIS/UMK) Uczenie maszynowe 81 / 197

Page 82: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Maszyna wektorów wspierających (SVM) Konstrukcja optymalnej hiperpłaszczyzny

Tak samo dla wielu zmiennych xi (i = 1, . . . , n) z wieloma ograniczeniamigk(x) = 0.Cel:

min f (x) (33)

z ograniczeniami:gi (x) = 0 i = 1, . . . ,K (34)

Wtedy lagrangian to:

L(x,α) = f (x)−K∑i=1

αigi (x) (35)

∂xiL(x,α) = 0 i = 1, . . . , n (36)

NJ (KIS/UMK) Uczenie maszynowe 82 / 197

Page 83: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Maszyna wektorów wspierających (SVM) Konstrukcja optymalnej hiperpłaszczyzny

Dla SVM (26) definiujemy lagrangian:

L(w, b,α) =12||w||2 −

m∑i=1

αi (yi [x>i w + b]− 1), (37)

gdzie αi > 0 są mnożnikami Lagrange’a.Teraz celem jest maksymalizacja lagrangiana L ze względu na współczynnikiαi i minimalizacja ze względu na w i b.To prowadzi do warunków, w których pochodne L ze względu na powyższewspółczynniki zanikają:

∂bL(w, b,α) = 0, (38)

∂wL(w, b,α) = 0, (39)

co prowadzi do:m∑i=1

αiyi = 0, w =m∑i=1

αiyixi . (40)

NJ (KIS/UMK) Uczenie maszynowe 83 / 197

Page 84: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Maszyna wektorów wspierających (SVM) Konstrukcja optymalnej hiperpłaszczyzny

Wektory xi , dla których αi > 0, nazywane są wektorami wspierającymi.Zgodnie z twierdzeniem Karush-Kuhn-Thuckera teorii optymalizacji wpunkcie siodłowym lagrangiana L (37) niezerowe są tylko tewspółczynniki αi , dla których mamy:

αi (yi [x>i w + b]− 1) = 0, i = 1, . . . ,m. (41)

Własność ta pokazuje, że wektory podpierające leżą dokładnie namarginesie.Tym samym pozostałe wektory stają się nieistotne i dla nichnierówności (27) są oczywiście spełnione.

NJ (KIS/UMK) Uczenie maszynowe 84 / 197

Page 85: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Maszyna wektorów wspierających (SVM) Konstrukcja optymalnej hiperpłaszczyzny

Wykorzystując powyższą własność i jednocześnie podstawiając (40) dolagrangiana L (37) eliminujemy zmienne w i b.W ten sposób otrzymujemy dualny problem optymalizacyjny

maxα

W (α) =m∑i=1

αi −12

m∑i ,j=1

αiαjyiyjx>i xj (42)

z ograniczeniami (warunkami KKT):

αi ≥ 0 i = 1, . . . ,m, (43)m∑i=1

αiyi = 0. (44)

Po powyższych przekształceniach funkcją decyzyjną (klasyfikacyjną) jest:

F (x) = sgn

(m∑i=1

αiyix>xi + b

). (45)

NJ (KIS/UMK) Uczenie maszynowe 85 / 197

Page 86: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Maszyna wektorów wspierających (SVM) Konstrukcja optymalnej hiperpłaszczyzny

Powracając do przestrzeni funkcji φ(·) możemy przeformułować i uogólnićdualny problem (42):

maxα

W (α) =m∑i=1

αi −12

m∑i ,j=1

αiαjyiyjK (xi , xj). (46)

Ograniczenia (43) pozostają bez zmian.Tak określony problem poszukuje optymalnej hiperpłaszczyzny wprzestrzeni funkcji φ(·) (16).Z kolei funkcja decyzyjna przyjmuje formę:

F (x) = sgn

(m∑i=1

αiyiK (x, xi ) + b

). (47)

Wartość b powyższego zbioru łatwo wyznaczyć na podstawie jednejz równości (41). W praktyce b często przyjmuje średnią wartość z wartości,jakie można wyznaczyć z równości (41) w celu poprawy dokładności.

NJ (KIS/UMK) Uczenie maszynowe 86 / 197

Page 87: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Maszyna wektorów wspierających (SVM) Hiperpłaszczyzna dla przypadków nieseparowalnych

Hiperpłaszczyzna dla przypadków nieseparowalnych

Nieseparowalność oznacza niemożność spełnienia warunków (27).Rozwiązanie polega na wprowadzeniu zmiennych ξi rozluźniającychwięzi nierówności (27):

yi [w>xi + b] ≥ 1− ξi i = 1, . . . ,m, (48)ξi ≥ 0. (49)

Jak widać z (48) ξi dopuszczają, by pewne wektory xi (te, dla którychξ > 0) leżały po niewłaściwej stronie płaszczyzn określającychmargines.

Klasyfikator powinien kontrolować szerokość marginesu ||w||, jak i wysokośćkary:

∑i ξi .

Powyższe rozważanie prowadzi do nowej funkcji celu:

minw,b,ξ

12||w||2 + C

m∑i=1

ξi (50)

z ograniczeniami (48) i (49). C musi być większe od 0.

NJ (KIS/UMK) Uczenie maszynowe 87 / 197

Page 88: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Maszyna wektorów wspierających (SVM) Hiperpłaszczyzna dla przypadków nieseparowalnych

Zgodnie z twierdzeniem Karush-Kuhn-Tuckera lagrangian (50) przyjmiepostać:

L(w, b,α,µ) =12||w||2 + C

m∑i=1

ξi −m∑i=1

αi (yi [x>i w+ b]−1+ ξi )−m∑i=1

µiξi ,

(51)µi są mnożnikami Lagrange’a wymuszającymi dodatniość ξi .

To, tak jak poprzednio, prowadzi do warunków, w których pochodne Lzanikają:

∂bL(w, b,α,µ) = 0, (52)

∂wL(w, b,α,µ) = 0, (53)

NJ (KIS/UMK) Uczenie maszynowe 88 / 197

Page 89: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Maszyna wektorów wspierających (SVM) Hiperpłaszczyzna dla przypadków nieseparowalnych

m∑i=1

αiyi = 0 (54)

w =m∑i=1

αiyixi (55)

z warunkami:∂

∂ξiL(w, b,α,µ) = C − αi − µi = 0, (56)

yi [x>i w + b]− 1 + ξi ≥ 0, (57)ξi ≥ 0, (58)αi ≥ 0, (59)µi ≥ 0, (60)

αi (yi [x>i w + b]− 1 + ξi ) = 0, (61)µiξi = 0. (62)

NJ (KIS/UMK) Uczenie maszynowe 89 / 197

Page 90: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Maszyna wektorów wspierających (SVM) Hiperpłaszczyzna dla przypadków nieseparowalnych

Ostatecznie prowadzi to do dualnego problemu optymalizacyjnego:

maxα

W (α) =m∑i=1

αi −12

m∑i ,j=1

αiαjyiyjx>i xj (63)

z ograniczeniami:

0 ≤ αi ≤ C i = 1, . . . ,m, (64)m∑i=1

αiyi = 0. (65)

NJ (KIS/UMK) Uczenie maszynowe 90 / 197

Page 91: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Maszyna wektorów wspierających (SVM) ν-SVC

ν-SVC

W powyższym problemie ważną rolę odgrywa współczynnik C , który, jaknapisali Schölkopf i Smola jest „nieintuicyjny".Z powyższych powodów zaproponowano nowy algorytm ν-SVM, gdzieparametr C zastąpiono przez ν.

Pierwotny problem optymalizacyjny zdefiniowano przez:

minw,b,ξ,ρ

τ(w, ξ, ρ) =12||w||2 − νρ+

1m

m∑i=1

ξi (66)

z ograniczeniami:

yi [x>i w + b] ≥ ρ− ξi , (67)ξi ≥ 0, (68)ρ ≥ 0 (69)

NJ (KIS/UMK) Uczenie maszynowe 91 / 197

Page 92: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Maszyna wektorów wspierających (SVM) ν-SVC

Parametr ν charakteryzuje się ciekawymi własnościami. Przypuśćmy, żew rezultacie optymalizacji finalna wartość ρ jest większa od 0, mamywtedy:

1 ν jest ograniczeniem górnym na procent wektorów leżących wewnątrzmarginesu:

1m|{i : yiF (xi ) < ρ}|, (70)

2 ν jest ograniczeniem dolnym na procent wektorów podpierających(support vectors (SVs)) względem całego zbioru wektorów.

NJ (KIS/UMK) Uczenie maszynowe 92 / 197

Page 93: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Maszyna wektorów wspierających (SVM) ν-SVC

ν 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8

współ. błędów 0.00 0.07 0.25 0.32 0.39 0.50 0.61 0.71

współ. SV 0.29 0.36 0.43 0.46 0.57 0.68 0.79 0.86

margines 0.005 0.018 0.115 0.156 0.36 0.42 0.46 0.55

NJ (KIS/UMK) Uczenie maszynowe 93 / 197

Page 94: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Maszyna wektorów wspierających (SVM) ν-SVC

Ostatecznie otrzymujemy funkcję celu problemu dualnego:

maxα

W (α) = −12

m∑i ,j=1

αiαjyiyjK (xi , xj) (71)

z ograniczeniami:

0 ≤ αi ≤1m, (72)

m∑i=1

αiyi = 0, (73)

m∑i=1

αi ≥ ν. (74)

Ogólna postać funkcji decyzyjnej jest taka sama jak (47):

F (x) = sgn

(m∑i=1

αiyiK (x, xi ) + b

). (75)

NJ (KIS/UMK) Uczenie maszynowe 94 / 197

Page 95: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Maszyna wektorów wspierających (SVM) ν-SVC

Pozostaje jeszcze wyznaczenie współczynników b i ρ. W tym celu musimyzdefiniować dwa zbiory S+ i S−:

S+ = {xi : 0 < αi < 1 ∧ yi = +1}, (76)S− = {xi : 0 < αi < 1 ∧ yi = −1}. (77)

Wtedy nierówność (67) staje się równością z ξi = 0 i mamy:

b = − 12s

∑x∈S+∪S−

m∑j=1

αjyjK (x, xj), (78)

ρ =12s

∑x∈S+

m∑j=1

αjyjK (x, xj)−∑x∈S−

m∑j=1

αjyjK (x, xj)

, (79)

gdzie s = |S+| = |S−|.

NJ (KIS/UMK) Uczenie maszynowe 95 / 197

Page 96: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Maszyna wektorów wspierających (SVM) SVM dla regresji (ε-SVR)

SVM dla regresji (ε-SVR)

SVM może być także sformułowany w kontekście problemów regresyjnych.Punktem wyjścia jest funkcji błędu ε−niewrażliwej (ang. ε−insensitive errorfunction):

c(x, y , f (x)) = |y − f (x)|ε = max{0, |y − f (x)| − ε}. (80)

+ǫ−ǫ x

|y − f (x)|ǫ

NJ (KIS/UMK) Uczenie maszynowe 96 / 197

Page 97: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Maszyna wektorów wspierających (SVM) SVM dla regresji (ε-SVR)

Podobnie jak i w przypadku klasyfikacji, na początku można zawęzićposzukiwania do przypadku liniowego i poszukiwać rozwiązania problemuregresji liniowej:

f (x) = x>w + b (81)

poprzez minimalizację

12||w||2 + C

m∑i=1

|yi − f (xi )|ε. (82)

NJ (KIS/UMK) Uczenie maszynowe 97 / 197

Page 98: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Maszyna wektorów wspierających (SVM) SVM dla regresji (ε-SVR)

Podobnie jak w przypadku konstrukcji miękkiej optymalnejhiperpłaszczyzny wprowadza się zmienne łagodzące nierówności.

W tym przypadku wprowadza się dwa typy zmiennych (ξ i ξ∗), jedną dlaprzypadku f (xi )− yi > ε i drugą, gdy yi − f (xi ) > ε.

Wtedy problem regresji można przedstawić jako problem optymalizacyjny:

minw,ξ,ξ∗,b

τ(w, ξ, ξ∗) =12||w||2 + C

m∑i=1

(ξi + ξ∗i ) (83)

przy ograniczeniach:

− ε− ξ∗i ≤ f (xi )− yi ≤ ε+ ξi i = 1, . . . ,m, (84)ξi , ξ

∗i ≥ 0. (85)

NJ (KIS/UMK) Uczenie maszynowe 98 / 197

Page 99: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Maszyna wektorów wspierających (SVM) SVM dla regresji (ε-SVR)

Wracając do postaci SVM z funkcjami jądrowymi i przechodząc do postacidualnego problemu optymalizującego otrzymujemy:

maxα,α∗

W (α,α∗) =− εm∑i=1

(α∗i + αi ) +m∑i=1

(α∗i − αi )yi

− 12

m∑i,j=1

(α∗i − αi )(α∗j − αj)K (xi , xj)(86)

z ograniczeniami:

0 ≤ αi , α∗i ≤ C i = 1, . . . ,m, (87)

m∑i=1

(αi − α∗i ) = 0. (88)

Funkcja regresji przyjmuje postać:

f (x) =m∑i=1

(α∗i − αi )K (xi , x) + b. (89)

NJ (KIS/UMK) Uczenie maszynowe 99 / 197

Page 100: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Maszyna wektorów wspierających (SVM) Optymalizacja problemów programowania kwadratowego

Optymalizacja problemów programowania kwadratowego

Rozwiązania problemów optymalizacyjnych wymagają rozwiązaniaproblemu optymalizacji programowania kwadratowego.

Najważniejszym elementem wspomagającym optymalizację jestdekompozycja problemu.

NJ (KIS/UMK) Uczenie maszynowe 100 / 197

Page 101: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Maszyna wektorów wspierających (SVM) Optymalizacja problemów programowania kwadratowego

Dekompozycja: Ogólny problem optymalizacyjny:

maxα

W (α) = p>α− 12α>Qα (90)

z ograniczeniami:

0 ≤ αi ≤ C i = 1, . . . ,m, (91)y>α = ∆, (92)

(gdzie Qij = yiyjK (xi , xj))Zostaje przekształcony do:

maxαB

W (αB) = (p− QBRαR)>αB −12α>BQBBαB (93)

z ograniczeniami:

0 ≤ αB,i ≤ C ∀ i ∈ B, (94)y>BαB = ∆− y>RαR , (95)

gdzie[

QBB QBR

QRB QRR

]jest pewną permutacją macierzy Q.

NJ (KIS/UMK) Uczenie maszynowe 101 / 197

Page 102: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Maszyna wektorów wspierających (SVM) Optymalizacja problemów programowania kwadratowego

Zasadniczą ideą dekompozycji jest podział całego zbioru uczącego nadwa: roboczy B i resztę zbioru R = {1, . . . ,m} \ B .Wektor αB podlega optymalizacji, a αR jest zamrożony.Czynnik −1

2α>RQRRαR + p>RαR jest stały i dlatego nie znalazł się w

(93)).

NJ (KIS/UMK) Uczenie maszynowe 102 / 197

Page 103: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Maszyna wektorów wspierających (SVM) Optymalizacja problemów programowania kwadratowego

Ogólny schemat algorytmu rozwiązywania problemu optymalizacjiprzez dekompozycję może wyglądać jak poniżej:

1 Wyznaczyć wektor α1 jako rozwiązanie początkowe.2 Jeśli wektor αk jest optymalny: STOP.

W przeciwnym przypadku wyznaczyć zbiór roboczy (indeksów)B ⊂ {1, . . . ,m} rozmiaru q, R = {1, . . . ,m} \ B . Wektory αk

B i αkR

są odpowiednimi, względem zbiorów indeksów B i R , częściamiwektora αk .

3 Rozwiązać podproblem optymalizacyjny (93) względem αkB .

4 αk+1B ustawić na rozwiązanie optymalne (93), a αk+1

R na αkR .

Następnie skok do 2.

NJ (KIS/UMK) Uczenie maszynowe 103 / 197

Page 104: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Maszyna wektorów wspierających (SVM) Optymalizacja problemów programowania kwadratowego

Powyższy schemat wymaga jednak sprecyzowania odpowiedzi na trzypytania:

1 Jak wybierać zbiór roboczy?2 Na jakiej podstawie decydować, czy wektor αk jest optymalny?3 Jak rozwiązywać podproblemy?

Dwa najciekawsze algorytmy korzystające z powyższej dekompozycjiproblemu to SVMlight Joachimsa i SMO Platta z modyfikacjami Keerthiegoi in..

NJ (KIS/UMK) Uczenie maszynowe 104 / 197

Page 105: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Maszyna wektorów wspierających (SVM) SMO

SMO, optymalizacja α1 i α2

SMO po wybraniu do zbioru roboczego dwóch wektorów x (przyjmijmy x1 i x2)prowadzi optymalizację w sposób analityczny ponieważ dla dwóch wektorówmożna policzyć dokładnie optymalne korekty wag α1 i α2.α∗ są ograniczone (0 ≤ αi ≤ C ) i muszą leżeć na diagonali:

Z tego można wyznaczyć ograniczenia na wartości α2:Jeśli y1 6= y2 to:

L = max(0, αold2 − αold

1 ) H = min(C ,C + αold2 − αold

1 ) (96)

w przeciwnym wypadku:

L = max(0, αold2 + αold

1 − C ) H = min(C , αold2 + αold

1 ) (97)

NJ (KIS/UMK) Uczenie maszynowe 105 / 197

Page 106: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Maszyna wektorów wspierających (SVM) SMO

Reguła uczenia bez ograniczenia może być następująca:

αnew2 = αold

2 −y2(E1 − E2)

η(98)

gdzie Ei = F (xi )− yi a η wpływa na szybkość uczenia i jest drugąpochodną:

η = 2K (x1, x2)− K (x1, x1)− K (x2, x2) (99)

Reguła uczenia z ograniczeniem może być następująca:

αnew ,clip2 =

H if αnew

2 ≥ H

αnew2 if L < αnew

2 < H

L if α2 ≤ L

(100)

αnew1 = αold

1 + y1y2(αold2 − α

new ,clip2 ) (101)

NJ (KIS/UMK) Uczenie maszynowe 106 / 197

Page 107: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Extreme learning machines

Extreme learning machines (ELM) and RBF

The linear discrimination model g(x) = wTx is learned by:

w = (XTX)−1XTy = X†y (102)

where X is a matrix of input data, y label (class) vector and X† ispseudo-inverse matrix. The above equation is a solution for the goal:

Js(w) = ||Xw − y||2 =m∑i=1

(wTxi − yi )2 (103)

obtained by zeroing the gradient.The non-linear model of neural network is generated by a set ofgaussian/sigmoidal kernels (k1, . . . , kl), and learned in a similar way asabove networks after transforming the original space into the spaceobtained by kernels. It means that instead of X in Eq.102 the matrix F isused (see 106).

NJ (KIS/UMK) Uczenie maszynowe 107 / 197

Page 108: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Extreme learning machines

ELM model in the kernel space is defined by:

g ′(x) = wT fx =l∑

j=1

wj · kj(x; xzj ) + w0 (104)

where xzj are randomly selected between all data vectors, and

fx = [k1(x; xz1), . . . , kl(x, xzl ), 1]T .

Above equation is indeed a RBFN network (or SVM)

The above equation is a solution for the goal:

Js(w) = ||Fw − y||2 =m∑i=1

(f Txi w − yi )

2 (105)

where F = [fx1 , . . . , fxm ].The w is obtained again by pseudo inverse matrix:

w = (FTF)−1FTy = F†y (106)

NJ (KIS/UMK) Uczenie maszynowe 108 / 197

Page 109: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Extreme learning machines

1 RBF_ELM(D, k, l)2 for(i=1 to m) {3 for(j=1 to l)4 F[i,j] = kj(xi , xj);5 F(i,l+1) = 1;6 }7 [U,Σ,V T ] = SVD(F );8 w = V Σ−1UTy9 return w

10 end

k vector of l kernel functions.

NJ (KIS/UMK) Uczenie maszynowe 109 / 197

Page 110: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Extreme learning machines

Complexity of learning = complexity of SVD (computation of matrix F†):

O(ml2)

Good accuracy!

RBFN, ELM and linear discrimination:If k∗ is Gaussian than RBFN = ELMIf k∗ is sigmoidal (σ(x,uj) = 1/(1 + e−xTuj )) than standard ELM+ random linear combination (random uj or uj = xzj )

If k∗ is inner product (xTxzj ) = linear discrimination

NJ (KIS/UMK) Uczenie maszynowe 110 / 197

Page 111: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Algorytmy selekcji cech

Algorytmy selekcji cech

Wektory xi danych D są opisywane przez zbiór n cech.Selekcja cech to nic innego jak wybór podzbioru kolumn macierzdanych D (zakładamy postać macierzową).Selekcja cech => Redukcja wymiarowościCele selekcji:

Usunięcie cech, które utrudniają proces uczeniaklasyfikatora/aproksymatora.Zmniejszenie nakładu obliczeń: po selekcji proces uczenia jest prostszy.Wyznaczenie cech niezbędnych do procesu klasyfikacji/aproksymacji.Wyznaczenie alternatywnych podzbiorów cech doklasyfikacji/aproksymacji.Usuwanie cech “pustych" (o zerowej lub bliskiej zeru wariancji)

Nie ma selekcji dla selekcji, zawsze selekcja ma czemuś służyć. Mawspomóc rozwiązanie zdefiniowanego zadania.

NJ (KIS/UMK) Uczenie maszynowe 111 / 197

Page 112: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Algorytmy selekcji cech

Typy selekcji cech

Wewnętrzna — gdy algorytm klasyfikacji/aproksymacji, jako częśćprocesu uczenia, dokonuje selekcji cech.Zewnętrzna — niezależna od algorytmu klasyfikacji/aproksymacji.

RankingiSelekcje forward/backwardWrapping + rankingi

NJ (KIS/UMK) Uczenie maszynowe 112 / 197

Page 113: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Algorytmy selekcji cech Korelacja liniowa i selekcja cech

Korelacja liniowa i selekcja cech

corr(Xi ,Xj) =

∑mk=1(xki − Xi )(xkj − Xj)

(m − 1)σiσj=

cov(Xi ,Xj)

σiσj

gdzie Xi jest średnią i-tej cechy a

σi =

√√√√ 1m − 1

m∑k=1

(xki − Xi )2

jest standardowym odchyleniem wartości i-tej cechy.

Ostatecznie ranking CC jest obliczany ze współczynników:

JCC (i) = |corr(Xi ,Y )|

NJ (KIS/UMK) Uczenie maszynowe 113 / 197

Page 114: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Algorytmy selekcji cech Korelacja liniowa i selekcja cech

1 – korelacja pozytywna, −1 – negatywna a 0 brak korelacji.

[rys. z Wiki]

NJ (KIS/UMK) Uczenie maszynowe 114 / 197

Page 115: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Algorytmy selekcji cech Korelacja liniowa i selekcja cech

Obliczamy:JCC (1), JCC (2), . . . , JCC (n).Czyli patrzymy na korelacje każdej z cech z klasami przypisanymiposzczególnym wektorom.

Sortujemy współczynniki JCC (i):

JCC (i1) ≥ JCC (i2) ≥ . . . ≥ JCC (in)

Teraz mamy uporządkowane cechy od najbardziej skorelowanej z klasami donajmniej skorelowanych.

Ostatecznie wybieramy pewne k najbardziej skorelowanych cech idokonaliśmy selekcji cech.

Wybór najwłaściwszego k pozostaje dodatkowym zadaniem. Można tozrobić poprzez przeszukiwanie krosswalidacją do uczenia.

NJ (KIS/UMK) Uczenie maszynowe 115 / 197

Page 116: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Algorytmy selekcji cech Selekcje cech za pomocą F-scora

Selekcje cech za pomocą F-scora

F-score dla i-tej cechy liczymy poprzez:

JF (i) =1

K − 1

∑Kk=1(X k

i − Xi )2∑K

k=1[σki ]2

X ki oznacza średnią dla i-tej cechy liczoną tylko z wektorów przypisanych

do klasy k-tej.

Czasami spotykamy wersję ważoną:

JwF (i) =

1K − 1

∑Kk=1(X k

i − XI )2 ·mk∑K

k=1[σki ]2 · (mk − 1)

gdzie mk oznacza liczbę wektorów, które są przypisane do klasy k .

NJ (KIS/UMK) Uczenie maszynowe 116 / 197

Page 117: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Algorytmy selekcji cech Selekcje cech za pomocą F-scora

Ciąg dalszy podobnie jak dla współczynnika korelacji:Liczymy JF (1), JF (2), . . . , JF (n).Sortujemy . . .Wybieramy k pierwszych . . .

NJ (KIS/UMK) Uczenie maszynowe 117 / 197

Page 118: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Algorytmy selekcji cech Selekcja za pomocą liniowego SVM

Selekcja za pomocą liniowego SVM

Po wyznaczeniu liniowego SVM uzyskujemy:

F (x) =∑i

αixTi x− b

Ale możemy policzyć:w =

∑i

αixi

Teraz możemy zbudować ranking:

Jsvm(i) = |wi |

Jsvm(i) mówi nam na ile i-ta cecha odgrywała rolę w procesieklasyfikacji/aproksymacji.Znów mamy podefiniowane JSVM(i), które można posortować i wybraćważniejsze cechy.NJ (KIS/UMK) Uczenie maszynowe 118 / 197

Page 119: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Algorytmy selekcji cech Rankingi teorio–informacyjne

Rankingi teorio–informacyjne i entropia

Niech p będzie wektorem prawdopodobieństw pewnej przestrzeni dyskretnej(∑

p1 = 1), wtedy entropia jest zdefiniowana przez:

H(p) = −∑pi 6=0

pi log2 pi (107)

Entropia może być widziana jako miara różnorodności.

H([1]) = 0H([.5 .5]) = 1H([.4 .6]) = 0.9710H([.2 .8]) = 0.7219H([.1 .9]) = 0.4690H([.01 .99]) = 0.0808

H([.3333 .3333 .3333]) = 1.5849H([.25 .25 .25 .25]) = 2H([.70 .10 .10 .10]) = 1.3568H([.70 .20 0.05 0.05]) = 1.2568

NJ (KIS/UMK) Uczenie maszynowe 119 / 197

Page 120: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Algorytmy selekcji cech Rankingi teorio–informacyjne

Rankingi teorio–informacyjne

Mutual information ranking (MI): Shannon described the concept ofentropy and mutual information. The entropy in context of feature may bedefined by:

H(Xj) = −∑

x ′∈dom(Xj )

P(Xj = x ′) log2 P(Xj = x ′) (108)

where dom(Xj) is set of values in Xj .

P(Xj = x ′) =|{xij : xij = x ′, i = 1, . . . ,m}|

m(109)

and in similar way for classes:

H(y) = −K∑i=1

P(Y = yi ) log2 P(Y = yi ). (110)

NJ (KIS/UMK) Uczenie maszynowe 120 / 197

Page 121: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Algorytmy selekcji cech Rankingi teorio–informacyjne

The mutual information (MI) may be used as a base of feature ranking:

JMI (Xj) = I (Xj , y) = H(Xj) + H(y)− H(Xj , y), (111)

where H(Xj , y) is joint entropy:

H(Xj , y) = −∑

x ′∈dom(Xj )

K∑i=1

P(Xj = x ′ ∧ Y = yi ) log2 P(Xj = x ′ ∧ Y = yi )

(112)

NJ (KIS/UMK) Uczenie maszynowe 121 / 197

Page 122: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Algorytmy selekcji cech Rankingi teorio–informacyjne

klasa/ceha T=60 N=40T=70 50 20N=30 10 20

H(klasa) = H([70/100 30/100]) = 0.8813

H(cecha) = H([60/100 40/100]) = 0.971

H(klasa,cecha) = H([50/100 20/100 10/100 20/100]) = 1.761

I(klasa, cecha) = 0.0913

klasa/ceha T=60 N=40T=70 42 28N=30 18 12

H(klasa,cecha) = H([42/100 28/100 18/100 12/100]) = 1.8522

I(klasa, cecha) = 0.0001NJ (KIS/UMK) Uczenie maszynowe 122 / 197

Page 123: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Algorytmy selekcji cech Rankingi teorio–informacyjne

Asymmetric Dependency Coefficient (ADC) is defined as mutualinformation normalized by entropy of classes:

JADC (Xj) = I (Xj , y)/H(y). (113)

Normalized Information Gain (US) is defined by the MI normalized bythe entropy of feature:

JADC (Xj) = I (Xj , y)/H(Xj). (114)

Normalized Information Gain (UH) is the third possibility ofnormalizing, this time by the joint entropy of feature and class:

JUH(Xj) = I (Xj , y)/H(Xj , y). (115)

Symmetrical Uncertainty Coefficient (SUC): this time the MI isnormalized by the sum of entropies:

JSUC (Xj) = I (Xj , y)/(H(Xj , y) + H(y)). (116)

NJ (KIS/UMK) Uczenie maszynowe 123 / 197

Page 124: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Algorytmy selekcji cech Selekcje Forward i Backward

Selekcje Forward i Backward

Start z pełnej przestrzeni cech.Po czym sekwencyjnie usuwanie najbardziej psującej cechy.

Start z pustego zbioru cech.Sekwencyjnie dodajemy cechy najbardziej poprawiająceklasyfikacje/aproksymacje.

Zazwyczaj mocno czasochłonne. . .

NJ (KIS/UMK) Uczenie maszynowe 124 / 197

Page 125: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Algorytmy selekcji cech Selekcja Relief

Selekcja Relief

1 relief_fselect(D,nrIter)2 for( i=1 to n )3 JRe(i) = 04

5 for( iter=1 to nrIter ) {6 r = weź indeks losowego wektora7 s = najbliższy wektor z tej samej klasy co r8 a = najbliższy wektor z przeciwnej klasy względem r9 for( i=1 to n )

10 JRe(i) = JRe(i)− xri−xsiq + xri−xai

q

11 }

nrIter nie powinno być za duże, np. min(m,1000). Zamiast jednegonajbliższego, można użyć k najbliższych.

NJ (KIS/UMK) Uczenie maszynowe 125 / 197

Page 126: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Algorytmy selekcji cech Selekcja Relief

Selekcje i drzewa decyzyjne

O tym później. . .

NJ (KIS/UMK) Uczenie maszynowe 126 / 197

Page 127: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Analiza czynników głównych (PCA)

Analiza czynników głównych (PCA)

Analiza czynników głównych = Principal component analysisCelem PCA jest znalezienie obrotu przestrzeni, który zagwarantuje, żepo nim największą wariancją będzie charakteryzować się pierwszywymiar, drugi wymiar będzie miał największą wariancję z wyłączeniempierwszego, itd.Wymiary są do siebie prostopadłe.PCA sprawia, że pierwsze wymiary pochłaniają najwięcej zmienności wcałości danych. Czasem zdarza się, że tyko część pierwszych wymiarówcharakteryzuje się zmiennością a reszta nie wnosi zbyt wiele.Jak PCA można używać jako metodę redukcji wymiarowości? Jakowybranie k pierwszych wymiarów po obrocie.

Wady/Zalety:PCA w żaden sposób nie korzysta z etykiet klas. PCA patrzy wyłącznie naprzestrzeń wejściową.

NJ (KIS/UMK) Uczenie maszynowe 127 / 197

Page 128: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Analiza czynników głównych (PCA)

Przed obrotem:

F#1 F#2 F#3 F#4 F#5 F#6 F#7

26 000

24 000

22 000

20 000

18 000

16 000

14 000

12 000

10 000

8 000

6 000

4 000

2 000

0

[Dane bez standaryzacji]

Po obrocie:

Dimension_1 Dimension_2 Dimension_3 Dimension_4 Dimension_5 Dimension_6 Dimension_7

40 000

35 000

30 000

25 000

20 000

15 000

10 000

5 000

0

NJ (KIS/UMK) Uczenie maszynowe 128 / 197

Page 129: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Analiza czynników głównych (PCA)

Przed obrotem:

F#1 F#2 F#3 F#4 F#5 F#6 F#7

4.54

3.53

2.52

1.51

0.50

-0.5-1

-1.5-2

-2.5-3

[Dane po standaryzacji]

Po obrocie:

Dimension_1 Dimension_2 Dimension_3 Dimension_4 Dimension_5 Dimension_6 Dimension_7

4

3

2

1

0

-1

-2

-3

-4

-5

NJ (KIS/UMK) Uczenie maszynowe 129 / 197

Page 130: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Analiza czynników głównych (PCA)

SVD

SVD jest najefektywniejszą metodą dla PCA.Poprzez rozkład SVD macierz A można przedstawić jako:

A = UΣV T

gdzie Σ jest macierzą Σ =

[D 00 0

],m × n. D = diag(σ1, . . . , σn).

UT = U−1 a także V T = V−1.Tak więc macierz V jest szukaną macierzą obrotu.

Po dekompozycji należy posortować całość (Σ i V T ) względemwartości własnych Σ.Procedura numeryczna SVD jest dostępna w numerical recipes (C,C++, C#), w matlabie, lapack i in.

NJ (KIS/UMK) Uczenie maszynowe 130 / 197

Page 131: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Analiza czynników głównych (PCA)

Eigenfaces

NJ (KIS/UMK) Uczenie maszynowe 131 / 197

Page 132: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Skalowanie wielowymiarowe

Skalowanie wielowymiarowe

Skalowanie wielowymiarowe = Multidimensional scaling (MDS).MDS służy do nieliniowego rzutowania punktów z przestrzeniwielowymiarowej do niskowymiarowej, np. 2D.Cel podstawowy to wizualizacja danych wielowymiarowych napłaszczyźnie.Rzutowanie odbywa się w taki sposób, aby różnice odległości pomiędzypunktami w wielowymiarowej przestrzeni i niskowymiarowej przestrzenibyły możliwie zbliżone.

Niech δij = ‖xi − xj‖ będzie odległością w oryginalnej przestrzeni adij = ‖x ′i − x ′j‖ odległością w niskowymiarowej przestrzeni.

NJ (KIS/UMK) Uczenie maszynowe 132 / 197

Page 133: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Skalowanie wielowymiarowe

S(y) =1

Fn

∑i<j

Wij (δij − dij(y))2

This function is called the Stress. There are three types of Stress functionsused in the GhostMiner implementation of MDS (see for example R.O.Duda, P.E. Hart, D.G. Stork, Pattern Classification, 2nd Ed, John Wiley &Sons, New York 2001).

Wij = 1 Fn =∑

i<j d2ij S1(y) = 1∑Nt

i<j δ2ij

∑i<j (δij − dij)

2

Wij = 1δij

Fn =∑

i<j δij S2(y) = 1∑i<j δij

∑i<j

(δij−dij (y))2

δij

Wij = 1δ2ij

Fn = m(m − 1) S3(y) = 1m(m−1)

∑i<j

(δij−dij (y)

δij

)2S1 — classical MDSS2 — Sammon’s mappingS3 — relative errors 1− dij/dij and preserves the global structure (largerdistances) better at a cost of higher local distortions.

NJ (KIS/UMK) Uczenie maszynowe 133 / 197

Page 134: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Skalowanie wielowymiarowe

Algorytm: iteracyjna metoda zbieżności metodą spadku gradientu.Inicjalizacja przez PCA.

NJ (KIS/UMK) Uczenie maszynowe 134 / 197

Page 135: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Komitety maszyn uczących

Komitety maszyn uczących

Cele tworzenia komitetów maszynRozwiązywanie problemów wieloklasowych za pomocą maszyndedykowanych do problemów 2-klasowych.Budowanie maszyn dających lepsze rezultaty: większa dokładność, atakże większa stabilność.integracji mogą podlegać klasyfikatory jak i aproksymatory.

NJ (KIS/UMK) Uczenie maszynowe 135 / 197

Page 136: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Komitety maszyn uczących

Wszystkie komitety łączy niewątpliwie ogólny schemat ich budowy:

START

Dystrybucjadanych

Maszyna 1 Maszyna 2 . . . MaszynaT − 1

Maszyna T

Modułdecyzyjny

NJ (KIS/UMK) Uczenie maszynowe 136 / 197

Page 137: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Komitety maszyn uczących K -klasyfikatorów

K -klasyfikatorów / maszyna liniowa

Jeden klasyfikator na jedną klasęW celu zbudowania K -klasyfikatora oryginalny zbiór par uczących Dzamieniamy na K zbiorów, po jednym dla każdej z K klas:

Dk = {〈x1, yk1 〉, 〈x2, yk

2 〉, . . . 〈xm, ykm〉} k = 1, 2, . . . ,K , (117)

gdzie yki przyjmuje wartości 1 lub 0:

yki =

{1 yi = k

0 yi 6= ki = 1, 2, . . . ,m. (118)

Tak zdefiniowane zbiory Dk są zbiorami uczącymi dla poszczególnychpodmodeli komitetu.

NJ (KIS/UMK) Uczenie maszynowe 137 / 197

Page 138: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Komitety maszyn uczących K -klasyfikatorów

Każdy z podmodeli generuje wartość wyjściową C i (x) (dlai = 1, 2, . . . ,K ). Wartość C i (x) powinna być zawarta w przedziale[0, 1]. Wartość zbliżona do zera oznacza, że obserwacja x nieodpowiada klasie i , natomiast wartość C i (x) zbliżona do jedynkioznacza, że obserwacja x odpowiada klasie i .Moduł decyzyjny podejmuje ostateczną decyzję:

C (x) = arg maxi

C i (x). (119)

Normalizując wartości C i (x) możemy dostać prawdopodobieństwaprzynależności do poszczególnych klas:

p(C i |x) =C i (x)∑Kj=1 C j(x)

. (120)

NJ (KIS/UMK) Uczenie maszynowe 138 / 197

Page 139: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Komitety maszyn uczących K2-klasyfikatorów

K 2-klasyfikatorów

Maszyny dyskryminujące dla każdej pary klas ki , kj .

Komitet K 2-klasyfikatorów wymusza stworzenie dokładnie(K2

)maszyn

Cij dla i = 1, . . .K , j = 1, . . . ,K , j < i ityle samo zbiorów par uczących:

D ij = {〈xk , y ijk 〉 : yk = i ∨ yk = j〉}, (121)

gdzie y ijk przyjmuje wartości 1 lub 0:

y ijk =

{1 yk = i ,

0 yk 6= i .(122)

NJ (KIS/UMK) Uczenie maszynowe 139 / 197

Page 140: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Komitety maszyn uczących K2-klasyfikatorów

Dzięki konstrukcji powyższych zbiorów danych, każdy model Cij

posiada wiedzę o rozróżnianiu klasy i od klasy j .Mamy macierz klasyfikatorów (i ich odpowiedzi dla wektorówwejściowych x):

−C 2,1 −C 3,1 C 3,2 −...

.... . .

C k−1,1 C k−1,2 C k−1,3 −C k,1 C k,2 C k,3 · · · C k,k−1 −

. (123)

Niestety, gdy zapytamy model Cij o klasyfikacje wektora, któryewidentnie należy do klasy różnej od i i j , trudno spodziewać sięracjonalnej odpowiedzi (model Cij nigdy nie widział wektorównależących do tej klasy!).NJ (KIS/UMK) Uczenie maszynowe 140 / 197

Page 141: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Komitety maszyn uczących K2-klasyfikatorów

Przynależność danego wektora x do klasy i można zdefiniować przezponiższe równanie

p(C i |x) =

∑〈j ,i〉,i 6=j C ij(x)∑〈k,j〉,k 6=j C kj(x)

, (124)

zakładamy C ji (x) = 1− C ij(x).Bardziej zalecane jest dokonanie wstępnej diagnozy w oparciu okomitet K -klasyfikatorów. Następnie, gdy nie mamy pełnejjednoznaczności, tj. istnieją dwie (czasem więcej) klasy i i j , dlaktórych wartości C i (x) i C j(x) (patrz równanie 119) są duże, możnaposiłkować się klasyfikatorem C ij , który specjalizuje się wrozstrzyganiu przynależności do jednej z klas i i j .Komitet K 2-klasyfikatorów może okazać się efektywniejszy odk-klasyfikatorów, gdy podmodelami komitetów będą liniowe modeledyskryminujące, a także gdy maszyny źle radzą sobie z problemami odużych dysproporcjach liczebności instancji poszczególnych klas.

NJ (KIS/UMK) Uczenie maszynowe 141 / 197

Page 142: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Komitety maszyn uczących Typy modułów decyzyjnych

Podstawowe typy modułów decyzyjnych komitetówklasyfikujących

Ogólna postać komitetu może być następująca:

F (x) =T∑i=1

wiFi (x) (125)

Jak widać, efektem komitetu jest po prostu ważona kombinacja podmodeli.Najczęściej suma wag wi powinna być równa 1, a poszczególne wi ≥ 0 (a wnajprostszym przypadku wi = 1/T ). [UWAGA: tutaj Fi i F to wektory Kelementowy — jedna wartość dla każdej klasy (127).]

W przypadku klasyfikacji można przeprowadzić głosowanie w oparciuo klasyfikacje poszczególnych modeli komitetu:

V (x) = arg maxi

∑j : Fj (x)=i

1. (126)

NJ (KIS/UMK) Uczenie maszynowe 142 / 197

Page 143: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Komitety maszyn uczących Typy modułów decyzyjnych

Zakładając natomiast, że każdy model daje nie tylko etykietę zwycięskiejklasy, ale także wektor prawdopodobieństw poszczególnych klas:

pi = Fi (x), (127)

gdzie pi = [pi1, . . . , p

iK ], a K jest liczbą klas, możemy wyznaczać

prawdopodobieństwa dla komitetu:

pw (Ci |x) =1T

T∑j=1

pji . (128)

Na podstawie tych prawdopodobieństw można stworzyć komitet ważony:

W (x) = arg maxi=1,...,K

pw (Ci |x). (129)

NJ (KIS/UMK) Uczenie maszynowe 143 / 197

Page 144: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Komitety maszyn uczących Budowanie komitetów

Budowanie komitetów — kiedy komitet ma sens?

Komitet nieróżnorodnych maszyn Fi nie ma sensu!Ponieważ generuje taką samą decyzję jak F1 (skoro F1(x) = Fi (x))Różnorodność danych Di

Różnorodność maszyn Fi : z różnorodności konfiguracji lub typówmaszyn.

NJ (KIS/UMK) Uczenie maszynowe 144 / 197

Page 145: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Komitety maszyn uczących Komitet kroswalidacyjny

Komitet kroswalidacyjny

Tworzymy zbiory danych jak do CV: Di i D′i \ D.Uczymy T maszyn na zbiorach D′i (jak w CV)Nauczone maszyny używamy jako podmaszyny komitetu (głosującegolub ważonego).

NJ (KIS/UMK) Uczenie maszynowe 145 / 197

Page 146: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Komitety maszyn uczących Adaboosting

Adaboosting

Uczenie kolejnych maszyn komitetu poprzez obserwacjewcześniejszych błędów.Adaboosting w każdej i-ej iteracji uczenia powtarza sekwencje kroków:

1 Tworzenie zbioru uczącego Di dla i-ego klasyfikatora do rozkładudanych Di .

2 Uczenie maszyny Li na danych Di .3 Test maszyny Li na oryginalnych danych uczących D i ustalenie

błędów dla poszczególnych instancji danych (missi (xj)).4 Wyznaczenie błędu boostingu εi .5 Estymacja nowego rozkładu danych Di+1 w oparciu o zmiany

klasyfikacji po ostatnim uczeniu.

Wady: maszyny muszą być uczone sekwencyjnie.

NJ (KIS/UMK) Uczenie maszynowe 146 / 197

Page 147: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Komitety maszyn uczących Adaboosting

Rozkład danych Di

Wartość początkowa rozkładu Di to:

D1(xj) = 1/m. (130)

Następnie rozkład zmienia sie zgodnie z:

Di+1(xj) =Di (xj)

Zi·

{1

2(1−εi ) if Fi (xj) 6= yj12εi

¬, (131)

gdzie Zi normalizuje do 1 sumę prawdopodobieństw.Błąd boostingu εi jest zdefiniowany przez

εi =∑

j :Fi (xj )6=yj

Di (xj). (132)

NJ (KIS/UMK) Uczenie maszynowe 147 / 197

Page 148: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Komitety maszyn uczących Adaboosting

Moduł decyzyjny boostingu, którego zadanie jest klasyfikacja wektora x,jest zdefiniowany poprzez:

M(x) = arg maxk=1,...,K

∑{i :Mi (x)=k}

log1− εiεi

, (133)

gdzie Mi (x) jest decyzją i-tej maszyny a K liczbą klas.

NJ (KIS/UMK) Uczenie maszynowe 148 / 197

Page 149: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Komitety maszyn uczących Adaboosting

0 2 4 6 8

0.2

0.4

0.6

0.8

T

Accuracy

autos

hetero NB LVQ EC DS

0 2 4 6 80.5

0.6

0.7

0.8

0.9

TAccuracy

balance-scale

hetero NB LVQ EC DS

NJ (KIS/UMK) Uczenie maszynowe 149 / 197

Page 150: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Komitety maszyn uczących Adaboosting

0 2 4 6 8

0.7

0.8

0.9

T

Accuracy

chess-king-rook-vs-king-pawn

hetero NB LVQ EC DS

0 2 4 6 8

0.4

0.5

0.6

0.7

0.8

TAccuracy

ecoli

hetero NB LVQ EC DS

NJ (KIS/UMK) Uczenie maszynowe 150 / 197

Page 151: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Komitety maszyn uczących Adaboosting

0 2 4 6 8

0.2

0.4

0.6

T

Accuracy

glass

hetero NB LVQ EC DS

0 2 4 6 8

0.7

0.75

0.8

0.85

0.9

TAccuracy

parkinsons

hetero NB LVQ EC DS

NJ (KIS/UMK) Uczenie maszynowe 151 / 197

Page 152: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Komitety maszyn uczących Stacking

Stacking

W metodach typu stacking miejsce modułu decyzyjnego zajmujemodel adaptacyjny, który reguluje wpływy poszczególnych składowychkomitetu.Uczenie w stackingu przebiega dwuetapowo:– nauczenie T podmaszyn komitetu.– uczenie odpowiedniej maszyny modułu decyzyjnego na podstawiedecyzji podejmowanych przez podmodele komitetu.Maszyny w Stackingu mogą być uczone równolegle (są niezależne wprzeciwieństwie do AdaBoostingu).

NJ (KIS/UMK) Uczenie maszynowe 152 / 197

Page 153: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Komitety maszyn uczących Stacking

W stackingu podmodele mają przygotowywane dane do uczenia, jakdla kroswalidacji. i-ty model uczy się na danych D′i = D \ Di .Następnie tworzy się zbiór danych uczących moduł adaptacyjny:

DCV = {〈zi , yi 〉, i = 1, . . . ,m}, (134)

gdzie zi jest wektorem:

[zi1, zi2, . . . , ziT ] = [F1(xi ),F2(xi ), . . . ,FT (xi )]. (135)

Jak teraz widać, moduł decyzyjny będzie uczony w oparciu o wyjściapodmodeli komitetu.

NJ (KIS/UMK) Uczenie maszynowe 153 / 197

Page 154: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Komitety maszyn uczących Stacking

Moduł decyzyjny może być realizowany przez dowolny klasyfikator.Tak więc podjęcie decyzji przez Stacking to– wyznaczenie decyzji podmaszyn– a na ich podstawie podejmuje decyzje nauczony moduł decyzyjny.

NJ (KIS/UMK) Uczenie maszynowe 154 / 197

Page 155: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Selekcja wektorów/prototypów

Selekcja wektorów/prototypów

Selekcja wektorów/prototypów = usunięcie z danych D części wierszy. Toco pozostaje staje się zbiorem uczącym.CELE selekcji wektorów:

Filtrowanie, czyli usuwanie przeszkadzających wektorów. Szczególniewektorów, które są niejako sprzeczne z pozostałymi wektorami danych.Zmniejszenie zbioru uczącego prowadzące do zmniejszenia złożonościuczenia. Jednocześnie możliwie nie pogarszając klasyfikacji.Selekcja prototypów, czyli bardzo niewielkiej części wektorów z D,które wystarczają do opisu wiedzy całości danych D.

NJ (KIS/UMK) Uczenie maszynowe 155 / 197

Page 156: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Selekcja wektorów/prototypów Metody filtrujące

Metody filtrujące

Edited Nearest Neighbor (ENN)

Usuwa wektory, których klasa jest niezgodna z klasą większościowąnajbliższych sąsiadów:

1 ENN(D,k) {2 foreach (xi in D)3 {4 Nk = k najbliższych sąsiadów xi ;5 yy = arg maxk ′ |{ya : xa ∈ Nk ∧ ya = k ′}|;6 if (yi 6= yy )7 usuń xi z D;8 }9 return D;

10 }

NJ (KIS/UMK) Uczenie maszynowe 156 / 197

Page 157: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Selekcja wektorów/prototypów Metody filtrujące

Repeated Edited Nearest Neighbor (RENN)

Powtarza ENN tak długo, jak tylko nastąpiło usunięcie wektora z D.

1 RENN(D,k) {2 do{3 l = |D|;4 D = ENN(D, k);5 }while( l != |D| );6 return D;7 }

NJ (KIS/UMK) Uczenie maszynowe 157 / 197

Page 158: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Selekcja wektorów/prototypów Metody filtrujące

All-k Nearest Neighbor (AkNN)

Powtarza ENN dla szeregu różnych k .

1 AkNN(D,l)2 {3 for (k=1 to l )4 D = ENN(D, k);5 return D;6 }

NJ (KIS/UMK) Uczenie maszynowe 158 / 197

Page 159: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Selekcja wektorów/prototypów Metody filtrujące

Edited NRBF (ENRBF)

ENRBF usuwa takie wektory xi (w pętli), dla których:

∃k 6=yi P(yi |xi ,Di ) < αP(k |xi ,Di ), (136)

gdzie Di = D − 〈xi , yi 〉, a α ∈ (0, 1].Natomiast P(k |xi ,Di ) jest liczone jak w NRBF.

Czyli usuwanie wektorów xi , których klasyfikacja była by prawie na pewnobłędna, po usunięciu xi z D. [Czyli wektory niekonsystentne. Podobnie jakENN.]

NJ (KIS/UMK) Uczenie maszynowe 159 / 197

Page 160: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Selekcja wektorów/prototypów Metody filtrujące

Condensed Nearest Neighbor Rule (CNN)Startuje z losowego wektora danych D.Następnie każdy wektor źle klasyfikowany jest dodawany do nowegozbioru.Ten algorytm jest mocno wrażliwy na kolejność rozpatrywaniawektorów.

1 CNN(D,k) {2 S = losowy wektor x′ z D;3 foreach (xi in D \ {x′} )4 yy = classify(xi ,k);5 if (yi != yy)6 S = S + 〈xi , yi 〉7 return S;8 }

[niska efektywność!]

NJ (KIS/UMK) Uczenie maszynowe 160 / 197

Page 161: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Selekcja wektorów/prototypów Selekcja prototypów

Selekcja prototypów

DROP1–DROP4, czyli seria algorytmów DROP

Niech A(x, k) oznacza zbiór wektorów, dla których x jest jednym z knajbliższych sąsiadów. A(x, k) to wektory, na które wpływa x.

F#337363534333231302928272625242322212019

F#5

53525150494847464544434241403938373635343332313029282726252423222120191817

NJ (KIS/UMK) Uczenie maszynowe 161 / 197

Page 162: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Selekcja wektorów/prototypów Selekcja prototypów

DROP1Usuwa instancje x ze zbioru D jeśli nie zmienia to klasyfikacji elementów zbioruA(x).

1 DROP1(D,k) {2 do{3 foreach (xi in D in random order ) {4 delete xi if it will not change5 classification of instances from A(xi , k)6 }7 } while(changes);8 return D;9 }

NJ (KIS/UMK) Uczenie maszynowe 162 / 197

Page 163: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Selekcja wektorów/prototypów Selekcja prototypów

DROP2Ma znacznie lepszą efektywność.DROP2 nie przegląda wektorów w kolejności losowej!DROP2 startuje od sortowania po odległościach poszczególnychinstancji od najbliższego im wektora klasy przeciwnej. Sortowaniemalejące. Każdemu xi wyznaczamy najbliższego wroga i jegoodległość.

1 DROP2(D,k)2 do {3 foreach (xi in D in dist−order)4 delete xi if it will not change5 classification of instances from A(xi , k)6 } while(changes in D)7 return D;8 end

NJ (KIS/UMK) Uczenie maszynowe 163 / 197

Page 164: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Selekcja wektorów/prototypów Selekcja prototypów

DROP3DROP3 przed uruchomieniem DROP2 zapuszcza ENN.

DROP4DROP4 zaczyna od zaostrzonej procedury ENN:aby usunąć x, jego klasa musi być nie tylko inna niż większościowasąsiadów, ale dodatkowo usunięcie musi nie pogarszać klasyfikacji.Po tym wstępnym procesie następuje zapuszczenie DROP2.

NJ (KIS/UMK) Uczenie maszynowe 164 / 197

Page 165: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Selekcja wektorów/prototypów Selekcja prototypów

1 DROP4(D,k)2 foreach (xi in D)3 delete xi if kNN(x,k) 6= yi and it will not4 change classification of instances from A(xi , k)5 do {6 foreach (xi in D in dist−order)7 delete xi if it will not change8 classification of instances from A(xi , k)9 } while (changes in D)

10 return D;11 end

NJ (KIS/UMK) Uczenie maszynowe 165 / 197

Page 166: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Selekcja wektorów/prototypów Selekcja prototypów

Długość kodowania

Niech S oznacza nowy zbiór wektorów, który stanie się ostatecznymzbiorem prototypów.

Cel to minimalizacja:

J(m,m′, q) = F (m′,m) + m′ log2 K + F (q,m−m′) + q log2(K −1), (137)

m i m′ są liczbami wektorów w oryginalnym (D) i uproszczonym (S)zbiorze. K jest liczbą klas. q jest liczbą źle sklasyfikowanych wektorów zD \ S .

F (m, n) = log∗

(m∑i=0

n!

i !(n − i)!)

), (138)

log∗ n = arg mink

F ′(k) ≥ n

F ′(0) = 1,F ′(i) = 2F′(i−1).

NJ (KIS/UMK) Uczenie maszynowe 166 / 197

Page 167: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Selekcja wektorów/prototypów Selekcja prototypów

EncLenStart S z oryginalnego zbioru D.W pętli losowo po wszystkich wektorach: Usuwane są te wektory,które minimalizują J(·) (jeśli usunięcie wektora zmniejsza J).

NJ (KIS/UMK) Uczenie maszynowe 167 / 197

Page 168: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Selekcja wektorów/prototypów Selekcja prototypów

1 EncLen(D, startS = D, R = D)2 S = startS3 m′ = m4 q = numerOfErrors(D \ S , S)5 j = J(m,m′, q)6 foreach (xi in R) {7 S = S \ {xi}8 m′−−9 q = numerOfErrors(D \ S , S)

10 j ′ = J(m,m′, q)11 if(j ′ ≤ j)12 j = j ′

13 else {14 S = S ∪ {xi}15 m′++16 }17 }18 return S ;19 end

start: EncLen(D,D,D)NJ (KIS/UMK) Uczenie maszynowe 168 / 197

Page 169: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Selekcja wektorów/prototypów Selekcja prototypów

EncLenGrowStartuje z pustego zbioru S .Dodaje pierwszy losowy wektor do zbioru S .Kolejne wektory są oglądane w losowej kolejności i dodawane do zbioruS jeśli tylko koszt J po dodaniu okazał by się mniejszy.W kolejnym kroku wołany jest EncLen

NJ (KIS/UMK) Uczenie maszynowe 169 / 197

Page 170: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Selekcja wektorów/prototypów Selekcja prototypów

1 EncLenGrow(D)2 S = ∅3 m′ = 04 q = numerOfErrors(D \ S , S)5 j = J(m,m′, q)6 foreach (xi in D) {7 S = S ∪ {xi}8 m′++9 q = numerOfErrors(D \ S , S)

10 j ′ = J(m,m′, q)11 if(j ′ ≤ j)12 j = j ′

13 else {14 S = S \ {xi}15 m′−−16 }17 }18 S = EncLen(D, S , S)19 return S ;20 end

NJ (KIS/UMK) Uczenie maszynowe 170 / 197

Page 171: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Selekcja wektorów/prototypów Selekcja prototypów

ExploreStartuje z EncLenGrowWykonuje 1000 mutacji:

dodających losowy wektor albousuwających losowy wektor albozamieniający losowy wektor z S z wektorem z D \ S .

To czy w danej iteracji będzie wykonane dodawanie/usuwanie/zamiana jestlosowane.

A to czy w ogóle operacja zostanie wykonana zależy od tego czy przyniesieto zmniejszenie kosztu J.

NJ (KIS/UMK) Uczenie maszynowe 171 / 197

Page 172: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Selekcja wektorów/prototypów Selekcja prototypów

1 Explore(D, p)2 S = EncLenGrow(D)3 for (i=1 to p) {4 switch (random_action 1 of 3) {5 case 1:6 try to add random instance from D \ S7 if only J will decrease8 case 2:9 try to remove random instance from S

10 if only J will decrease11 case 3:12 try to13 add random instance from D \ S14 AND15 remove random instance from S16 if only J will decrease17 }18 }19 return S;20 end

NJ (KIS/UMK) Uczenie maszynowe 172 / 197

Page 173: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Selekcja wektorów/prototypów Selekcja prototypów

DelStartuje z pełnego zbioru.Dla źle klasyfikowanych wektorów próbuje je usunąć gdy zmniejsza tokryterium J.Sortowanie wektorów po ich odległości od swoich najbliższych wrogów.Od najodleglejszych do najbliższych.W wyznaczonej kolejności, co jeszcze jest nie usunięte, to próbujemyusuwać, gdy tylko spełnia zmniejszenie kryterium J.ostatni krok powtarzamy tak długo jak tylko choć dla jednego wektoraudało się zmniejszyć kryterium J.

NJ (KIS/UMK) Uczenie maszynowe 173 / 197

Page 174: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Selekcja wektorów/prototypów Selekcja prototypów

1 function DEL(D)2 R = set of badly classified instances from D3 S = EncLen(D, D, R)4 S = sort(S) in descend order of distance5 to nearest enemy6 do {7 S ′ = S8 S = EncLen(D, S , S)9 } while (S != S ′)

10 return S ;11 end

NJ (KIS/UMK) Uczenie maszynowe 174 / 197

Page 175: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Selekcja wektorów/prototypów Selekcja prototypów

0 40 80

-8

-4

0Explore

ENRBF95DROP2

ELH

AllKNNENN

LVQ

RMHC

ENRBFENRBF99

MC1

DEL

DROP4DROP3

GE

ICF

IB3ELGrow

RNGE

DROP1

CNN

RENN

DROP5

E

|S|/|T|

kNN

NJ (KIS/UMK) Uczenie maszynowe 175 / 197

Page 176: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Drzewa decyzyjne

Drzewa decyzyjne i reguły logiczne

NJ (KIS/UMK) Uczenie maszynowe 176 / 197

Page 177: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Drzewa decyzyjne

NJ (KIS/UMK) Uczenie maszynowe 177 / 197

Page 178: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Drzewa decyzyjne

NJ (KIS/UMK) Uczenie maszynowe 178 / 197

Page 179: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Drzewa decyzyjne

1 TreeGrowing(D)2 T = single node tree;3 if (osiągnięto kryterium stopu)4 oznaczamy węzeł T jako liść, który etykietujemy5 większościową klasą z D;6 else{7 znajdź takie kryterium podziału pewnej cechy A, że8 podział S zgodnie z f(A) dzieli na (v1, . . . , vq)9 i jest najlepszym podziałem ze wszystkich możliwych;

10 if (wartość jakości podziału > próg) {11 etykietujemy T na f(A);12 foreach vi in dom(f(A)) {13 subtree_i = TreeGrowing (Df (A)=vi );14 dodaj subtree_i do listy dzieci T15 z wartością vi na krawędzi;16 }17 }else{18 oznacz korzeń T jako liść z klasą większościową z D;19 }20 }21 return T;

NJ (KIS/UMK) Uczenie maszynowe 179 / 197

Page 180: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Drzewa decyzyjne

1 TreePruning(D,T)2 do{3 wybierz taki węzeł n drzewa T, którego usunięcie powoduje4 zwiększenie miary jakości drzewa;5 if (n != 0)6 T = pruned(T,n);7 }while (n != 0);8 return T;

n = 0 dla korzenia

NJ (KIS/UMK) Uczenie maszynowe 180 / 197

Page 181: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Drzewa decyzyjne

Drzewa decyzyjne definiuje

Kryterium stopuKryterium jakości podziału (czystości) i sposobu dokonywania podziałuMetoda obcinania drzewa, kryterium kontynuacji obcinania drzewa

NJ (KIS/UMK) Uczenie maszynowe 181 / 197

Page 182: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Drzewa decyzyjne Kryterium nieczystości

Kryterium nieczystości

Weźmy jako zmienną losową wartości klas y lub wartości cechy Xi dla wszystkichwektorów.

Tymczasowo załóżmy, że cechy są dyskretne. Potem zobaczymy, że możemy sobietakże radzić, gdy cechy są ciągłe.

Niech P = (p1, . . . , pK ) będą prawdopodobieństwami poszczególnych klas lubp-stwa wartości pewnej cechy.

Wtedy kryterium nieczystości φ(P) : [0, 1]K → R ma własności:

φ(P) ≥ 0.

φ(P) jest minimalne, gdy istnieje pi = 1.

φ(P) jest maksymalne, gdy wszystkie pi = 1/K .

Rolę funkcji nieczystości może pełnić poznana już entropia:

H(P) = −∑i

pi log pi

.NJ (KIS/UMK) Uczenie maszynowe 182 / 197

Page 183: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Drzewa decyzyjne Kryterium nieczystości

Przykłady entropii

H((1/2, 1/2)) = −2 ∗ (1/2 ∗ −1) = 1H((1/4, 1/4, 1/4, 1/4)) = −4 ∗ (1/4 ∗ −2) = 2H((1/n, 1/n, . . . , 1/n)) = −n ∗ (1/n ∗ log n−1) = log n

H((1, 0, 0, 0)) = −1 log 1 = 0

NJ (KIS/UMK) Uczenie maszynowe 183 / 197

Page 184: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Drzewa decyzyjne Jakość punktu podziału

Jakość punktu podziału

Aby uzyskać możliwość mierzenia tego na ile obecną nieczystośćzmniejszymy wybierając taki czy inny podział należy od miary nieczystościodjąć wartości nieczystości jakie powstaną po podziale:

∆φ(D, f (A)) = φ(y)−∑

a∈dom(f (A))

|Da||D|

φ(ya) (139)

Zakładamy, że f (A) to pewien podział (pewnej cechy) i że dzieli on danącechę na wartości: dom(f (A)). Dla przykładu: podział cechy zdrowy natak i nie albo podział cechy wzrost na wartości < 150 i ≥ 150.

Da składa się z tych wektorów danych D, które po podziale będą miaływartości a. Podobnie ya odpowiada skróconemu wektorowi klas do tych zdanych Da.

Czym większa wartość ∆φ(D, f (A)), tym lepszy podział f (A).

NJ (KIS/UMK) Uczenie maszynowe 184 / 197

Page 185: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Drzewa decyzyjne Jakość punktu podziału

Kryteria oceny punktu podziału

Kryterium wzrostu informacyjnego

InfoGain(D, f (A)) = H(y)−∑

a∈dom(f (A))

|Da||D|

H(ya) (140)

Kryterium wzrostu Gain ration

GainRation(D, f (A)) =InfoGain(D, f (A))

H(q)(141)

gdzie q = [q1, . . . , q|dom(f (A))|], a qi = |Dai |/|D|, gdzie ai ∈ dom(f (A)).

NJ (KIS/UMK) Uczenie maszynowe 185 / 197

Page 186: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Drzewa decyzyjne Jakość punktu podziału

Gini

Kryterium nieczystości Gini

Gini(y) =K∑i=1

|yclass=i ||y|

(1− |yclass=i |

|y|

)= 1−

K∑i=1

(|yclass=i ||y|

)2

(142)

Gini([1 0]) = 1 - 1 = 0Gini([1/2 1/2]) = 1 - (1/4 + 1/4) = 1/2Gini([1/3 2/3]) = 1 - (1/9 + 4/9 ) = 4/9Gini([1/4 1/4 1/4 1/4]) = 1 - 1/4 = 3/4

Wtedy kryterium wzrostu Gini to:

GiniGain(D, f (A)) = Gini(y)−∑

a∈dom(f (A))

|Da||D|

Gini(ya) (143)

NJ (KIS/UMK) Uczenie maszynowe 186 / 197

Page 187: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Drzewa decyzyjne Jakość punktu podziału

Kryterium wzrostu Twoing

Twoing(D, f (A)) = 0.25 ·|Ddom(f (A)=T )|

|D|·|Ddom(f (A)=N)|

|D|·(

K∑i=1

∣∣∣∣ |Ddom(f (A)=T ),class=i ||Ddom(f (A)=T )|

−|Ddom(f (A)=N),class=i ||Ddom(f (A)=N)|

∣∣∣∣)2

(144)

gdzie

dom(f (A) = T ) ∪ dom(f (A) = N) = dom(f (A))dom(f (A) = T ) ∩ dom(f (A) = N) = ∅

NJ (KIS/UMK) Uczenie maszynowe 187 / 197

Page 188: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Drzewa decyzyjne Jakość punktu podziału

SSV

SSV (D, f (A)) = 2K∑i=1

|Ddom(f (A)=T ),class=i | · |Ddom(f (A)=N),class 6=i |

−K∑i=1

min(Ddom(f (A)=T ),class=i ,Ddom(f (A)=N),class=i ) (145)

NJ (KIS/UMK) Uczenie maszynowe 188 / 197

Page 189: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Drzewa decyzyjne Kryteria stopu rozrostu drzewa

Kryteria stopu rozrostu drzewa

Wszystkie węzły liście są czyste (składają się tylko z wektorów tejsamej klasy). PEŁNE drzewo.Osiągnięto maksymalną głębokość drzewa.Węzeł ma za małą liczbę instancji, aby stał się węzłem kolejnegopodziału.Jedno z dzieci węzła ma za małą liczbę instancji, aby kontynuowaćpodziały.Kryterium podziału osiągnęło wartość progową.

NJ (KIS/UMK) Uczenie maszynowe 189 / 197

Page 190: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Drzewa decyzyjne Metody obcinania drzew

Metody obcinania drzew

Najczęstszą metodą budowania drzewa jest utworzenie drzewa pełnegoa potem usuwa się co niepotrzebne.

Używanie drzew pełnych prowadzi do używania przeuczonych modeli,czyli takich, które zatracają możliwości generalizacji.Obcinanie węzłów ma więc doprowadzić do takich drzew, które będąmożliwie najlepszymi klasyfikatorami — dającymi najlepszepoprawności klasyfikacji.Najczęściej optymalne konfiguracje obcinania uzyskuje się poprzezkroswalidację do uczenia.Czyli podglądamy jak różnie silnie(!) przycięte drzewa klasyfikują danetestowe. Na tej podstawie uśredniamy siłę przycinania do takiej, którapowinna dać najlepsze wyniki.

NJ (KIS/UMK) Uczenie maszynowe 190 / 197

Page 191: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Drzewa decyzyjne Metody obcinania drzew

Przycinanie CV

W procesie CV wyznacza się jak silnie obcinać:Wyznaczanie optymalnej liczby węzłów.Wyznaczanie optymalnej głębokości drzewa.

NJ (KIS/UMK) Uczenie maszynowe 191 / 197

Page 192: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Drzewa decyzyjne Metody obcinania drzew

Przycinanie bazujące na błędzie

Dla każdego węzła wewnętrznego (nie będącego liściem) sprawdza sięczy jego ucięcie nie pogarsza klasyfikacji.Jeśli tak węzeł jest ucinany a proces obcinania kontynuowany.

NJ (KIS/UMK) Uczenie maszynowe 192 / 197

Page 193: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Drzewa decyzyjne Metody obcinania drzew

Przycinanie bazujące na złożoności

Analizuje się ciąg drzew T0, . . . ,Tq, gdzie T0 jest pełnym drzewem akolejne mają po węźle mniej, aż do Tq, które jest korzeniem.Drzewo Ti+1 powstaje poprzez zastąpienie pewnego węzła liściem.Węzeł wybiera się taki, który spowoduje najmniejsze zwiększenie błęduzdefiniowanego poprzez:

δ =ε(pruned(T ,w),D′)− ε(T ,D′)

|leaves(T )| − |leaves(pruned(T ,w))|(146)

pruned(T ,w) to drzewo, w którym węzeł w zastąpiono liściem. Jakwidać nie patrzy się tylko na jakość klasyfikacji ale także waży się ilośćliści drzewa, czyli węzłów decyzyjnych.W dalszej kolejności wybiera się to drzewo Ti , które daje najmniejszybłąd klasyfikacji.

NJ (KIS/UMK) Uczenie maszynowe 193 / 197

Page 194: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Drzewa decyzyjne Metody obcinania drzew

Inne obcinania

Obcinanie bazujące na błędzie i testach statystycznychMDL...

NJ (KIS/UMK) Uczenie maszynowe 194 / 197

Page 195: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Drzewa decyzyjne Metody obcinania drzew

Znane typy drzew

Alg Podział ObcinanieID3 InfoGain bez obcinaniaC4.5 GainRation obcinanie bazujące na błędzieCART Twoing obcinanie złożonościoweSSV ssv CV + l. w., gł.

NJ (KIS/UMK) Uczenie maszynowe 195 / 197

Page 196: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Drzewa decyzyjne Metody obcinania drzew

Drzewa decyzyjne a selekcja cech

Z metod oceny punktów podziałów łatwo zbudować rankingi cech.

ocena cechy = Wartość najlepszego punktu podziałuranking = cechy, które były użyte w drzewie, ranking z kolejności użyćbądź wartości użytych podziałów cech (najlepszych jeśli cechaużywana wielokrotnie).ocena cechy = jeśli użyto cechy w drzewie, to bierzemy jej największywkład (największą wartoć podziału danej cech), w przeciwnymprzypadku ocena 0.

NJ (KIS/UMK) Uczenie maszynowe 196 / 197

Page 197: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Drzewa decyzyjne Metody obcinania drzew

Lasy drzew (Tree forests)

To jeden z częstszych sposobów budowania komitetów z drzewdecyzyjnych.

Dystrybutor danych: każda maszyna ucząca w komitecie dostaje(najczęściej) dane wynikające z losowego podzbioru czech.Typowo buduje się komitet z "niewyrafinowanych" drzew, czyli raczejz drzew o niedużej złożoności.Komitet może być głosujący lub ważony.i juz :)

NJ (KIS/UMK) Uczenie maszynowe 197 / 197

Page 198: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Drzewa decyzyjne Metody obcinania drzew

1 Literatura2 Wstęp3 Liniowa dyskryminacja

LMS — least mean squares4 Regresja liniowa5 k najbliższych sąsiadów6 Znormalizowane radialne funkcje bazowe7 Klasyfikator MAP & maksymalnej wiarygodności (Maximum likelihood)8 Optymalny i naiwny klasyfikator Bayesowski9 Klasteryzacja

k-średnich (k-means)Dendrogramydbscan

10 Metody testowania maszyn uczących11 Oprogramowanie data mining12 Learning vector quantization LVQ13 Maszyna wektorów wspierających (SVM)

NJ (KIS/UMK) Uczenie maszynowe 197 / 197

Page 199: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Drzewa decyzyjne Metody obcinania drzew

Funkcje jądroweKonstrukcja optymalnej hiperpłaszczyznyHiperpłaszczyzna dla przypadków nieseparowalnychν-SVCSVM dla regresji (ε-SVR)Optymalizacja problemów programowania kwadratowegoSMO

14 Extreme learning machines15 Algorytmy selekcji cech

Korelacja liniowa i selekcja cechSelekcje cech za pomocą F-scoraSelekcja za pomocą liniowego SVMRankingi teorio–informacyjneSelekcje Forward i BackwardSelekcja Relief

16 Analiza czynników głównych (PCA)17 Skalowanie wielowymiarowe18 Komitety maszyn uczących

NJ (KIS/UMK) Uczenie maszynowe 197 / 197

Page 200: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop.

Drzewa decyzyjne Metody obcinania drzew

K -klasyfikatorówK 2-klasyfikatorówTypy modułów decyzyjnychBudowanie komitetówKomitet kroswalidacyjnyAdaboostingStacking

19 Selekcja wektorów/prototypówMetody filtrująceSelekcja prototypów

20 Drzewa decyzyjneKryterium nieczystościJakość punktu podziałuKryteria stopu rozrostu drzewaMetody obcinania drzew

NJ (KIS/UMK) Uczenie maszynowe 197 / 197