Що робить ядро ​​Гаусса таким магічним для PCA, а також загалом?


67

Я читав про ядро ​​PCA ( 1 , 2 , 3 ) з ядрами Гаусса та поліномами.

  • Як ядро ​​Гаусса надзвичайно добре відокремлює, здавалося б, будь-який вид нелінійних даних? Будь ласка, дайте інтуїтивний аналіз, а також, якщо можливо, математично залучений.

  • Яка властивість ядра Гаусса (з ідеалом ), якого не мають інші ядра? Нейрові мережі, SVM та RBF мережі приходять до тями.σ

  • Чому ми не ставимо норму через, скажімо, Кош-PDF і не очікуємо однакових результатів?

1
+1. Відмінне запитання, яке я майже не помічав, бо не мав тегу [pca]! Відредаговано зараз.
амеба каже, що повернеться до Моніки

4
Гарне питання. Мені цікаво, чи відповідь може бути "о так, багато інших ядер теж будуть добре працювати, але гауссі добре відомі / легко"
Stumpy Joe Pete

@StumpyJoePete Я не думаю, що це така тривіальна відповідь. Який ще параметр розташування дистрибутива також є його середнім? Який ще параметр шкали розподілу також є його дисперсією? Який інший розподіл настільки універсально інтуїтивно зрозумілий? Напевно, це не розподіл Коші - це навіть не означає!
shadowtalker

3
@ssdecontrol Я щасливий, що я підтвердив неправильність; Я схвалив і питання, і одну з відповідей - я просто вважаю, що моя нудна, гуморна, дефляційна відповідь робить хорошим дефолтом, що справжню відповідь слід спростувати.
Stumpy Joe Pete

Я думаю, що це може допомогти: stats.stackexchange.com/questions/168051/…

Відповіді:


54

Я думаю, що ключ до магії - це гладкість. Моя довга відповідь, яка випливає, - просто пояснити цю гладкість. Це може бути, а може і не бути відповіддю, якого ви очікуєте.

Коротка відповідь:

Враховуючи позитивне певне ядро , існує відповідний йому простір функцій . Властивості функцій визначаються ядром. Виявляється, якщо - ядро ​​Гаусса, функції в дуже гладкі. Отже, засвоєна функція (наприклад, регресійна функція, основні компоненти в RKHS як у PCA ядра) дуже гладка. Зазвичай припущення про гладкість є розумним для більшості наборів даних, з якими ми хочемо вирішити. Це пояснює, чому ядро ​​Гаусса магічне.H k HkHkH

Довга відповідь, чому ядро ​​Гаусса дає гладкі функції:

Позитивне певне ядро визначає (неявно) внутрішній продукт для векторного функції побудованого з вашого вводу , а - простір Гільберта. Позначення означає внутрішній продукт між та . Для нашої мети ви можете уявити звичайним евклідовим простором, але, можливо, з нескінченною кількістю вимірів. Уявіть звичайний вектор, який нескінченно довгий, якдо ( х , у ) = ф ( х ) , ф ( у ) Н ф ( х ) х Н ф ( х ) , ф ( у ) ф ( х ) ф ( у ) H ϕ ( x ) = ( ϕ 1 ( x)k(x,y)k(x,y)=ϕ(x),ϕ(y)Hϕ(x)xHϕ(x),ϕ(y)ϕ(x)ϕ(y)H Н е ( х ) = F , φ ( хϕ(x)=(ϕ1(x),ϕ2(x),). У методах ядра - це простір функцій, що називається відтворенням простору Гільберта ядра (RKHS). У цьому просторі є особливе властивість, яке називається `` відтворює властивість '', тобто . Це говорить про те, що для оцінки спочатку ви побудуєте вектор функції (нескінченно довгий, як згадувалося) для . Тоді ви будуєте свій вектор функцій для позначеного (нескінченно довгий). Оцінка дається шляхом взяття внутрішнього добутку двох. Очевидно, що на практиці ніхто не сконструює нескінченно довгий вектор. Оскільки ми дбаємо лише про його внутрішній продукт, ми просто безпосередньо оцінюємо ядроHf(x)=f,ϕ(x)f(x)fxϕ(x)f(x)k. Обхід обчислення явних особливостей і безпосередньо обчислення його внутрішнього продукту відомий як "хитрість ядра".

Які особливості?

Я продовжував говорити функції не вказуючи, що вони є. З огляду на ядро , функції не унікальні. Але визначається однозначно. Для пояснення плавності функцій розглянемо функції Фур'є. Припустимо, інваріантне ядро ​​перекладу , що означає тобто ядро ​​залежить лише від різниці двох аргументів. Ядро Гаусса має цю властивість. Нехай позначає перетворення Фур'є в .ϕ1(x),ϕ2(x),kϕ(x),ϕ(y)kk(x,y)=k(xy)k^k

У цій точці зору Фур'є функції задаються . Це говорить про те, що представлення функції вашої функції задається її перетворенням Фур'є, поділеним на перетворення Фурера ядра . Представлення функції , яке є є де . Можна показати, що властивість відтворюючої властивості (вправа для читачів).ff:=(,f^l/k^l,)fkxϕ(x)(,k^lexp(ilx),)i=1

Як і в будь-якому просторі Гільберта, всі елементи, що належать до простору, повинні мати кінцеву норму. Розглянемо норму квадрата :fH

fH2=f,fH=l=f^l2k^l.

Отже, коли ця норма є кінцевою, тобто належить до простору? Це коли падає швидше, ніж так що сума сходить. Тепер перетворення Фур'є ядра Гауссаff^l2k^l k(x,y)=exp(xy2σ2)

є ще одним Гауссом, де зменшується експоненціально швидко з . Отже, якщо має бути в цьому просторі, його перетворення Фур'є повинно падати навіть швидше, ніж . Це означає, що ця функція ефективно матиме лише декілька низькочастотних компонентів з великою вагою. Сигнал із лише низькочастотними компонентами не дуже «махає». Це пояснює, чому ядро ​​Гаусса дає вам плавну функцію.k^llfk

Додатково: Що з ядром Лапласа?

Якщо розглядати ядро ​​Лапласа , його перетворення Фур'є є розподілом Коші, яке падає набагато повільніше, ніж експонентне функція в перетворенні Фур'є ядра Гаусса. Це означає, що функція матиме більше високочастотних компонентів. Як результат, функція, яку надає ядро ​​Лапласа, є "більш грубою", ніж функція, отримана ядром Гаусса.k(x,y)=exp(xyσ)f

Яка властивість ядра Гаусса, якого не мають інші ядра?

Незалежно від ширини Гаусса, одна властивість полягає в тому, що ядро ​​Гаусса є `` універсальним ''. Інтуїтивно це означає, що враховуючи обмежену безперервну функцію (довільна), існує функція така, що і близькі (у значенні аж до необхідної точності. В основному, це означає, що ядро ​​Гаусса надає функції, здатні довільно наближати "приємні" (обмежені, безперервні) функції. Ядра Гаусса та Лапласа універсальні. Поліноміальне ядро, наприклад, не є.gfHfg)

Чому ми не ставимо норму через, скажімо, Кош-PDF і не очікуємо однакових результатів?

Загалом, ви можете робити все, що завгодно, до тих пір, поки отриманий буде позитивним. Позитивна визначеність визначається як для всіх , і всіх (набір натуральних чисел) . Якщо не є позитивно визначеним, то воно не відповідає внутрішньому простору продукту. Весь аналіз порушується, оскільки у вас навіть немає простору функцій як згадувалося. Тим не менш, це може працювати емпірично. Наприклад, гіперболічне дотичне ядро ​​(див. Номер 7 на цій сторінці )ki=1Nj=1Nk(xi,xj)αiαj>0αiR{xi}i=1NNNkH

k(x,y)=tanh(αxy+c)

який призначений для імітації сигмоїдних активаційних одиниць в нейронних мережах, є лише позитивним певним для деяких параметрів і . Ще повідомлялося, що це працює на практиці.αc

А як щодо інших видів функцій?

Я сказав, що особливості не унікальні. Для ядра Гаусса ще один набір функцій надає розширення Mercer . Дивіться розділ 4.3.1 відомої книги про Гаусса . У цьому випадку ознаками є поліноми Герміта, оцінені на .ϕ(x)x


2
Я не збираюся присуджувати щедрості ще, але я спокушаюся присвоїти їй цю відповідь, тому що вона дуже орієнтована на питання і робить явні порівняння з іншими ядрами
shadowtalker

Нарешті це питання отримало одну чудову відповідь! (+1) Мене коротко бентежить нотація, яку ви тут використовували: - і в наступних параграфах. Чи не чіткіше позначення буде зрозумілішим, розділивши функцію діє на вихідний простір і вектор , де - функціонал? До речі, які функції гарантовано "відтворюються" "відтворювальною властивістю"? Усі? Безперервне? Гладкий? f(x)=f,ϕ(x)f(x)=Ψ(f),ϕ(x)f()Ψ(f)HΨ()
амеба каже, що повернеться до Моніки

@amoeba У літературі люди не розрізняють подання і саму функцію. Якщо потрібно, іноді вони використовують для представлення та для функції. Усі функції в просторі мають властивість відтворення. Гладкий чи ні, що вказано ядром. :)fff()H
wij

Оновлено публікацію. Додано трохи більше на ядро ​​tanh.
wij

Хммм, я думаю, тут я заплутався. Почнемо з векторного простору , де живуть точки . Тоді ми виберемо позитивно певний ядро . Тоді ми стверджуємо, що теорема 1 відповідає : може бути реалізований як крапковий добуток на деякому просторі Гільберта , таким, що , де . Добре. А тепер ви кажете, що будь-яка функція діє на може бути реалізована як скалярний добуток її подання х до ( , ) : X × XR K H до ( х , у ) = ф ( х ) , ф ( у ) ф : ХН е ( х ) Х F H ф ( х )Xxk(,):X×XRkHk(x,y)=ϕ(x),ϕ(y)ϕ:XHf(x)XfHз ? Чи це правильно? ϕ(x)
амеба каже, що повернеться до Моніки

18

Я зроблю все можливе, щоб відповісти на це питання не тому, що я фахівець з цієї теми (зовсім навпаки), а тому, що мені цікаво поле та тему, поєднане з думкою, що це може бути хорошим освітнім досвідом . У всякому разі, ось результат мого короткого аматорського дослідження з цього питання.

TL; DR : Я б розглядав наступний уривок із дослідницької роботи "Зв'язок між операторами регуляризації та ядрами підтримки вектора" як коротку відповідь на це питання:

Ядра Гаусса, як правило, дають хороші показники при загальних припущеннях гладкості, і їх слід враховувати, особливо якщо немає додаткових знань про дані.

Тепер детальна відповідь (наскільки я розумію; для математичних деталей будь ласка, використовуйте посилання).

Як ми знаємо, аналіз основних компонентів (PCA) - це дуже популярний підхід до зменшення розмірності , як один, так і для наступної класифікації даних: http://www.visiondummy.com/2014/05/feature-extraction-using-pca . Однак у ситуаціях, коли дані несуть нелінійні залежності (іншими словами, лінійно невіддільні ), традиційний PCA не застосовується (не працює добре). У цих випадках можна використовувати інші підходи, і нелінійний PCA є одним з них.

Підходи, де зазвичай називається PCA на використанні функції ядра, використовують парасольковий термін "PCA ядра" ( kPCA ). Використання ядра Гаусса на радіальній основі (RBF) - це, мабуть, найпопулярніша варіація. Цей підхід докладно описаний у кількох джерелах, але мені дуже подобається чудове пояснення Себастьяна Рашка в цій публікації блогу . Однак, згадуючи про можливість використання ядерних функцій, окрім Гауссової RBF, пост зосереджується на останніх завдяки своїй популярності. Ця приємна публікація в блозі , де представлені наближення ядра та хитрість ядра , згадує ще одну можливу причину популярності ядра Гаусса для PCA: нескінченність розмірності.

Додаткову інформацію можна знайти в кількох відповідях на Quora. Зокрема, прочитавши цю чудову дискусію, можна виявити декілька моментів щодо потенційних причин популярності ядра Гаусса.

  • Ядра Гаусса універсальні :

Ядра Гаусса - це універсальні ядра, тобто їх використання з відповідною регуляризацією гарантує глобальний оптимізатор прогнозу, що мінімізує як помилки оцінки, так і наближення класифікатора.

  • Ядра Гаусса круглі (що призводить до вищезгаданої нескінченної розмірності?)
  • Ядра Гаусса можуть представляти "дуже мінливі місцевості"
  • Наступний пункт, що підтверджує головний висновок, вище, краще подати з посиланням на автора:

Ядро Gaussian RBF дуже популярне і робить хороше ядро ​​за замовчуванням, особливо за відсутності експертних знань про дані та домен, оскільки воно також включає в себе поліноміальне та лінійне ядро. Лінійні ядра та поліноміальні ядра є особливим випадком ядра Гаусса RBF. Ядра Гаусса RBF - непараметрична модель, що по суті означає, що складність моделі потенційно нескінченна, оскільки кількість аналітичних функцій нескінченна.

  • Ядра Гаусса оптимальні (про плавність читайте більше тут - того ж автора):

Ядро Гаусса - це лише смуговий фільтр; він вибирає найбільш гладке рішення. [...] Ядро Гаусса найкраще працює, коли нескінченна сума похідних високого порядку швидше сходиться - і це відбувається для найгладших рішень.

Нарешті, додаткові моменти з цієї приємної відповіді :

  • Ядра Гаусса підтримують нескінченно складні моделі
  • Ядра Гаусса більш гнучкі

ПРИМІТКИ:

Вищезазначений пункт про те, що ядро ​​Гаусса є оптимальним вибором, особливо коли немає попередніх знань про дані, підтримується наступним реченням з цієї відповіді на резюме :

За відсутності експертних знань ядро ​​Radial Basis Function створює хороше ядро ​​за замовчуванням (як тільки ви встановите, це проблема, що вимагає нелінійної моделі).

Для тих, хто цікавиться несуттєвими відмінностями між ядром RBF Gaussian та стандартним ядром Gaussian, ця відповідь може зацікавити: https://stats.stackexchange.com/a/79193/31372 .

Для тих, хто зацікавлений у застосуванні kPCA для задоволення чи бізнесу, ця приємна публікація в блозі може бути корисною. Це написано одним з авторів (творців?) Accord.NET - дуже цікавої .NET рамки з відкритим кодом для статистичного аналізу, машинного навчання, обробки сигналів та багато іншого.


5
Я ціную і аплодую зусиллям, докладеним до створення цієї відповіді, але в той же час мушу сказати, що вона цитує з багатьох джерел, які не є дуже авторитетними, і які дають лише такі загальні рукохвильові пояснення, які можуть бути правильними, але можуть бути також бути повністю помилковим. Отже ядро ​​RBF - це ізотропне нерухоме ядро ​​з нескінченномірним відтворенням простору Гільберта. Добре! Чи є інші ядра з цими властивостями? Якщо так, то чому б RBF був кращим за всі вони? Насправді, чи є якась емпірична підтримка твердження, що RBF перевершує таких конкурентів?
Амеба каже, що поверніть Моніку

@amoeba: Дякую за добрі слова. Щодо джерел, якими я користувався, ви частково маєте рацію - це суміш, а деякі джерела - це лише думки. Однак деякі джерела (тобто повідомлення в блогах) самі цитують тверді документи. У цей момент мене більше приваблювала якість пояснення, а не його чіткість. Що стосується ваших запитань, я готуюсь відповісти на них пізніше. Мені потрібно прочитати трохи більше теорії. Я вже склав джерела з емпіричною підтримкою, але мені потрібно більше часу для їх систематизації (і трохи сну :).
Олександр Блех

1
У мене таке відчуття, що Гаусс має максимальну ентропію серед реальних симетричних розподілів, грає роль у вашій першій точці про хороші показники за загальним припущенням
shadowtalker

2
Також @AleksandrBlekh це фантастична збірка. Люди дряпають Quora, але це не менш авторитетно, ніж посилання на іншу відповідь тут
shadowtalker

@ssdecontrol: Дякую за добрі слова. Радий, що ми на одній сторінці про цю тему. У мене є додаткова інформація, щоб вирішити коментар амеби, тому дивіться цей простір, якщо вам це цікаво.
Олександр Блех

8

Дозвольте мені покласти два мої центи.

Те, як я думаю про ядра Гаусса, є певним сусідом класифікаторів. Ядро Гаусса - це те, що воно представляє кожну точку з відстанню до всіх інших точок набору даних. Тепер подумайте про класифікатори з лінійними або поліноміальними межами, межі обмежені певними формами. Однак, дивлячись на найближчого сусіда, межа практично може приймати будь-яку форму. Ось я думаю, чому ми вважаємо ядро ​​Гаусса також непараметричним, тобто регулюючи межу залежно від даних. Ще один спосіб подумати про це - ядро ​​Гаусса, що підлаштовується під локальну форму в регіоні, подібно до того, як найближчий сусід локально коригує кордон, дивлячись на відстань до інших точок місцевого регіону.

Я не маю математичного аргументу для цього, але я думаю, що факт, що ядро ​​Гаусса насправді відображається у нескінченному просторовому просторі, має щось спільне з його успіхом. Для лінійних та поліномних ядер точкові добутки беруть у кінцевих розмірних просторах; отже, здається більш потужним робити речі у більшому просторі. Я сподіваюся, що хтось краще зрозуміє ці речі. Це також означає, що якщо ми можемо знайти інші ядра з нескінченними розмірними просторами, вони також повинні бути досить потужними. На жаль, я не знайомий ні з одним таким ядром.

Для вашого останнього моменту я думаю, що Копі pdf або будь-який інший pdf, який певним чином вимірює відстань до інших точок, повинен працювати однаково добре. Знову ж таки, у мене немає гарного математичного аргументу для цього, але зв’язок із найближчим сусідом робить це правдоподібним.

Редагувати:

Ось кілька ідей, як мислити класифікатором, використовуючи ядра Гаусса як класифікатори найближчих сусідів. Спочатку давайте подумаємо, що робить класифікатор найближчого сусіда. По суті, найближчий сусідній класифікатор - це стандартний класифікатор, який використовує відстані між точками як вхідні дані. Більш формально, уявіть, що ми створюємо представлення функції для кожної точки в наборі даних, обчислюючи її відстань до всіх інших точок. Вище, - функція відстані. Тоді, що робить найближчий сусідній класифікатор, це передбачити мітку класу для точки на основі представлення цієї функції та міток класів для даних. деϕixi

ϕi=(d(xi,x1),d(xi,x2),,d(xi,xn))
d
pi=f(ϕi,y)
pi є передбачення для точок даних і є вектором класу міток для .xiyx1,x2,,xn

Те, як я думаю про ядра, - це те, що вони роблять подібну річ; вони створюють представлення особливостей кожної точки, використовуючи її значення ядра з іншими точками набору даних. Подібно до випадку найближчого сусіда, формальніше це було б Зараз зв'язок із найближчим сусідом цілком очевидний; якщо наша функція ядра є якоюсь мірою, яка пов'язана з мірами відстані, які ми використовуємо в найближчих класифікаторах сусідів, наш класифікатор на основі ядра буде подібний до найближчої моделі сусідів.

ϕi=(k(xi,x1),k(xi,x2),,k(xi,xn))

Примітка: Класифікатори, які ми навчаємо за допомогою ядер, не працюють безпосередньо з цими представленнями , але я думаю, що це роблять неявно.ϕi


Інтерпретація найближчих сусідів цікава. Думаєте, ви могли трохи розширити це? Я думаю, що я це отримую, але не впевнений, що так.
shadowtalker

@ssdecontrol Я додав кілька коментарів; Я сподіваюся, що вони корисні.
гокер

6

Причина полягає в тому, що розмір VC для ядер Гаусса нескінченний, і таким чином, з урахуванням правильних значень параметрів (sigma), вони можуть правильно класифікувати довільно велику кількість вибірок.

RBF працюють добре, оскільки вони гарантують, що матриця повна. Ідея полягає в тому, що і недіагональні доданки можуть бути довільно малі за рахунок зменшення значення . Зауважте, що ядро ​​відповідає точковому продукту в просторі функцій. У цьому просторі функцій розмірність нескінченна (з огляду на послідовне розширення експоненціалу). Таким чином, можна було б сприймати це як проектування цих точок у різних вимірах, щоб ви могли їх розділити.K ( x i , x i ) > 0 σK(xi,xj)K(xi,xi)>0σ

Розглянемо, навпаки, випадок лінійних ядер, які можуть розбити лише чотири точки на площині.

Ви можете поглянути на цей документ , хоча це дуже технічно. Одна із стандартних книг про SVM повинна зробити цю концепцію більш доступною.


1
"RBF працюють добре, оскільки вони гарантують, що матриця є повноцінною": це справедливо для кожної дійсної функції (ядра Mercer) (включаючи лінійну), тому я не впевнений, як це пояснюється -виконання RBF. K(xi,xj)
user603

2
Окрім того, що щойно написав @ user603: чи є інші популярні ядра з нескінченним розміром VC (розмірність цільового простору)? Якщо так, то вони настільки ж хороші, як RBF?
Амеба каже, що поверніть Моніку

2
Чи не розмір VC є властивістю набору класифікаторів, а не властивістю ядра?
wij

2
@ user603: це неправда. Ядра Mercer вимагають лише, щоб матриця ядра була позитивною напівдефінітією; вони можуть бути поодинокими. Наприклад, лінійне ядро ​​насправді дає єдині матриці ядра, якщо у вашому наборі точок. (Звичайно, більшість ядер є суворо позитивно визначеними, тому це не особливо відмінна властивість Гаусівського RBF.)xi=0
Dougal
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.