Dlaczego termin odchylenia w SVM jest szacowany osobno, zamiast dodatkowego wymiaru w wektorze cech?

11

Optymalna hiperpłaszczyzna w SVM jest zdefiniowana jako:

wx+b=0,

gdzie oznacza próg. Jeśli mamy jakieś mapowanie które mapuje przestrzeń wejściową na jakąś przestrzeń , możemy zdefiniować SVM w przestrzeni , gdzie optymalna hiperplantu będzie:bϕZZ

wϕ(x)+b=0.

Zawsze możemy jednak zdefiniować mapowanie tak aby , , a następnie optymalna hiperplane zostanie zdefiniowana jako ϕϕ0(x)=1x

wϕ(x)=0.

Pytania:

  1. Dlaczego wiele artykułów używa skoro już mają już parametry mapowania i oszacowania i folder oddzielnie?wϕ(x)+b=0ϕwb

  2. Czy istnieje problem ze zdefiniowaniem SVM jako s.t. \ y_n \ mathbf w \ cdot \ mathbf \ phi (\ mathbf x_n) \ geq 1, \ forall n i oszacuj tylko parametr wektor \ mathbf w , zakładając, że zdefiniujemy \ phi_0 (\ mathbf x) = 1, \ forall \ mathbf x ?

    minw||w||2
    s.t. ynwϕ(xn)1,n
    wϕ0(x)=1,x
  3. Jeśli definicja SVM z pytania 2. jest możliwa, będziemy mieli w=nynαnϕ(xn) a próg będzie po prostu b=w0 , którego nie będziemy traktować osobno. Więc nigdy nie będziemy używać formuły takiej jak b=tnwϕ(xn) do oszacowania b podstawie jakiegoś wektora wsparcia xn . Dobrze?

Dejan
źródło

Odpowiedzi:

12

Dlaczego stronniczość jest ważna?

Termin odchylenia jest rzeczywiście specjalnym parametrem w SVM. Bez tego klasyfikator zawsze przejdzie przez pochodzenie. Tak więc SVM nie daje ci hiperpłaszczyzny oddzielającej z maksymalnym marginesem, jeśli nie przejdzie przez początek, chyba że masz pojęcie błędu.b

Poniżej znajduje się wizualizacja problemu błędu systematycznego. SVM wyszkolony z (bez) terminem polaryzacji pokazano po lewej (po prawej). Mimo że obie maszyny SVM są szkolone na tych samych danych , wyglądają one jednak zupełnie inaczej.

wprowadź opis zdjęcia tutaj

Dlaczego odchylenie należy traktować osobno?

Jak zauważył Ben DAI , błąd systematyczny należy traktować osobno ze względu na regularyzację. SVM maksymalizuje rozmiar marginesu, który wynosi (lub zależności od tego, jak go zdefiniujesz).b1||w||22||w||2

Maksymalizacja marginesu jest taka sama jak minimalizacja . Jest to również nazywane terminem regularyzacji i może być interpretowane jako miara złożoności klasyfikatora. Jednak nie chcesz regulować terminu błędu, ponieważ błąd powoduje przesunięcie wyników klasyfikacji w górę lub w dół o tę samą wartość dla wszystkich punktów danych . W szczególności odchylenie nie zmienia kształtu klasyfikatora ani jego wielkości marginesu. W związku z tym, ...||w||2

warunek uprzedzeń w SVM NIE powinien być regularyzowany.

W praktyce jednak łatwiej jest po prostu wepchnąć odchylenie do wektora cech zamiast zajmować się tym jako szczególny przypadek.

Uwaga: kiedy przesuwasz odchylenie do funkcji cechy, najlepiej jest ten wymiar wektora cechy na dużą liczbę, np. , aby zminimalizować skutki uboczne regularyzacji odchylenia.ϕ0(x)=10

Sobi
źródło
Jakiego programu użyłeś do wygenerowania fabuły z ciekawości?
d0rmLife,
1
@ d0rmLife: to tylko kreskówka, którą zrobiłem za pomocą MS PowerPoint!
Sobi,
1

Czasami ludzie po prostu pomijają przechwytywanie w SVM, ale myślę, że powodem może być karanie przechwycenia, aby je pominąć. to znaczy,

możemy zmodyfikować dane i , aby pominąć przechwycenie Jak ty powiedział, podobna technika może być zastosowana w wersji jądra.x^=(1,x)w^=(w0,wT)T

x w+b=x^ w^

Jeśli jednak umieścimy przecięcie w wagach, funkcja celu będzie się nieco różnić od pierwotnej. Dlatego nazywamy „karać”.

Ben Dai
źródło
Zgadzam się, że będziemy mieć różne funkcje celu. Przypadek, gdy nie uwzględniamy przechwytywania w parametrach, prowadzi do problemu optymalizacji zastrzeżeniem ograniczenia, podczas gdy w innym przypadku mamy problem . Ale nie rozumiem, dlaczego mniej więcej tak ważne dla modelu jest przechwytywanie przechwytujące panizację. bminw,b||w||2minw,b||w||2+b2
Dejan
Myślę, że głównym powodem, dla którego się przecinamy, jest być może dlatego, że w podwójnym problemie przechwytywanie pozwala nam mieć ograniczenie co jest ważne, aby zastosować algorytm SMO, a jeśli nie mamy przechwytywania, będzie miał tylko stałe a podwójna optymalizacja byłaby w tym przypadku trudniejsza. αntn=0αn0
Dejan
@Petar Jedną rzeczą, o której wiedziałem, jest to, że staje się potężny, gdy rozważymy podwójną formę tego modelu. Ta technika wyeliminuje ograniczenie liniowe.
Ben Dai,
@Petar Nie sądzę, że podwójna optymalizacja będzie trudniejsza, ponieważ mamy łatwiejszą domenę.
Ben Dai,
@Petar W przypadku konkretnego algorytmu może być trudniej. Jednak matematycznie myślę, że domena box może być lepsza
Ben Dai
0

Oprócz wyżej wymienionych przyczyn odległość punktu do hiperpłaszczyzny zdefiniowanej przez nachylenie i punkt przecięcia wynosi W ten sposób koncepcja marginesu w SVM została przeniesiona. Jeśli zmienisz aby zawierał wyraz przechwytujący , na normę wpłynie rozmiar przechwytywania, co spowoduje optymalizację SVM w kierunku małego przechwytywania, co w wielu przypadkach nie ma sensu.xθb

|θTx+b|||θ||
θbθ

charlieh_7
źródło
Nawet jeśli uważałem, że odległość punktu od hiperpłaszczyzny jest poprawna, a wyjaśnienie wygląda interesująco, nie widzę korelacji między tą formułą a treningowymi maszynami SVM. Czy możesz lepiej wyjaśnić, jak ta formuła stosuje się podczas szkolenia, lub podać dodatkowy link.
Dejan
@Dejan Ideą SVM jest znalezienie hiperpłaszczyzny, która maksymalizuje minimalny margines zestawu danych. Margines to „odległość” ( , bez przyjmowania wartości bezwzględnej, co wskazuje na zaufanie, jakie klasyfikator ma do swojej hipotezy) tego punktu do hiperpłaszczyzny razy jego etykieta, która jest w . Produktem jest , co jest dodatnie, jeśli dane wyjściowe klasyfikatora są zgodne z etykietą, a w przeciwnym razie ujemne. W praktyce po prostu skalujemy nasz model, tak aby minimalny margines zestawu danych . θTx+b||θ||{1,1}y(θTx+b)||θ||1||θ||
charlieh_7,
@Dejan można znaleźć więcej szczegółów w Notatkach Andrew Ng: cs229.stanford.edu/notes/cs229-notes3.pdf
charlieh_7