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.