У алгоритмі SVM чому вектор w є ортогональним для розділювальної гіперплани?


13

Я початківець з машинного навчання. У SVM роздільна гіперплан визначається як . Чому ми кажемо вектор ортогональним для роздільної гіперплани?y=wTx+bw


3
Відповідь на подібне запитання (для нейронних мереж) є тут .
богарон

@bogatron - Я повністю з вами згоден. Але мої лише відповіді на SVM .
untitledprogrammer

2
За винятком цього немає. Ваша відповідь правильна, але про це немає нічого конкретного для SVM (а також не повинно бути). - просто векторне рівняння, яке визначає гіперплощину. wTx=b
богатрон

Відповіді:


10

Геометрично вектор w спрямований ортогонально до лінії, визначеної . Це можна зрозуміти так:wTx=b

Спочатку візьміть . Тепер зрозуміло, що всі вектори, , що зникають внутрішнього добутку задовольняють цьому рівнянню, тобто всі вектори, ортогональні w, задовольняють це рівняння.x wb=0xw

Тепер перекладіть гіперплан подалі від початку над вектором a. Рівняння для площини тепер стає: , тобто знаходимо, що для зміщення , що є проекцією вектора на вектор .b = a T w a w(xa)Tw=0b=aTwaw

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

Отже, вектор є ортогональним для роздільної гіперплани.w


5

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

Припустимо, у нас (гіпер) площина в 3d-просторі. Нехай - точка на цій площині, тобто . Тому вектор від початку до цієї точки просто . Припустимо, що у нас на площині є довільна точка . Вектор, що приєднується до і , задається тоді: Зауважимо, що цей вектор лежить у площині.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


0

Використовуючи алгебраїчне визначення вектора, ортогонального гіперплану:

 x1,x2 на роздільній гіперплані,

wT(x1x2)=(wTx1+b)(wTx2+b)=00=0 .
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.