norbertjankowski - katedra informatyki stosowanejis.umk.pl/~norbert/ml · literatura literaturaii...
TRANSCRIPT
![Page 1: NorbertJankowski - Katedra Informatyki Stosowanejis.umk.pl/~norbert/ml · Literatura LiteraturaII C.M.Bishop. NeuralNetworksforPatternRecognition. OxfordUniversityPress,1995. C.M.Bishop](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/1.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/2.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/3.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/4.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/5.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/6.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/7.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/8.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/9.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/10.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/11.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/12.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/13.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/14.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/15.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/16.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/17.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/18.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/19.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/20.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/21.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/22.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/23.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/24.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/25.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/26.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/27.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/28.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/29.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/30.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/31.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/32.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/33.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/34.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/35.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/36.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/37.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/38.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/39.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/40.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/41.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/42.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/43.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/44.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/45.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/46.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/47.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/48.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/49.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/50.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/51.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/52.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/53.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/54.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/55.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/56.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/57.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/58.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/59.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/60.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/61.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/62.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/63.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/64.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/65.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/66.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/67.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/68.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/69.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/70.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/71.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/72.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/73.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/74.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/75.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/76.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/77.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/78.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/79.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/80.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/81.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/82.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/83.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/84.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/85.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/86.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/87.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/88.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/89.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/90.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/91.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/92.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/93.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/94.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/95.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/96.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/97.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/98.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/99.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/100.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/101.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/102.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/103.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/104.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/105.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/106.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/107.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/108.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/109.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/110.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/111.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/112.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/113.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/114.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/115.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/116.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/117.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/118.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/119.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/120.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/121.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/122.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/123.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/124.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/125.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/126.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/127.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/128.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/129.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/130.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/131.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/132.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/133.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/134.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/135.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/136.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/137.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/138.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/139.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/140.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/141.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/142.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/143.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/144.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/145.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/146.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/147.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/148.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/149.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/150.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/151.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/152.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/153.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/154.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/155.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/156.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/157.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/158.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/159.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/160.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/161.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/162.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/163.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/164.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/165.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/166.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/167.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/168.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/169.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/170.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/171.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/172.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/173.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/174.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/175.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/176.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/177.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/178.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/179.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/180.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/181.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/182.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/183.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/184.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/185.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/186.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/187.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/188.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/189.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/190.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/191.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/192.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/193.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/194.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/195.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/196.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/197.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/198.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/199.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050300/5f69cbe8499a7b4b115eb7f8/html5/thumbnails/200.jpg)
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