Dlaczego w algorytmie SVM wektor w jest prostopadły do ​​hiperpłaszczyzny oddzielającej?


13

Jestem początkującym w uczeniu maszynowym. W SVM hiperpłaszczyzna oddzielająca jest zdefiniowana jako y=wT.x+b . Dlaczego mówimy wektor w prostopadła do hiperpłaszczyzny rozdzielającej?


3
Odpowiedź na podobne pytanie (w przypadku sieci neuronowych) znajduje się tutaj .
bogatron

@bogatron - całkowicie się z tobą zgadzam. Ale moje to tylko odpowiedź SVM .
untitledprogrammer,

2
Tyle że nie jest. Twoja odpowiedź jest prawidłowa, ale nie ma w tym nic specyficznego dla SVM (i nie powinno być). jest po prostu równaniem wektorowym, które definiuje hiperpłaszczyznę. wTx=b
bogatron

Odpowiedzi:


10

Geometrycznie wektor w jest skierowany prostopadle do linii określonej przez . Można to rozumieć w następujący sposób:wTx=b

Najpierw weź . Teraz jest jasne, że wszystkie wektory, x , z zanikającym iloczynem wewnętrznym w, spełniają to równanie, tj. Wszystkie wektory prostopadłe do w spełniają to równanie.b=0xw

Przetłumacz teraz hiperpłaszczyznę od początku na wektor a. Równanie dla płaszczyzny staje się teraz: , tzn. Widzimy, że dla przesunięcia b = a T w , które jest rzutem wektora a na wektor w .(xa)Tw=0b=aTwaw

Bez utraty ogólności możemy zatem wybrać prostopadłą do płaszczyzny, w którym to przypadku długość który reprezentuje najkrótszą, ortogonalną odległość między początkiem a hiperpłaszczyzną.||za||=|b|/||w||

Dlatego mówi się, że wektor jest ortogonalny względem oddzielającej hiperpłaszczyzny.w


5

Powodem, dla którego jest normalne dla hiperpłaszczyzny, jest to, że definiujemy to w ten sposób:w

Załóżmy, że mamy (hiper) płaszczyznę w przestrzeni 3D. Niech będzie punktem na tej płaszczyźnie, tj. P 0 = x 0 , y 0 , z 0 . Dlatego wektor od początku ( 0 , 0 , 0 ) do tego punktu wynosi tylko < x 0 , y 0 , z 0 > . Załóżmy, że mamy dowolny punkt P ( x , y , z ) na płaszczyźnie. Wektor łączący PP.0P.0=x0,y0,z0(0,0,0)<x0,y0,z0>P.(x,y,z)P.a jest następnie podane przez: P - P 0 = < x - x 0 , y - y 0 , z - z 0 > Zauważ, że ten wektor leży w płaszczyźnie.P.0

P.-P.0= <x-x0,y-y0,z-z0>

Teraz n jest normalny (prostopadłego) do wektora do samolotu. Dlatego: n( P - P 0 ) = 0 więc: nP - np 0 = 0 Należy zauważyć, że - np 0 jest tylko liczba i wynosi b w nasza sprawa, natomiast n jest tylko w i Pn^

n^(P.-P.0)=0
n^P.-n^P.0=0
-n^P.0bn^wP.xw

2

wT.x+b=0xzaxb

wT.xza+b=0wT.xb+b=0

wT..(xza-xb)=0xza-xb leży na granicy decyzji i jest kierowana z xb do xza. Ponieważ produkt kropkiwT..(xza-xb) wynosi zero wT. musi być ortogonalny xza-xb, a z kolei do granicy decyzji.


0

Używając algebraicznej definicji wektora prostopadłego do hiperpłaszczyzny:

 x1,x2) na hiperpłaszczyźnie oddzielającej,

wT.(x1-x2))=(wT.x1+b)-(wT.x2)+b)=0-0=0 .
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.