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 .(x−a)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: n ∙ → P - n ∙ → p 0 = 0 Należy zauważyć, że - n ∙ → p 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.0→bn^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.