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?

Chong Zheng
źródło
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

untitledprogrammer
źródło
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
Shehryar Malik
źródło
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.

adityagaydhani
źródło
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 .
Indominus
źródło