Zastosowania funkcji jadrowych do rozpoznawania

advertisement
Zastosowania funkcji jądrowych do rozpoznawania
ręcznie pisanych cyfr.
Monika Drewnik
Warszawa, 10 Marca 2016
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Plan prezentacji.
Definicja funkcji jądrowej.
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Plan prezentacji.
Definicja funkcji jądrowej.
Opis problemu i metody.
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Plan prezentacji.
Definicja funkcji jądrowej.
Opis problemu i metody.
Funkcje jądrowe wbudowane w bibliotekę Pythona.
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Plan prezentacji.
Definicja funkcji jądrowej.
Opis problemu i metody.
Funkcje jądrowe wbudowane w bibliotekę Pythona.
Własne funkcje jądrowe zaimplementowane w Pythonie.
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Plan prezentacji.
Definicja funkcji jądrowej.
Opis problemu i metody.
Funkcje jądrowe wbudowane w bibliotekę Pythona.
Własne funkcje jądrowe zaimplementowane w Pythonie.
Dane syntetyczne.
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Plan prezentacji.
Definicja funkcji jądrowej.
Opis problemu i metody.
Funkcje jądrowe wbudowane w bibliotekę Pythona.
Własne funkcje jądrowe zaimplementowane w Pythonie.
Dane syntetyczne.
Wpływ współczynnika regularyzacji na jakość klasyfikacji.
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Plan prezentacji.
Definicja funkcji jądrowej.
Opis problemu i metody.
Funkcje jądrowe wbudowane w bibliotekę Pythona.
Własne funkcje jądrowe zaimplementowane w Pythonie.
Dane syntetyczne.
Wpływ współczynnika regularyzacji na jakość klasyfikacji.
Wnioski.
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Plan prezentacji.
Definicja funkcji jądrowej.
Opis problemu i metody.
Funkcje jądrowe wbudowane w bibliotekę Pythona.
Własne funkcje jądrowe zaimplementowane w Pythonie.
Dane syntetyczne.
Wpływ współczynnika regularyzacji na jakość klasyfikacji.
Wnioski.
Literatura.
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Definicja funkcji jądrowej.
Definicja
Niech X będzie niepustym zbiorem. Funkcję rzeczywistą K : X × X → R,
która jest ciągła, ograniczona, symetryczna i całkuje się do 1 nazywamy
funkcją jądrową na X .
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Definicja funkcji jądrowej.
Definicja
Niech X będzie niepustym zbiorem. Funkcję rzeczywistą K : X × X → R,
która jest ciągła, ograniczona, symetryczna i całkuje się do 1 nazywamy
funkcją jądrową na X .
Definicja
Funkcję, która przekształca wektory wejściowe w oryginalnej przestrzeni
atrybutów i zwraca iloczyn skalarny wektorów w nowej przestrzeni cech,
nazywamy funkcją jądrową.
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Opis problemu i metody.
Prezentacja pokazuje metody uczenia bazujące na jądrach używane do
rozpoznawania ręcznie pisanych cyfr. Stosuje się metody jądrowe uczenia
(wykorzystujące maszyny wektorów podpierających - SVM), które służą
do rozpoznawania znaków w tekście.
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Opis problemu i metody.
Prezentacja pokazuje metody uczenia bazujące na jądrach używane do
rozpoznawania ręcznie pisanych cyfr. Stosuje się metody jądrowe uczenia
(wykorzystujące maszyny wektorów podpierających - SVM), które służą
do rozpoznawania znaków w tekście. Jest to klasyczne zadanie
rozpoznawania wzorców, czyli klasyfikacji obiektów.
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Opis problemu i metody.
Prezentacja pokazuje metody uczenia bazujące na jądrach używane do
rozpoznawania ręcznie pisanych cyfr. Stosuje się metody jądrowe uczenia
(wykorzystujące maszyny wektorów podpierających - SVM), które służą
do rozpoznawania znaków w tekście. Jest to klasyczne zadanie
rozpoznawania wzorców, czyli klasyfikacji obiektów. Obiektami są cyfry
pisane, które mogą mieć różne kształty, pozycję, oraz orientację (mogą
być np. pochylone, obrócone itp.).
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Obiekty
Rysunek : Cyfry do rozpoznawania [1].
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Szczegóły rozpatrywanego zadania są następujące:
W tekście pisanym na zeskanowanej kartce papieru znajdują się pożądane
znaki.
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Szczegóły rozpatrywanego zadania są następujące:
W tekście pisanym na zeskanowanej kartce papieru znajdują się pożądane
znaki.
Należy zidentyfikować poszczególne znaki z minimalnym błędem próbki
(określanym jako procentowa wartość niepoprawnie sklasyfikowanych
obiektów).
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Wzór funkcji celu, której wartość trzeba zminimalizować
n
f (ε, w ) =
X
1
2
kw k + C
εi ,
2
i=1
gdzie:
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Wzór funkcji celu, której wartość trzeba zminimalizować
n
f (ε, w ) =
X
1
2
kw k + C
εi ,
2
i=1
gdzie:
w - wektor wag SVM, trzeba je dobrać tak, aby błąd (liczba niepoprawnie
sklasyfikowanych obiektów) był jak najmniejszy.
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Wzór funkcji celu, której wartość trzeba zminimalizować
n
f (ε, w ) =
X
1
2
kw k + C
εi ,
2
i=1
gdzie:
w - wektor wag SVM, trzeba je dobrać tak, aby błąd (liczba niepoprawnie
sklasyfikowanych obiektów) był jak najmniejszy.
εi - elementy po niewłaściwej stronie hiperpłaszczyzny- wektory
podpierające,
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Wzór funkcji celu, której wartość trzeba zminimalizować
n
f (ε, w ) =
X
1
2
kw k + C
εi ,
2
i=1
gdzie:
w - wektor wag SVM, trzeba je dobrać tak, aby błąd (liczba niepoprawnie
sklasyfikowanych obiektów) był jak najmniejszy.
εi - elementy po niewłaściwej stronie hiperpłaszczyzny- wektory
podpierające,
C - stała regularyzacyjna (jak duży może być margines błędu popełniany
przez klasyfikator)
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Opis metody SVM.
Jest to klasyfikator binarny, generujący na wyjściu jedną z dwóch
wartości: -1 albo 1 (w zależności od wartości atrybutów badanego
obiektu).
f (X) = sgn(X) gdzie
X = {X1 , X2 , · · · , Xn } ,
Monika Drewnik
Xi − cechy .
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Opis metody SVM.
Jest to klasyfikator binarny, generujący na wyjściu jedną z dwóch
wartości: -1 albo 1 (w zależności od wartości atrybutów badanego
obiektu).
f (X) = sgn(X) gdzie
X = {X1 , X2 , · · · , Xn } ,
Xi − cechy .
Uczenie polega na skonstruowaniu hiperpłaszczyzny separującej
(oddzielającej) obiekty należące do jednej z dwóch kategorii. Metoda ta
nadaje się do klasyfikacji w problemach nieseparowalnych liniowo.
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Transformacja obiektów za pomocą funkcji jądrowej.
W przypadku, gdy obiekty nie są separowalne liniowo, konieczne jest
przejście z oryginalnej przestrzeni atrybutów do nowej przestrzeni, w
której separacja liniowa byłaby możliwa.
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Transformacja obiektów za pomocą funkcji jądrowej.
W przypadku, gdy obiekty nie są separowalne liniowo, konieczne jest
przejście z oryginalnej przestrzeni atrybutów do nowej przestrzeni, w
której separacja liniowa byłaby możliwa. W tym celu stosowane jest
przekształcenie przy pomocy funkcji jądrowej K (x,y).
K (x,y) = hφ(x), φ(y)i
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Transformacja obiektów za pomocą funkcji jądrowej.
W przypadku, gdy obiekty nie są separowalne liniowo, konieczne jest
przejście z oryginalnej przestrzeni atrybutów do nowej przestrzeni, w
której separacja liniowa byłaby możliwa. W tym celu stosowane jest
przekształcenie przy pomocy funkcji jądrowej K (x,y).
K (x,y) = hφ(x), φ(y)i
Rysunek : Transformacja obiektów za pomocą funkcji jądrowej [6].
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Przykład transformacji obiektów
2
Funkcja jądrowa wielomianowa K (x, y ) = hx, y i ,
√
transtormacja φ(x) : R2 → R3 , φ(x1 , x2 ) = (x12 , x22 , 2x1 x2 ).
D
E
√
√
K (x, y ) = hφ(x), φ(y )i = (x12 , x22 , 2x1 x2 ), (y12 , y22 , 2y1 y2 ) =
2
2
2
= x12 y12 +x22 y22 +2x1 x2 y1 y2 = (x1 y1 + x2 y2 ) = h(x1 , x2 ), (y1 , y2 )i = hx, y i
Rysunek : Przykład transformacji wielomianowej [4].
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Przykład 2
Metoda SVM z funkcją jądrową gaussowską
2
K (x, y ) = exp −γ kx − y k
Rysunek : Wykres z Bell SVM aplet [4].
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Przykład 3
Metoda SVM z funkcją jądrową wielomianową
2
K (x, y ) = (hx, y i + 1)
Rysunek : Wykres z Bell SVM aplet [4].
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Opis metody SVM-cd.
Konieczna jest parametryzacja metody:
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Opis metody SVM-cd.
Konieczna jest parametryzacja metody:
dobór funkcji jądra i jej parametrów,
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Opis metody SVM-cd.
Konieczna jest parametryzacja metody:
dobór funkcji jądra i jej parametrów,
współczynnika regularyzacji C.
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Implementacja jąder w Pytonie.
Program, z którego korzysta się w doświadczeniu jest tym samym
programem, który został utworzony i wykorzystany w artykule [1].
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Implementacja jąder w Pytonie.
Program, z którego korzysta się w doświadczeniu jest tym samym
programem, który został utworzony i wykorzystany w artykule [1]. Do
implementacji poszczególnych klasyfikatorów SVM (w których
wykorzystane są funkcje jądrowe: rbf, linear, poly, sigmoid) została użyta
biblioteka LibSVM języka Python realizująca wybrane algorytmy
sztucznej inteligencji, którą można pobrać z Internetu.
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Jądra użyte do klasyfikacji znaków do odpowiednich
kategorii-SVM.
Wszystkie przykłady jąder zastosowane są do tych samych danych. Zbiór
trenujący zawiera 6999 przykładów o 76 atrybutach. Zbiór zawiera
identyfikator kategorii w pierszej kolumnie (która to cyfra).
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Jądra użyte do klasyfikacji znaków do odpowiednich
kategorii-SVM.
Wszystkie przykłady jąder zastosowane są do tych samych danych. Zbiór
trenujący zawiera 6999 przykładów o 76 atrybutach. Zbiór zawiera
identyfikator kategorii w pierszej kolumnie (która to cyfra).
Oznaczenia kolumn w tabelkach:
n.support - liczba wektorów podpierających,
Cl(X, y) - jakość klasyfikatora dla danych trenujących,
Cl(X.test,y.test) - jakość klasyfikatora dla danych testujących.
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Jądra użyte do klasyfikacji znaków do odpowiednich
kategorii-SVM.
Wszystkie przykłady jąder zastosowane są do tych samych danych. Zbiór
trenujący zawiera 6999 przykładów o 76 atrybutach. Zbiór zawiera
identyfikator kategorii w pierszej kolumnie (która to cyfra).
Oznaczenia kolumn w tabelkach:
n.support - liczba wektorów podpierających,
Cl(X, y) - jakość klasyfikatora dla danych trenujących,
Cl(X.test,y.test) - jakość klasyfikatora dla danych testujących.
Oznaczenia matematyczne w zapisie funkcji jądrowych:
hx, y i = x T
Pyn - iloczyn skalarny,
|x − y | = i=1 |xi − yi | - pierwsza norma,
Pn
2
2
kx − y k2 = i=1 |xi − yi | -druga norma,
P
d
n
d
kx − y kd = i=1 |xi − yi | - d norma.
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Jądro gaussowskie (rbf).
Jest to podstawowe jądro o wartościach dodatnich, najczęściej stosowane
ze względu na dobre wyniki klasyfikacyjne.
2
K (x, y ) = exp −γ kx − y k
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Jądro gaussowskie (rbf).
Jest to podstawowe jądro o wartościach dodatnich, najczęściej stosowane
ze względu na dobre wyniki klasyfikacyjne.
2
K (x, y ) = exp −γ kx − y k
Lp
1
2
3
4
5
6
7
Parametr γ
γ = n1
γ = 0.001
γ = 0.01
γ = 0.25
γ = 0.5
γ=1
γ = 2(= 10, 100)
n.support
2349
1880
2143
6819
6994
6998
6998
Cl(X, y)
0.9997
0.9681
0.9990
1.0
1.0
1.0
1.0
Cl(X.test,y.test)
0.9557
0.9497
0.9553
0.5875
0.3442
0.1160
0.1133
Tablica : Wyniki klasyfikacji metodą SVM dla różnych parametrów jądra
gaussowskiego (rbf).
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Jądro liniowe.
Jest to najprostrze jądro o małym koszcie obliczeniowym.
K (x, y ) = hx, y i + c
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Jądro liniowe.
Jest to najprostrze jądro o małym koszcie obliczeniowym.
K (x, y ) = hx, y i + c
Lp
1
jądro
’linear’
n.support
1066
Cl(X, y)
0.9946
Cl(X.test,y.test)
0.9400
Tablica : Wyniki klasyfikacji metodą SVM dla jądra liniowego.
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Jądro wielomianowe ’poly’.
Jest to jądro preferowane dla problemów, w których dane są
znormalizowane.
d
K (x, y ) = (γ hx, y i + c)
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Jądro wielomianowe ’poly’.
Jest to jądro preferowane dla problemów, w których dane są
znormalizowane.
d
K (x, y ) = (γ hx, y i + c)
Lp
1
2
3
4
5
6
stopień
d=1
d=2 (=2.5)
d=3 (=3.5)
d=4
d=5
d=10
n.support
1355
2291
2184
2925
2934
4848
Cl(X, y)
0.9777
0.9970
0.9977
0.9894
0.9646
0.6837
Cl(X.test,y.test)
0.9490
0.9404
0.9477
0.9137
0.8957
0.5438
Tablica : Wyniki klasyfikacji metodą SVM dla różnych parametrów jądra
wielomianowego.
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Jądro tangens hiperboliczny (sigmoid).
Jest to jądro stosowane w sieciach neuronowych jako funkcja aktywacji.
K (x, y ) = tanh (γ hx, y i + c)
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Jądro tangens hiperboliczny (sigmoid).
Jest to jądro stosowane w sieciach neuronowych jako funkcja aktywacji.
K (x, y ) = tanh (γ hx, y i + c)
Lp
1
jądro
’sigmoid’
n.support
6926
Cl(X, y)
0.1136
Cl(X.test,y.test)
0.1133
Tablica : Wyniki klasyfikacji metodą SVM dla jądra tangens hiperboliczny.
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Własne funkcje jądrowe zaimplementowane w Pythonie.
Wszystkie jądra przetestowaliśmy najpierw w pliku test.py, w którym
wykorzystujemy funkję XOR.
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Własne funkcje jądrowe zaimplementowane w Pythonie.
Wszystkie jądra przetestowaliśmy najpierw w pliku test.py, w którym
wykorzystujemy funkję XOR. Zbiór wektorów uczących funkcji XOR,
x1 x2 y
0
0
1
0
1 -1 gdzie y to wektor, który powinniśmy otrzymać na
1
0 -1
1
1
1
wyjściu.
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Własne funkcje jądrowe zaimplementowane w Pythonie.
Wszystkie jądra przetestowaliśmy najpierw w pliku test.py, w którym
wykorzystujemy funkję XOR. Zbiór wektorów uczących funkcji XOR,
x1 x2 y
0
0
1
0
1 -1 gdzie y to wektor, który powinniśmy otrzymać na
1
0 -1
1
1
1
wyjściu.
Sprawdzamy czy wprowadzone przez nas funkcje jądrowe radzą sobie w
problemie nieseparowalnym liniowo.
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Jądro Laplace’a.
|
,
Jest to jądro równoważne jądru wykładniczemu K (x, y ) = exp − |x−y
2γ 2
jednak jest mniej wrażliwe na zmianę parametru γ.
K (x, y ) = exp (−γ |x − y |)
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Jądro Laplace’a.
|
,
Jest to jądro równoważne jądru wykładniczemu K (x, y ) = exp − |x−y
2γ 2
jednak jest mniej wrażliwe na zmianę parametru γ.
K (x, y ) = exp (−γ |x − y |)
Lp
1
2
3
4
5
6
7
8
Parametr γ
γ=0
γ = 0.0001
γ = 0.001
γ = 0.005
γ = 0.01
γ = 0.1
γ = 0.25
γ = 0.5(= 1)
n.support
6926
3903
2279
2366
2649
5823
6995
6998
Cl(X, y)
0.1136
0.9464
0.9860
1.0
1.0
1.0
1.0
1.0
Cl(X.test,y.test)
0.1133
0.9330
0.9590
0.9637
0.9647
0.9190
0.5388
0.1133
Tablica : Wyniki klasyfikacji metodą SVM dla różnych parametrów jądra
Laplace’a.
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Jądra falowe (sinc) oraz (sinc2).
Są to jądra symetryczne i dodatnie.
K (x, y ) = sinc |x − y | =
Monika Drewnik
sin |x − y |
|x − y |
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Jądra falowe (sinc) oraz (sinc2).
Są to jądra symetryczne i dodatnie.
K (x, y ) = sinc |x − y | =
Lp
1
jądro
’sinc’
n.support
6998
Cl(X, y)
1.0
sin |x − y |
|x − y |
Cl(X.test,y.test)
0.1793
Tablica : Wyniki klasyfikacji metodą SVM dla jądra falowego (sinc)
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Jądra falowe (sinc) oraz (sinc2).
Są to jądra symetryczne i dodatnie.
K (x, y ) = sinc |x − y | =
Lp
1
jądro
’sinc’
n.support
6998
sin |x − y |
|x − y |
Cl(X, y)
1.0
Cl(X.test,y.test)
0.1793
Tablica : Wyniki klasyfikacji metodą SVM dla jądra falowego (sinc)
2
2
K (x, y ) = sinc kx − y k =
Lp
1
jądro
’sinc2’
n.support
6998
sin kx − y k
Cl(X, y)
1.0
2
kx − y k
Cl(X.test,y.test)
0.2063
Tablica : Wyniki klasyfikacji metodą SVM dla jądra falowego (sinc2)
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Jądro kwadratowe ’quadratic’.
Jest to jądro mniej kosztowne obliczeniowo niż jądro gaussowskie i
powinno być wykorzystywane wtedy, kiedy czas uczenia ma znaczenie.
2
K (x, y ) = 1 −
Monika Drewnik
kx − y k
2
kx − y k + c
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Jądro kwadratowe ’quadratic’.
Jest to jądro mniej kosztowne obliczeniowo niż jądro gaussowskie i
powinno być wykorzystywane wtedy, kiedy czas uczenia ma znaczenie.
2
K (x, y ) = 1 −
Lp
1
2
3
4
5
6
7
8
Parametr c
c=1
c=10
c=50
c=75
c=100
c=150
c=500
c=1000
n.support
6489
4340
2911
2602
2389
2154
1796
1914
kx − y k
2
kx − y k + c
Cl(X, y)
1.0
1.0
1.0
0.9999
0.9994
0.9981
0.9840
0.9711
Cl(X.test,y.test)
0.9014
0.9454
0.9577
0.9563
0.9580
0.9577
0.9533
0.9517
Tablica : Wyniki klasyfikacji metodą SVM dla różnych parametrów jądra
kwadratowego.
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Jądro wielokwadratowe ’multiquadric’.
Jest to jądro niedodatnie i ograniczone. Ma zastosowanie tam gdzie jądro
kwadratowe.
q
2
K (x, y ) = − kx − y k + c 2
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Jądro wielokwadratowe ’multiquadric’.
Jest to jądro niedodatnie i ograniczone. Ma zastosowanie tam gdzie jądro
kwadratowe.
q
2
K (x, y ) = − kx − y k + c 2
Lp
1
2
3
4
5
6
7
8
Parametr c
c=0
c=1
c=5
c=7.5
c=10
c=50
c=100
c=1000
n.support
2876
2630
2026
1799
1644
1297
1402
2196
Cl(X, y)
1.0
1.0
1.0
1.0
1.0
0.9850
0.9770
0.9577
Cl(X.test,y.test)
0.9567
0.9557
0.9573
0.9557
0.9570
0.9517
0.9494
0.9407
Tablica : Wyniki klasyfikacji metodą SVM dla różnych parametrów jądra
wielokwadratowego.
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Jądro odwrócone wielokwadratowe ’inverse multiquadric’.
K (x, y ) = q
Monika Drewnik
1
2
kx − y k + c 2
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Jądro odwrócone wielokwadratowe ’inverse multiquadric’.
K (x, y ) = q
Lp
1
2
3
4
5
6
7
8
Parametr c
c=1
c=3
c=5
c=7.5
c=10
c=50
c=100
c=1000
n.support
5330
3765
3016
2598
2703
6397
6934
6956
1
2
kx − y k + c 2
Cl(X, y)
1.0
1.0
0.9963
0.9819
0.9680
0.8108
0.2975
0.1136
Cl(X.test,y.test)
0.9350
0.9533
0.9550
0.9507
0.9470
0.8054
0.2939
0.1133
Tablica : Wyniki klasyfikacji metodą SVM dla różnych parametrów jądra
odwróconego wielokwadratowego.
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Jądro logarytmiczne ’log’.
Jest to jądro warunkowo dodatnie i ograniczone.
d
K (x, y ) = −log kx − y k + 1
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Jądro logarytmiczne ’log’.
Jest to jądro warunkowo dodatnie i ograniczone.
d
K (x, y ) = −log kx − y k + 1
Lp
1
2
3
4
5
6
7
8
Parametr d
d=1
d=2
d=3
d=4
d=5
d=6
d=10
d=100
n.support
4415
3884
3572
3248
3561
3951
4632
5138
Cl(X, y)
1.0
1.0
0.9970
0.8290
0.6648
0.5737
0.4209
0.3240
Cl(X.test,y.test)
0.9553
0.9523
0.8027
0.6245
0.5492
0.4975
0.4059
0.3216
Tablica : Wyniki klasyfikacji metodą SVM dla różnych parametrów jądra
logarytmicznego.
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Jądro Cauchy’ego ’cauchy’.
To jądro pochodzi od dystrybuanty Cauchy’ego, dobrze nadaje się do
analizy przestrzeni wielowymiarowej.
1
K (x, y ) =
1+
Monika Drewnik
kx−y k2
c2
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Jądro Cauchy’ego ’cauchy’.
To jądro pochodzi od dystrybuanty Cauchy’ego, dobrze nadaje się do
analizy przestrzeni wielowymiarowej.
1
K (x, y ) =
1+
Lp
1
2
3
4
5
6
7
8
Parametr c
c=1
c=2
c=5
c=7.5
c=10
c=50
c=100
c=500
n.support
6489
5328
3486
2810
2389
2348
3366
6374
kx−y k2
c2
Cl(X, y)
1.0
1.0
1.0
1.0
0.9994
0.9586
0.9390
0.8137
Cl(X.test,y.test)
0.9014
0.9324
0.9550
0.9567
0.9580
0.9434
0.9247
0.8097
Tablica : Wyniki klasyfikacji metodą SVM dla różnych parametrów jądra
Cauchy’ego.
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Jądro T-Studenta ’tstudent’.
K (x, y ) =
Monika Drewnik
1
1 + kx − y k
d
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Jądro T-Studenta ’tstudent’.
K (x, y ) =
Lp
1
2
3
4
5
6
7
8
Parametr d
d=1
d=2
d=3
d=4
d=5
d=6
d=10
d=100
1
1 + kx − y k
n.support
6830
6489
6454
6492
6562
6593
6587
6524
Cl(X, y)
1.0
1.0
1.0
1.0
1.0
1.0
1.0
0.9987
d
Cl(X.test,y.test)
0.9064
0.9014
0.8720
0.8341
0.7971
0.7561
0.5615
0.2922
Tablica : Wyniki klasyfikacji metodą SVM dla różnych parametrów jądra
T-Studenta.
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Uwaga
Pn
Jądro ’minimum’ K (x, y ) = i=1 min(xi , yi ) i jądro ’power’
d
K (x, y ) = − kx − y k nie działają poprawnie dla naszego testu.
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Uwaga
Pn
Jądro ’minimum’ K (x, y ) = i=1 min(xi , yi ) i jądro ’power’
d
K (x, y ) = − kx − y k nie działają poprawnie dla naszego testu. Ale te
jądra rozwiązują nasz problem klasyfikacyjny SVM.
Lp
1
2
3
4
5
6
7
8
9
jądro
min
power
power
power
power
power
power
power
power
d=1
d=2
d=3
d=4
d=5
d=6
d=7
d=8
n.support
2078
2078
1065
3241
4500
5189
5662
5991
6184
Cl(X, y)
1.0
1.0
0.9959
0.5889
0.4478
0.3476
0.2776
0.2283
0.2095
Cl(X.test,y.test)
0.9607
0.9607
0.9377
0.5848
0.4548
0.3582
0.2846
0.2386
0.2223
Tablica : Wyniki klasyfikacji metodą SVM dla różnych parametrów jąder
’minimum’ oraz ’power’.
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Uwaga
Pn
Jądro ’minimum’ K (x, y ) = i=1 min(xi , yi ) i jądro ’power’
d
K (x, y ) = − kx − y k nie działają poprawnie dla naszego testu. Ale te
jądra rozwiązują nasz problem klasyfikacyjny SVM.
Lp
1
2
3
4
5
6
7
8
9
jądro
min
power
power
power
power
power
power
power
power
d=1
d=2
d=3
d=4
d=5
d=6
d=7
d=8
n.support
2078
2078
1065
3241
4500
5189
5662
5991
6184
Cl(X, y)
1.0
1.0
0.9959
0.5889
0.4478
0.3476
0.2776
0.2283
0.2095
Cl(X.test,y.test)
0.9607
0.9607
0.9377
0.5848
0.4548
0.3582
0.2846
0.2386
0.2223
Tablica : Wyniki klasyfikacji metodą SVM dla różnych parametrów jąder
’minimum’ oraz ’power’.
Oba jądra radzą sobie lepiej z problemem klasyfikacyjnym od jądra
gaussowskiego.
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Podsumowanie- porównanie wyników klasyfikacji
Lp
1
2
2
4
5
6
7
8
9
10
11
12
13
14
15
jądro
’laplacean’ γ = 0.01
’minimum’
’power’ d=1
’quadratic’ c=100
’cauchy’ c=10
’multiquadric’ c=5
’rbf’, γ = n1
’log’ d=1
’inversemultiquadric’ c=5
’poly’, d=1
’linear’
’tstudent’ d=1
’sinc2’
’sinc’
’sigmoid’
n.support
2649
2078
2078
2389
2389
2026
2349
4415
3016
1355
1066
6830
6998
6998
6926
Cl(X, y)
1.0
1.0
1.0
0.9994
0.9994
1.0
0.9997
1.0
0.9963
0.9777
0.9946
1.0
1.0
1.0
0.1136
Cl(X.test,y.test)
0.9647
0.9607
0.9607
0.9580
0.9580
0.9573
0.9557
0.9553
0.9550
0.9490
0.9400
0.9064
0.2063
0.1793
0.1133
Tablica : Uzyskane wyniki dla funkcji jądrowych z optymalnymi parametrami.
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Obserwacje.
Obserwacja
Widzimy, że z zainstalowanych funkcji jądrowych w Pythonie najlepsza
jest funkcja gaussowska z parametrem γ = n1 .
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Obserwacje.
Obserwacja
Widzimy, że z zainstalowanych funkcji jądrowych w Pythonie najlepsza
jest funkcja gaussowska z parametrem γ = n1 .
Obserwacja
Zauważamy również, że dla jądra Laplace’a z parametrem γ = 0.01
uzyskaliśmy globalnie najlepszy wynik.
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Obserwacje.
Obserwacja
Widzimy, że z zainstalowanych funkcji jądrowych w Pythonie najlepsza
jest funkcja gaussowska z parametrem γ = n1 .
Obserwacja
Zauważamy również, że dla jądra Laplace’a z parametrem γ = 0.01
uzyskaliśmy globalnie najlepszy wynik.
Obserwacja
Otrzymane wyniki są dla prostych i intuicyjnych podejść wyboru
parametrów jąder.
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Obserwacje.
Obserwacja
Widzimy, że z zainstalowanych funkcji jądrowych w Pythonie najlepsza
jest funkcja gaussowska z parametrem γ = n1 .
Obserwacja
Zauważamy również, że dla jądra Laplace’a z parametrem γ = 0.01
uzyskaliśmy globalnie najlepszy wynik.
Obserwacja
Otrzymane wyniki są dla prostych i intuicyjnych podejść wyboru
parametrów jąder.
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Obserwacje.
Obserwacja
Widzimy, że z zainstalowanych funkcji jądrowych w Pythonie najlepsza
jest funkcja gaussowska z parametrem γ = n1 .
Obserwacja
Zauważamy również, że dla jądra Laplace’a z parametrem γ = 0.01
uzyskaliśmy globalnie najlepszy wynik.
Obserwacja
Otrzymane wyniki są dla prostych i intuicyjnych podejść wyboru
parametrów jąder.
Obserwacja
Zbiory danych są łatwe do sklasyfikowania, jako wystąpienie metody
SVM, dla większości jąder otrzymujemy powyżej 90 procent.
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Dane syntetyczne
Obliczenia zostały wykonane dla poszczególnych funkcji jądrowych z
najlepiej dobranym parametrem z poprzedniego doświadczenia.
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Dane syntetyczne
Obliczenia zostały wykonane dla poszczególnych funkcji jądrowych z
najlepiej dobranym parametrem z poprzedniego doświadczenia. Wszystkie
pliki danych były modyfikowane z ustalonym wspólczynnikiem
regularyzacji (C=16).
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Dane syntetyczne
Obliczenia zostały wykonane dla poszczególnych funkcji jądrowych z
najlepiej dobranym parametrem z poprzedniego doświadczenia. Wszystkie
pliki danych były modyfikowane z ustalonym wspólczynnikiem
regularyzacji (C=16). Procedura zmiany danych została wprowadzona,
aby sprawdzić czy metoda SVM poradzi sobie z klasyfikacją zaburzonych
danych.
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Procedura zmiany danych:
1
Policzone zostało minimum i maksimum dla poszczególnych kolumn,
a następnie rozstęp.
dr (i) = max(ai ) − min(ai )
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Procedura zmiany danych:
1
Policzone zostało minimum i maksimum dla poszczególnych kolumn,
a następnie rozstęp.
dr (i) = max(ai ) − min(ai )
2
Dany rozstęp pomnożony został przez 0.1 i otrzymana liczba została
zaokrąglona do liczby całkowitej Z.
r (i) = b0.1 ∗ dr (i)c
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Procedura zmiany danych:
1
Policzone zostało minimum i maksimum dla poszczególnych kolumn,
a następnie rozstęp.
dr (i) = max(ai ) − min(ai )
2
Dany rozstęp pomnożony został przez 0.1 i otrzymana liczba została
zaokrąglona do liczby całkowitej Z.
r (i) = b0.1 ∗ dr (i)c
3
Wartości z każdej kolumny, która była zmieniona, zostały zastąpione
liczbami z wykorzystaniem funkcji LOS(), która losuje liczbę
rzeczywistą z przedziału [0, 1],
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Procedura zmiany danych:
1
Policzone zostało minimum i maksimum dla poszczególnych kolumn,
a następnie rozstęp.
dr (i) = max(ai ) − min(ai )
2
Dany rozstęp pomnożony został przez 0.1 i otrzymana liczba została
zaokrąglona do liczby całkowitej Z.
r (i) = b0.1 ∗ dr (i)c
3
Wartości z każdej kolumny, która była zmieniona, zostały zastąpione
liczbami z wykorzystaniem funkcji LOS(), która losuje liczbę
rzeczywistą z przedziału [0, 1], Ze względu na zaokrąglenia,
oryginalna wartość może pozostać niezmieniona (jeśli losowo
wybrana liczba jest zbyt mała).
ai := ai + LOS() ∗ r (i) gdzie
Monika Drewnik
LOS() ∈ [0, 1]
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Zmodyfikowane pliki danych
1
Dane zostały zmienione w 3 kolumnach (B,C,D). I tak powstał plik
test123.
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Zmodyfikowane pliki danych
1
Dane zostały zmienione w 3 kolumnach (B,C,D). I tak powstał plik
test123.
2
Dane zostały zmienione w 10 kolumnach (od B do K). I tak powstał
plik test10.
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Zmodyfikowane pliki danych
1
Dane zostały zmienione w 3 kolumnach (B,C,D). I tak powstał plik
test123.
2
Dane zostały zmienione w 10 kolumnach (od B do K). I tak powstał
plik test10.
3
Dane zostały zmienione w 20 kolumnach (od B do U). I tak powstał
plik test20.
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Zmodyfikowane pliki danych
1
Dane zostały zmienione w 3 kolumnach (B,C,D). I tak powstał plik
test123.
2
Dane zostały zmienione w 10 kolumnach (od B do K). I tak powstał
plik test10.
3
Dane zostały zmienione w 20 kolumnach (od B do U). I tak powstał
plik test20.
4
Dane zostały zmienione we wszystkich kolumnach (od B do FP). I
tak powstał plik testwszystkie.
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Porównanie wyników dla zmodyfikowanych plików:
Lp
1
2
2
4
4
6
7
8
9
10
11
12
13
14
15
Jądro
’laplacean’
’minimum’
’power’
’quadratic’
’cauchy’
’multiquadric’
’rbf’
’log’
’inversemultiquadric’
’poly’
’linear’
’tstudent’
’sinc2’
’sinc’
’sigmoid’
test123
0.9647
0.9607
0.9607
0.9580
0.9580
0.9573
0.9557
0.9553
0.9550
0.9490
0.9400
0.9064
0.2063
0.1793
0.1133
test10
0.9627
0.9587
0.9587
0.9547
0.9547
0.9510
0.9527
0.9540
0.9553
0.9414
0.9254
0.9057
0.2146
0.1846
0.1133
test20
0.9540
0.9394
0.9394
0.9160
0.9160
0.9104
0.9150
0.9494
0.9254
0.8767
0.8311
0.8950
0.2079
0.1603
0.1133
testwszystkie
0.0893
0.0893
0.0893
0.0893
0.0893
0.0893
0.0893
0.0893
0.0893
0.0899
0.1006
0.0893
0.1099
0.1173
0.1133
Tablica : Porównanie przy ustalonych optymalnych parametrach jąder.
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Obserwacje.
Obserwacja
Widzimy, że zmiana pierwszych trzech kolumn atrubutów nic nie zmienia.
Wyniki klasyfikacji są takie same jak w przypadku danych testujących.
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Obserwacje.
Obserwacja
Widzimy, że zmiana pierwszych trzech kolumn atrubutów nic nie zmienia.
Wyniki klasyfikacji są takie same jak w przypadku danych testujących.
Obserwacja
Można zauważyć również, że jądro ’sigmoid’ dla wszystkich zbiorów tak
samo radzi (nie radzi sobie) sobie z problemem klasyfikacji.
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Obserwacje.
Obserwacja
Widzimy, że zmiana pierwszych trzech kolumn atrubutów nic nie zmienia.
Wyniki klasyfikacji są takie same jak w przypadku danych testujących.
Obserwacja
Można zauważyć również, że jądro ’sigmoid’ dla wszystkich zbiorów tak
samo radzi (nie radzi sobie) sobie z problemem klasyfikacji.
Obserwacja
Dla jądra ’minimum’ i dla jądra ’power’ d=1 otrzymujemy takie same
wyniki niezależnie od zbioru danych. To samo jest z jądrami ’quadratic’
c=100 oraz ’cauchy’ c=10.
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Obserwacje- cd.
Obserwacja
Zauważamy również, że dla jądra Laplace’a z parametrem γ = 0.01
uzyskaliśmy globalnie najlepszy wynik dla zbiorów test123, test10 i
test20. Zbioru testwszystkie nie musimy brać pod uwagę, ponieważ dla
niego nasz klasyfikator nie radzi sobie (niskie wyniki klasyfikacji) z
problemem klasyfikacji obiektów do poszczególnych klas.
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Obserwacje- cd.
Obserwacja
Zauważamy również, że dla jądra Laplace’a z parametrem γ = 0.01
uzyskaliśmy globalnie najlepszy wynik dla zbiorów test123, test10 i
test20. Zbioru testwszystkie nie musimy brać pod uwagę, ponieważ dla
niego nasz klasyfikator nie radzi sobie (niskie wyniki klasyfikacji) z
problemem klasyfikacji obiektów do poszczególnych klas.
Obserwacja
Funkcje jądrowe ’sinc’ i ’sinc2’ lepiej klasyfikują nasz zbiór dla 20 kolumn
zmienionych losowo niż dla 10.
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Wpływ współczynnika regularyzacyjnej na wyniki
klasyfikacji.
W tym doświadczeniu sprawdzamy jak duży może być margines błędu
popełniany przez klasyfikator oraz jak współczynnik regularyzacji wpływa
na wynik klasyfikacji.
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Wpływ współczynnika regularyzacyjnej na wyniki
klasyfikacji.
W tym doświadczeniu sprawdzamy jak duży może być margines błędu
popełniany przez klasyfikator oraz jak współczynnik regularyzacji wpływa
na wynik klasyfikacji.
Przy ustalonym parametrach jąder, wybranych w wyniku pierwszego
doświadczenia, badamy wpływ stalej regularyzacji na wyniki klasyfikacji.
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Wpływ współczynnika regularyzacyjnej na wyniki
klasyfikacji.
W tym doświadczeniu sprawdzamy jak duży może być margines błędu
popełniany przez klasyfikator oraz jak współczynnik regularyzacji wpływa
na wynik klasyfikacji.
Przy ustalonym parametrach jąder, wybranych w wyniku pierwszego
doświadczenia, badamy wpływ stalej regularyzacji na wyniki klasyfikacji.
Doświadczenie przeprowadzone dla C=5,10,15,16,17,20,30.
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Wyniki klasyfikacji dla różnych jąder dla współczynnika
regularyzacji C = 10
Lp
1
2
2
4
4
6
7
8
9
10
11
12
13
14
15
Jądro
’laplacean’ γ = 0.01
’minimum’
’power’ d=1
’quadratic’ c=100
’cauchy’ c=10
’rbf’, γ = n1
’multiquadric’ c=5
’log’ d=1
’inversemultiquadric’ c=5
’poly’, d=1
’linear’
’tstudent’ d=1
’sinc2’
’sinc’
’sigmoid’
Monika Drewnik
n.support
2644
2078
2078
2383
2383
2349
2026
4415
2998
1419
1065
6830
6998
6998
6926
Cl(X, y)
1.0
1.0
1.0
0.9989
0.9989
0.9989
1.0
1.0
0.9926
0.9731
0.9941
1.0
1.0
1.0
0.1136
Cl(X.test,y.test)
0.9647
0.9607
0.9607
0.9587
0.9587
0.9580
0.9573
0.9553
0.9527
0.9500
0.9404
0.9064
0.2063
0.1793
0.1133
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Obserwacje
Obserwacja
Dla większości jąder (oprócz jądra linear i inversemultiquadric), dla
parametru C=10 dostajemy najlepsze wyniki klasyfikacji.
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Obserwacje
Obserwacja
Dla większości jąder (oprócz jądra linear i inversemultiquadric), dla
parametru C=10 dostajemy najlepsze wyniki klasyfikacji.
Obserwacja
Dla C=16 jądro multiquadric miało lepszy wynik klasyfikacji od jądra rbf,
ale dla C=10 już tak nie jest.
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Obserwacje
Obserwacja
Dla większości jąder (oprócz jądra linear i inversemultiquadric), dla
parametru C=10 dostajemy najlepsze wyniki klasyfikacji.
Obserwacja
Dla C=16 jądro multiquadric miało lepszy wynik klasyfikacji od jądra rbf,
ale dla C=10 już tak nie jest.
Obserwacja
Znowu dostajemy takie same wyniki dla jądra minimum i power oraz dla
cauchy i quadratic.
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Obserwacje
Obserwacja
Dla większości jąder (oprócz jądra linear i inversemultiquadric), dla
parametru C=10 dostajemy najlepsze wyniki klasyfikacji.
Obserwacja
Dla C=16 jądro multiquadric miało lepszy wynik klasyfikacji od jądra rbf,
ale dla C=10 już tak nie jest.
Obserwacja
Znowu dostajemy takie same wyniki dla jądra minimum i power oraz dla
cauchy i quadratic.
Obserwacja
Dla wszystkich wybranych współczynników C, dla jądra Laplace’a z
parametrem γ = 0.01 otrzymujemy najlepszy wynik klasyfikacji.
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Obserwacje-cd.
Obserwacja
Dla niektórych jąder (sigmoid, sinc, sinc2, log, tstudent, power,
minimum) parametr C nie ma wpływu na wynik klasyfikacji (dla
wszystkich wartości C otrzymujemy ten sam wynik klasyfikacji).
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Obserwacje-cd.
Obserwacja
Dla niektórych jąder (sigmoid, sinc, sinc2, log, tstudent, power,
minimum) parametr C nie ma wpływu na wynik klasyfikacji (dla
wszystkich wartości C otrzymujemy ten sam wynik klasyfikacji).
Obserwacja
Można również zauważyć, że jądra sinc, sinc2, sigmoid posiadają niską
jakość klasyfikacji dla wszystkich parametów współczynnika C.
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Wnioski
Wniosek
Doświadczenia uwzględniające wiele funkcji jądrowych wykazały, że
chociaż najpopularniejsze jądro gaussowskie klasyfikuje prawidłowo (w
ponad 90%) nasze obiekty, inne funkcje, np takie jak jądro Laplace’a
może uzyskać lepsze wyniki klasyfikacji.
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Wnioski
Wniosek
Doświadczenia uwzględniające wiele funkcji jądrowych wykazały, że
chociaż najpopularniejsze jądro gaussowskie klasyfikuje prawidłowo (w
ponad 90%) nasze obiekty, inne funkcje, np takie jak jądro Laplace’a
może uzyskać lepsze wyniki klasyfikacji.
Wniosek
Przetworzone pliki danych są łatwe do sklasyfikowania, ponieważ jakość
klasyfikacji przy użyciu metody SVM, dla większości jąder wynosi
powyżej 90 procent.
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Wnioski-cd.
Wniosek
Należy pamiętać, że najlepsze wyniki uzyskano intuicyjnie dla wybranych
parametrów jąder. Aby upewnić się, że nie istnieją lepsze wartości, należy
użyć jednego z algorytmów optymalizacji parametrów.
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Wnioski-cd.
Wniosek
Należy pamiętać, że najlepsze wyniki uzyskano intuicyjnie dla wybranych
parametrów jąder. Aby upewnić się, że nie istnieją lepsze wartości, należy
użyć jednego z algorytmów optymalizacji parametrów.
Wniosek
Wadą przedstawionej metody jest przeuczenie (overlearning),
obserwowane w większości przypadków. Jest to efekt nadmiernego
regulowania klasyfikatora danych uczących, co prowadzi do niskiej
zdolności generalizacji.
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Literatura
W. Homenda, A. Jastrzębska, W. Pedrycz, R. Piliszek, Rejecting
Foreign Elements in Pattern Recognition Problem-Reinforced
Training of Rejection Level
P. Bilski, Automated selection of kernel parameters in diagnostics of
analog systems, Przegląd Elektrotechniczny, 2011
Kernel Functions for Machine Learning Applications [Online] .
http://crsouza.blogspot.com/2010/03/kernel-functions-for-machinelearning.html
J. Stefanowski, SVM – Support Vector Machines Poznań University
of Technology, UM – slajdy dodatkowe do wykładu
P. Chudzian, Optymalizacja parametrów przekształcenia jądrowego w
zadaniach klasyfikacji, Politechnika Warszawska, PhD Thesis, 2012
(in Polish)
E. Miedziński, Klasyfikacja wyników wyszukiwania zasobów
internetowych, Politechnika Warszawska, BSc Thesis, 2013 (in
Polish)
Monika Drewnik
Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.
Download