В чому полягає інтуїція того факту, що SVM з гауссовим ядром має кінцевий розмірний простір функцій?
В чому полягає інтуїція того факту, що SVM з гауссовим ядром має кінцевий розмірний простір функцій?
Відповіді:
Ця відповідь пояснює наступне:
Ідеальне розділення завжди можливо з ядром Гаусса (за умови, що два пункти у різних класів ніколи не є абсолютно однаковими) через властивості локалізації ядра, які призводять до довільно гнучкої межі рішення. Для досить невеликої пропускної здатності ядра межа рішення буде виглядати так, що ви просто намалювали невеликі кола навколо точок, коли вони потрібні для розділення позитивних та негативних прикладів:
(Кредит: онлайн-курс машинного навчання Ендрю Нг ).
Отже, чому це відбувається з математичної точки зору?
Розглянемо стандартне налаштування: у вас є ядра Гаусса і навчальні дані , де значення . Ми хочемо вивчити функцію класифікатора( x ( 1 ) , y ( 1 ) ) , ( x ( 2 ) , y ( 2 ) ) , … , ( x ( n ) , y ( n ) ) y ( ±1
Тепер, як ми коли-небудь призначимо ваги ? Чи потрібні нам нескінченні розмірні простори та алгоритм квадратичного програмування? Ні, тому що я просто хочу показати, що я можу відмінно розділити бали. Тож я роблю в мільярд разів менше, ніж найменше розділенняміж будь-якими двома прикладами навчання, і я просто встановив . Це означає, що всі навчальні бали - це мільярд сигм, наскільки це стосується ядра, і кожна точка повністю контролює знак у своєму районі. Формально у нас є σ | | x ( i ) - x ( j ) | | ж я = 1 у
де - якесь довільно крихітне значення. Ми знаємо, що крихітний, тому що знаходиться на мільярд сигм від будь-якої іншої точки, тому для всіх ми маємоϵ x ( k ) i ≠ k
Оскільки настільки малий, напевно має такий самий знак, як , і класифікатор досягає ідеальної точності на даних тренувань.у ( х ( до ) ) у ( до )
Той факт, що це можна інтерпретувати як "ідеальне лінійне розділення у нескінченному просторовому просторі ознак", походить від хитрості ядра, яка дозволяє інтерпретувати ядро як внутрішній продукт у (потенційно нескінченномірному) просторі функцій:
де - відображення з простору даних у простір функцій. З цього випливає, що функція як лінійна функція в просторі функцій:у ( х )
де лінійна функція визначена у векторах простору функцій якv
Ця функція лінійна в тому що це лише лінійна комбінація внутрішніх добутків із фіксованими векторами. У просторі функцій межами рішення є просто , набір рівня лінійної функції. Це саме визначення гіперплану в просторі функцій.у ( х ) = 0 л ( v ) = 0
Примітка. У цьому розділі позначенняпосилається на довільний набір збалів, а не на дані тренувань. Це чиста математика; дані тренінгу взагалі не включаються до цього розділу! n
Методи ядра ніколи фактично не «знаходять» або «обчислюють» простір функцій або відображення чітко. Методи навчання ядра, такі як SVM, не потребують їх роботи; вони потрібні тільки функції ядра .К
Однак, можна записати формулу для . Простір функцій, на який відображається є абстрактним (і потенційно нескінченномірним), але по суті, для відображення просто використовується ядро, щоб зробити просту інженерію функцій. Що стосується кінцевого результату, модель, в якій ви закінчуєте навчання, використовуючи ядра, нічим не відрізняється від традиційної інженерії функцій, яка широко застосовується в лінійній регресії та моделюванні GLM, як прийняття журналу позитивної змінної предиктора перед подачею його у формулу регресії. Математика здебільшого лише там, щоб гарантувати, що ядро добре грає з алгоритмом SVM, який має свої оцінені переваги вкрай і масштабування для великих наборів даних.Φ
Якщо ви все ще зацікавлені, ось як це працює. По суті, ми беремо особу, яку ми хочемо зберегти, та побудуйте простір і внутрішній продукт таким чином, щоб він міг визначатись. Для цього ми визначаємо абстрактний векторний простір де кожен вектор є функцією від простору, в якому живуть дані, , до реальних чисел . Вектор в - це функція, утворена з кінцевої лінійної комбінації зрізів ядра: Зручно писати більш компактно, як У Й Р е V е ( х ) = п Σ я = 1 α я До ( х ( я ) , х ) е е = п Σ я = 1 α i K x ( i ) K x
Внутрішній продукт у просторі - це не звичайний крапковий продукт, а абстрактний внутрішній продукт на основі ядра:
З таким простором, визначеним таким чином, - це відображення , переносячи кожну точку до "фрагмента ядра" в цій точці:X → V x
Ви можете довести, що - це внутрішній простір продукту, коли - ядро, яке є позитивним. Докладніше див. У цьому документі. (Kudos to f copenpens for show it this!)К
Ця відповідь дає приємне пояснення лінійної алгебри, але ось геометрична перспектива з інтуїцією та доказом.
Для будь-якої фіксованої точки нас є функція зрізу ядра . Графік - це просто гауссова шишка, зосереджена в . Тепер, якби простір функцій був лише кінцевим розміром, це означало б, що ми можемо взяти кінцевий набір ударів у фіксованому наборі точок і сформувати будь-який гауссовий удар в будь-якому іншому місці. Але очевидно, що ми не можемо це зробити; ви не можете зробити нову шишку зі старих шишок, тому що нова шишка може бути дуже далекою від старої. Отже, незалежно від того, скільки функціональних векторів (ударів) у нас є, ми завжди можемо додавати нові удари, а в просторі функцій - це нові незалежні вектори. Тому простір функцій не може бути кінцевим розміром; це повинно бути нескінченним.K z ( x ) = K ( z , x ) K z z
Ми використовуємо індукцію. Припустимо, у вас є довільний набір точок такий, що вектори лінійно незалежні в просторі функцій. Тепер знайдіть точку відмінну від цих точок, насправді мільярд сигм від усіх них. Ми стверджуємо, що лінійно незалежний від перших функціональних векторів . Φ( x ( i ) ) x ( n + 1 ) nΦ( x ( n + 1 ) )nΦ( x ( i ) )
Доведення протиріччям. Припустимо, навпаки, що
Тепер візьміть внутрішній продукт з обох сторін з довільним . По ідентичності отримуємо ⟨ Ф ( г ) , Ф ( х ) ⟩ = К ( г , х )
Тут є вільною змінною, тому це рівняння є тотожністю, що свідчить про те, що дві функції однакові. Зокрема, йдеться про те, що Гаусс із центром у може бути представлений як лінійна комбінація гауссів у інших точках . Геометрично очевидно, що не можна створити гауссову шишку, зосереджену в одній точці, від кінцевої комбінації гауссових шишок, зосереджених в інших точках, особливо коли всі ці інші гаусові шишки розташовані в мільярді сигм. Отже, наше припущення про лінійну залежність призвело до суперечності, як ми маємо на меті показати.x ( n + 1 ) x ( i )
Ядро матриці ядра Гаусса завжди має повний ранг для відмінних . Це означає, що щоразу, коли ви додаєте новий приклад, ранг збільшується на . Найпростіше це побачити, якщо встановити дуже мало. Тоді матриця ядра майже діагональна. 1σ
Те, що ранг завжди збільшується на один, означає, що всі проекції у просторі характеристик лінійно незалежні (не ортогональні, а незалежні). Тому кожен приклад додає новий вимір до діапазону проекцій . Оскільки ви можете додавати незліченно нескінченно багато прикладів, простір функцій повинен мати нескінченний розмір. Цікаво, що всі проекції вхідного простору в простір зображень лежать на кулі, оскільки . Тим не менш, геометрія сфери плоска. Більше про це можна прочитати вΦ ( х 1 ) , . . . , Φ ( х м ) | | Φ ( x ) | | ² H = k ( x , x ) = 1
Burges, CJC (1999). Геометрія та інваріантність методів на основі ядра. У B. Schölkopf, CJC Burges та AJ Smola (ред.) Досягнення в галузі методів ядра підтримують векторне навчання (с. 89–116). MIT Press.
Для передісторії та позначень я посилаюся на відповідь Як обчислити межу рішення з векторів підтримки? .
Таким чином, особливості в просторі "оригінал" - це вектори , двійковий результат а множники Лагранжа - .
Відомо, що ядро можна записати як (' ' являє собою внутрішній добуток.) Де - (неявна і невідома) перетворення в новий простір.
Я спробую дати деяке «інтуїтивне» пояснення того, як виглядає ця , тому ця відповідь не є офіційним доказом, вона просто хоче дати певне відчуття, як я думаю, що це працює. Не соромтеся виправити мене, якщо я помиляюся. Підставою для мого пояснення є розділ 2.2.1 цього PDF
Я повинен "перетворити" простір моїх функцій (так що мій ) в якийсь "новий" простір, в якому буде вирішено лінійне розділення.
Для кожного спостереження я визначаю функції , тому у мене є функція для кожного елемента мого навчального зразка. Ці функції охоплюють векторний простір. Векторний простір, що охоплюється , відзначте його . ( - розмір зразка для навчання).
Я спробую стверджувати, що цей векторний простір - це векторний простір, в якому можливе лінійне розділення. За визначенням прольоту кожен вектор у векторному просторі може бути записаний як лінійна комбінація , тобто: , де - дійсні числа. Отже, насправді
Слід зазначити , що є координатами вектора в векторному просторі .
- розмір навчального зразка, і тому розмірність векторного простору може до , залежно від того, чи лінійно незалежні. Оскільки (див. Вище, ми визначили таким чином), це означає, що розмірність залежить від використовуваного ядра і може підходити до розміру навчальної вибірки.
Якщо ядро 'досить складне', то буде незалежним, і тоді розмірність буде , розмір навчальної вибірки.
Перетворення, яке відображає мій вихідний простір функцій у , визначається як
.
Ця карта відображає мій вихідний простір зображень на векторний простір, який може мати розмірність, що відповідає розміру мого навчального зразка. Отже відображає кожне спостереження в моїй навчальній вибірці у векторному просторі, де функціонують вектори. Вектор з мого навчального зразка 'відображається' на вектор у , а саме вектор з координатами, рівними нулю, крім - координати дорівнює 1.
Очевидно, що це перетворення (a) залежить від ядра, (b) залежить від значень у навчальному зразку, і (c) може залежно від мого ядра мати розмірність, що відповідає розміру мого навчального зразка та ( г) вектори виглядають як , де - дійсні числа.
Дивлячись на функцію у розділі Як обчислити межу рішення з векторів підтримки? видно, що . Межа рішення, знайдена SVM, є .
Іншими словами, - лінійна комбінація а - лінійна роздільна гіперплан у просторі : це особливий вибір а саме !
У відомі з наших спостережень є множниками Лагранжа , що SVM знайшла. Іншими словами, SVM виявляє, використовуючи ядро і вирішуючи задачу квадратичного програмування, лінійне розділення у просторі.α i V
Це моє інтуїтивне розуміння того, як «фокус ядра» дозволяє «неявно» перетворити оригінальний простір функцій у новий простір функцій з іншим виміром. Цей параметр залежить від ядра, яке ви використовуєте, і для ядра RBF цей параметр може перевищувати розмір навчальної вибірки. Оскільки навчальні зразки можуть мати будь-який розмір, це може піднятися до "нескінченності" . Очевидно, що в дуже великих розмірних просторах ризик переобладнання збільшиться.
Отже, ядра - це техніка, яка дозволяє SVM трансформувати ваш простір функцій. Дивіться також, Що робить ядро Гаусса таким магічним для PCA, а також загалом?
На жаль, пояснення fcop є досить невірним. Перш за все він говорить: "Відомо, що ядро можна записати як ... де ... - це (неявна і невідома) трансформація в новий простір функцій". НЕ невідомо. Насправді це простір, на який відображені функції, і це простір, який може бути нескінченним розміром, як у випадку RBF. Все, що ядро робить, це взяти внутрішній добуток цього трансформованого векторного ознаки з перетвореним вектором ознак тренінгового прикладу і застосувати деяку функцію до результату. Таким чином, це неявно представляє цей вектор більш високого розміру. Подумайте, наприклад, написати (x + y) ^ 2 замість x ^ 2 + 2xy + y ^ 2. Тепер подумайте, який нескінченний ряд представлений неявно експоненціальною функцією ... там у вас є нескінченний простір функцій.
Правильний спосіб думати про SVM - полягає в тому, що ви відображаєте свої функції в можливо нескінченний розмірний простір характеристик, який, мабуть, неявно представлений у ще одному кінцевому розмірі простору "Ядро", розмір якого може бути таким же, як розмір навчального набору.