Dana jest próbka treningowa
0.5
0.58
\column
Klasyfikatorem liniowym nazywamy funkcję
Próbka
jest liniowo seperowana jeśli istnieje
klasyfikator liniowy
taki, że
0.5
0.5
\column
Uproszczony warunek:
dla każdego
.
Każda z tych linii dobrze seperuje punkty;
Która z nich jest najlepsza?
Margines = szerokość bezpiecznego obszaru po obu stronach hiperpłaszczyzny;
Margines jest wyznaczony przez 2 hiperpłaszczyzny.
Chcemy znaleźć klasyfikator z maksymalnym marginesem
0.5
Niech
,
będą brzegami marginesu;
Powiniśmy oprzeć brzegi o punkty z próbki treningowej
Te punkty nazywamy wektorami podpierającymi
Równanie
i
:
0.5
Odległość między
a
:
![]() |
Maksymalizujemy
lub minimalizujemy
.
Zadanie LSVM
Znaleźć
i
które minimalizują
przy ograniczeniach
Q: Jak rozwiązać tego typu zagadnienia?
A: Metodą gradientu?, symulowanego wyżrzania?, odwracanie macierzy? EM? Newton? PROGRAMOWANIE KWADRATOWE?
Znaleźć
przy założeniach:
oraz
To zagadnienie jest dobrze zbadane i istnieją bardzo efektywne algorytmy rozwiązujące ten problem
Rozwiązywanie zagadnienia LSVM
znalezienie punktu
siodłowego wielomianu Lagrange'a:
![]() |
gdzie
jest wektorem nieujemnych współczynników Lagrange'a
Punkt siodłowy = maksimum funkcji względem
i minimum funkcji względem
i
.
Twierdzenie Karusha-Kuhna-Tuckera: warunkiem koniecznym istnienia punktu siodlowego jest
zerowanie się gradientu wzg.
, czyli
![]() |
(10.1) |
zerowanie się pochodnej wzg.
, czyli
![]() |
(10.2) |
spełnienie warunku:
| (10.3) |
Po uwzględnieniu tych warunków (na istnienie punktu siodłowego) mamy nowy problem optymalizacyjny:
Znaleźć wektor
będący maksimum funkcji
![]() |
(10.4) |
przy ograniczeniach
![]() |
(10.5) |
Niech wektor
będzie rozwiązaniem
maksymalizującym (4) przy ograniczeniach (5).
Z (3) wynika, że jeśli
nie jest wektorem podpierającym to
;
Równania (4) i (5) odbywają się faktycznie tylko po wektorach podpierających.
Hyperpłaszczyzna rozdzielająca ma postać
gdzie
![]() |
tu
i
są dowolnymi
wektorami podpierającymi z każdej z klas.
Ostateczna funkcja decyzyjna:
| (10.6) |
Założenie o separowalności klas jest nienaturalna;
Modyfikacja:
gdzie stałe
spełniają warunki:
Zmodyfikowana funkcja do minimalizacji
![]() |
jest stałą “karą” za niespełnienie idealnych warunków.
Ogólne zadanie SVM
Znaleźć
i
które minimalizują
![]() |
przy ograniczeniach
Można pokazać, że zarówno i w tym przypadku, możemy sprowadzić do problemu
Znaleźć wektor
będący maksimum funkcji
![]() |
(10.7) |
przy ograniczeniach
![]() |
(10.8) |
A następnie stosować funkcję decyzyjną: \block
![]() |
(10.9) |
Przekształcimy dane do bogatszej przetrzeni cech:
Wystarczy zamienić iloczyny skalarne
we wszystkich wzorach
na ![]()
PROBLEM OBLICZENIOWY: czas wykonania iloczynu skalarnego
wynosi ![]()
TRIK: Kernel functions
Zmieniona funkcja:
![]() |
|||
![]() |
Problem
;
: funkcja jądrowa.
wektor
będący maksimum funkcji
![]() |
przy ograniczeniach
![]() |
![]() |
Treść automatycznie generowana z plików źródłowych LaTeXa za pomocą oprogramowania wykorzystującego LaTeXML.
strona główna | webmaster | o portalu | pomoc
© Wydział Matematyki, Informatyki i
Mechaniki UW, 2009-2010.
Niniejsze materiały są udostępnione bezpłatnie na licencji Creative Commons Uznanie autorstwa-Użycie niekomercyjne-Bez utworów zależnych 3.0 Polska.
Projekt współfinansowany przez Unię Europejską w ramach
Europejskiego Funduszu Społecznego.
Projekt współfinansowany przez Ministerstwo Nauki i Szkolnictwa Wyższego i przez Uniwersytet Warszawski.