Почему в алгоритме SVM вектор w ортогонален разделяющей гиперплоскости?

13

Я новичок в машинном обучении. В SVM разделяющая гиперплоскость определяется как . Почему мы говорим, что вектор w ортогонален разделяющей гиперплоскости?y=wTx+bw

Чонг Чжэн
источник
3
Ответ на аналогичный вопрос (для нейронных сетей) здесь .
Богатрон
@bogatron - я полностью с тобой согласен. Но мои ответы только на SVM .
без названия программист
2
За исключением того, что это не так. Ваш ответ правильный, но в нем нет ничего конкретного, касающегося SVM (и не должно быть). - это просто векторное уравнение, которое определяет гиперплоскость. wTx=b
Богатрон

Ответы:

10

Геометрически вектор w направлен перпендикулярно прямой, определенной как . Это можно понять следующим образом:wTx=b

Сначала возьмите . Теперь ясно, что все векторы x с исчезающим внутренним произведением с w удовлетворяют этому уравнению, т.е. все векторы, ортогональные w, удовлетворяют этому уравнению.b=0xw

Теперь переведите гиперплоскость от начала координат над вектором a. Уравнение для плоскости теперь становится: , т.е. мы находим это для смещения b = a T w , которое является проекцией вектора a на вектор w .(xa)Tw=0b=aTwaw

Таким образом, без ограничения общности мы можем выбрать перпендикуляр к плоскости, и в этом случае длина который представляет кратчайшее ортогональное расстояние между началом координат и гиперплоскостью.||a||=|b|/||w||

Следовательно, вектор называется ортогональным к разделяющей гиперплоскости.w

untitledprogrammer
источник
4

Причина, по которой нормальна для гиперплоскости, заключается в том, что мы определяем ее следующим образом:w

P0P0=x0,y0,z0(0,0,0)<x0,y0,z0>P(x,y,z)PP0

PP0=<xx0,yy0,zz0>

n^

n^(PP0)=0
n^Pn^P0=0
n^P0bn^wPxw
Шехряр Малик
источник
2

wTx+b=0xaxb

wTxa+b=0wTxb+b=0

wT.(xaxb)=0xaxbxbxawT.(xaxb)wTxaxb

adityagaydhani
источник
0

Используя алгебраическое определение вектора, ортогонального к гиперплоскости:

 x1,x2

wT(x1x2)=(wTx1+b)(wTx2+b)=00=0 .
Indominus
источник