Что делает ядро ​​Гаусса таким волшебным для PCA, а также вообще?


67

Я читал о ядре PCA ( 1 , 2 , 3 ) с гауссовым и полиномиальным ядрами.

  • Как ядро ​​Гаусса, по-видимому, исключительно хорошо разделяет любые нелинейные данные? Пожалуйста, дайте интуитивный анализ, а также, если возможно, математически сложный анализ.

  • Какое свойство ядра Гаусса (с идеальной ), которого нет у других ядер? Нейронные сети, SVM и сети RBF приходят на ум.σ

  • Почему бы нам не указать, скажем, PDF-файл Коши и не ожидать таких же результатов?

1
+1. Отличный вопрос, который я почти не заметил, потому что у него не было тега [pca]! Отредактировано сейчас.
говорит амеба, восстанови Монику

4
Хороший вопрос. Мне интересно, может ли быть ответ "о да, многие другие ядра тоже будут работать нормально, но гауссовский язык хорошо известен / легко"
Stumpy Joe Pete

@StumpyJoePete Я не думаю, что это такой банальный ответ. Какой параметр местоположения другого дистрибутива также является его средним значением? Параметр масштаба других распределений также является его дисперсией? Какой другой дистрибутив настолько универсален? Конечно, не распределение Коши - оно даже не имеет смысла!
теневик

3
@ssdecontrol Я счастлив, что оказался неправ; Я проголосовал как за вопрос, так и за один из ответов - я просто думаю, что мой скучный, непристойный, дефляционный ответ делает хороший дефолт, который должен опровергнуть реальный ответ.
Stumpy Джо Пит

Я думаю , что это может помочь: stats.stackexchange.com/questions/168051/...

Ответы:


54

Я думаю, что ключ к магии - это плавность. Мой длинный ответ, который следует, просто объяснить эту плавность. Это может или не может быть ответ, который вы ожидаете.

Краткий ответ:

Для положительно определенного ядра существует соответствующее ему пространство функций . Свойства функций определяются ядром. Оказывается, что если - ядро ​​Гаусса, функции в очень гладкие. Итак, изученная функция (например, функция регрессии, главные компоненты в RKHS, как в ядре PCA) очень гладкая. Обычно предположение о гладкости целесообразно для большинства наборов данных, с которыми мы хотим работать. Это объясняет, почему ядро ​​Гаусса является магическим.H k HkHkH

Длинный ответ о том, почему ядро ​​Гаусса дает гладкие функции:

Положительно определенное ядро определяет (неявно) внутреннее произведение для векторного элемента построенного из вашего входного , а является гильбертовым пространством. Обозначения означают внутреннее произведение между и . Для нашей цели вы можете представить себе как обычное евклидово пространство, но, возможно, с бесконечным числом измерений. Представьте себе обычный вектор бесконечной длины, такой какк ( х , у ) = ф ( х ) , ф ( у ) Н ф ( х ) х Н ф ( х ) , ф ( ) , ф 2 ( х ) , ... ) Н е ( х ) = F , φ ( хk(x,y)k(x,y)=ϕ(x),ϕ(y)Hϕ(x)xH ф ( х ) ф ( у ) H ϕ ( x ) = ( ϕ 1 ( x)ϕ(x),ϕ(y)ϕ(x)ϕ(y)Hϕ(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

В этой точке зрения Фурье свойства задаются как , Это говорит о том, что представление функции вашей функции задается ее преобразованием Фурье, деленным на преобразование Фурье ядра . Элементное представление , которое является является где . Можно показать, что воспроизводящая собственность справедлива (упражнение для читателей).е : = (, е л / fекхφ(х)(,f:=(,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 : может быть реализовано как скалярное произведение на некотором гильбертовом пространстве , такое, что , где . Хорошо. И теперь вы говорите, что любая функция действующая на может быть реализована как скалярное произведение ее представления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), вероятно, является наиболее популярным вариантом. Этот подход подробно описан в нескольких источниках, но мне очень нравится отличное объяснение Себастьяна Рашки в этом сообщении в блоге . Однако, упоминая о возможности использования функций ядра, отличных от Gaussian RBF, пост посвящен последнему из-за его популярности. Это хороший блог , внедряя приближения ядра и ядра уловку , упоминает еще одну возможную причину гауссовой популярности ядра для PCA: бесконечномерность,

Дополнительную информацию можно найти в нескольких ответах на Quora. В частности, чтение этой превосходной дискуссии выявляет несколько моментов о потенциальных причинах популярности ядра Гаусса, а именно:

  • Гауссовы ядра универсальны :

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

  • Ядра Гаусса являются круглыми (что приводит к вышеупомянутой бесконечной размерности?)
  • Ядра Гаусса могут представлять "сильно изменяющиеся территории"
  • Следующий пункт, поддерживающий основной вывод, приведенный выше, лучше процитировать со ссылкой на автора:

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

  • Ядра Гаусса являются оптимальными (по гладкости , подробнее здесь - тот же автор):

Ядро Гаусса - просто полосовой фильтр; он выбирает наиболее плавное решение. [...] Гауссово ядро ​​работает лучше всего, когда бесконечная сумма производных высокого порядка сходится быстрее всего - и это происходит для самых гладких решений.

Наконец, дополнительные моменты из этого приятного ответа :

  • Ядра Гаусса поддерживают бесконечно сложные модели
  • Гауссовы ядра более гибкие

ПРИМЕЧАНИЯ:

Упомянутый выше пункт о том, что ядро ​​Гаусса является оптимальным выбором, особенно когда нет предварительных знаний о данных, подтверждается следующим предложением из этого CV-ответа :

В отсутствие экспертных знаний ядро ​​Radial Basis Function делает хорошее ядро ​​по умолчанию (как только вы это установили, это проблема, требующая нелинейной модели).

Для тех, кто интересуется несущественными различиями между ядром Gaussian RBF и стандартным ядром Gaussian, этот ответ может быть интересен: https://stats.stackexchange.com/a/79193/31372 .

Для тех, кто заинтересован во внедрении kPCA для удовольствия или бизнеса, этот хороший пост в блоге может быть полезен. Он написан одним из авторов (создателей?) Accord.NET - очень интересной платформы с открытым исходным кодом .NET для статистического анализа, машинного обучения, обработки сигналов и многого другого.


5
Я ценю и приветствую усилия, приложенные при составлении этого ответа, но в то же время должен сказать, что в нем приводятся цитаты из множества источников, которые не очень авторитетны и которые дают только такие общие объяснения, которые могут быть правильными, но могут и быть полностью ложным. Таким образом, ядро ​​RBF является изотропным стационарным ядром с бесконечномерным воспроизводящим гильбертовым пространством. Хороший! Есть ли другие ядра с этими свойствами? Если так, то почему бы RBF был лучше, чем все они? На самом деле, есть ли эмпирическая поддержка заявления о том, что RBF превосходит таких конкурентов?
говорит амеба, восстанови Монику

@amoeba: Спасибо за добрые слова. В отношении источников, которые я использовал, вы частично правы - это смесь, а некоторые источники - просто мнения. Однако некоторые источники (например, сообщения в блогах) сами ссылаются на твердые статьи. В этот момент меня больше привлекло качество объяснения, а не его строгость. Что касается ваших вопросов, я собираюсь ответить на них позже. Мне нужно прочитать немного больше теории. Я уже собрал источники с эмпирической поддержкой, но мне нужно больше времени для их систематизации (и немного поспать :).
Александр Блех

1
У меня есть ощущение, что гауссиан имеет максимальную энтропию среди реальных симметричных распределений, играет роль в вашем первом замечании о хорошей производительности при общем предположении
shadowtalker

2
Также @AleksandrBlekh это фантастический сборник. Люди тряпят на Quora, но это не менее авторитетно, чем
ссылка

@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


Интерпретация ближайших соседей интересна. Как вы думаете, вы могли бы рассказать об этом немного? Я думаю, что понимаю, но я не уверен, что понимаю.
бродяга

@ssdecontrol Я добавил несколько комментариев; Я надеюсь, что они полезны.
goker 15.01.15

6

Причина в том, что размерность VC для гауссовых ядер бесконечна, и, таким образом, при правильных значениях параметров (сигма) они могут правильно классифицировать произвольно большое количество выборок.

RBFs работают хорошо, потому что они гарантируют, что матрица имеет полный ранг. Идея состоит в том, что и недиагональные члены могут быть сделаны сколь угодно малыми путем уменьшения значения . Обратите внимание, что ядро ​​соответствует точечному произведению в пространстве признаков. В этом пространстве признаков размерность бесконечна (с учетом разложения в ряд по экспоненте). Таким образом, можно увидеть, что эти точки проецируются в разные измерения, чтобы вы могли разделить их.K(xi,xj)K(xi,xi)>0σ

Для сравнения рассмотрим случай линейных ядер, которые могут разрушить только четыре точки на плоскости.

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


1
«RBFs работают хорошо, потому что они гарантируют, что матрица имеет полный ранг»: это верно для каждой действительной (Mercer) функции ядра (включая линейную), поэтому я не уверен, как она объясняет предполагаемый выход производительность РБФ. K(xi,xj)
user603

2
В дополнение к тому, что @ user603 только что написал: существуют ли другие популярные ядра с бесконечным измерением VC (измерением целевого пространства)? Если так, то они так же хороши, как RBF?
говорит амеба, восстанови Монику

2
Разве измерение VC не является свойством набора классификаторов, а не свойством ядра?
Wij

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