Как SVM может «найти» бесконечное пространство признаков, где линейное разделение всегда возможно?


36

Какова интуиция, лежащая в основе того факта, что SVM с ядром Гаусса имеет бесконечномерное пространство признаков?


1
Я не очень понимаю вопрос. Вы хотите объяснение, почему его соответствующее пространство признаков является бесконечномерным, или интерпретацию того, что означает результирующая гиперплоскость?
Марк Клазен

1
Я не против услышать оба!
user36162

5
Я думаю, что это интересный вопрос (+1)

Ответы:


39

Этот ответ объясняет следующее:

  1. Почему идеальное разделение всегда возможно с различными точками и гауссовым ядром (с достаточно малой пропускной способностью)
  2. Как это разделение можно интерпретировать как линейное, но только в абстрактном пространстве признаков, отличном от пространства, в котором живут данные
  3. Как "найдено" отображение из пространства данных в пространство объектов. Спойлер: он не найден SVM, он неявно определяется выбранным вами ядром.
  4. Почему пространство признаков бесконечномерно.

1. Достижение идеального разделения

Совершенное разделение всегда возможно с ядром Гаусса (при условии, что две точки из разных классов не являются абсолютно одинаковыми) из-за свойств локальности ядра, которые приводят к произвольно гибкой границе решения. Для достаточно малой пропускной способности ядра граница принятия решения будет выглядеть так, как будто вы просто рисуете маленькие кружочки вокруг точек всякий раз, когда они необходимы для разделения положительных и отрицательных примеров:

Что-то вроде этого

(Фото: онлайн курс по машинному обучению Эндрю Нг ).

Итак, почему это происходит с математической точки зрения?

Рассмотрим стандартную настройку: у вас есть гауссово ядро и данные обучения где значения равны . Мы хотим узнать функцию классификатора( x ( 1 ) , y ( 1 ) ) , ( x ( 2 ) , y ( 2 ) ) , , ( x ( n ) , y ( n ) ) y (К(Икс,Z)знак равноехр(-||Икс-Z||2/σ2)(Икс(1),Y(1)),(Икс(2),Y(2)),...,(Икс(N),Y(N)) ±1Y(я)±1

Y^(Икс)знак равноΣявесяY(я)К(Икс(я),Икс)

Теперь, как мы будем назначать веса ? Нужны ли нам бесконечномерные пространства и алгоритм квадратичного программирования? Нет, потому что я просто хочу показать, что могу отлично разделять точки. Поэтому я делаю в миллиард раз меньше, чем наименьшее разделениемежду любыми двумя примерами обучения, и я просто установил . Это означает, что все тренировочные точки находятся на расстоянии миллиарда сигм с точки зрения ядра, и каждая точка полностью контролирует знак в его окрестности. Формально у нас есть σ | | x ( i ) - x ( j ) | | ж я = 1 увесяσ||x(i)x(j)||wi=1y^

y^(Икс(К))знак равноΣязнак равно1NY(К)К(Икс(я),Икс(К))знак равноY(К)К(Икс(К),Икс(К))+ΣяКY(я)К(Икс(я),Икс(К))знак равноY(К)+ε

где - какое-то сколь угодно крошечное значение. Мы знаем, что крошечный, потому что находится на расстоянии миллиарда сигм от любой другой точки, поэтому для всех мы имеемϵ x ( k ) i kεεИкс(К)яК

K(x(i),x(k))=exp(||x(i)x(k)||2/σ2)0.

Поскольку очень маленький, определенно имеет тот же знак, что и , и классификатор достигает идеальной точности в данных обучения.у ( х ( к ) ) у ( к )ϵy^(x(k))y(k)

2. Ядро SVM обучения как линейное разделение

Тот факт, что это можно интерпретировать как «идеальное линейное разделение в бесконечномерном пространстве признаков», происходит от трюка ядра, который позволяет интерпретировать ядро ​​как внутренний продукт в (потенциально бесконечномерном) пространстве признаков:

K(x(i),x(j))=Φ(x(i)),Φ(x(j))

где - отображение из пространства данных в пространство признаков. Из этого сразу следует, что функция является линейной функцией в пространстве признаков:у ( х )Φ(Икс)Y^(Икс)

Y^(Икс)знак равноΣявесяY(я)Φ(Икс(я)),Φ(Икс)знак равноL(Φ(Икс))

где линейная функция определена для векторов пространств признаков какVL(v)v

L(v)знак равноΣявесяY(я)Φ(Икс(я)),v

Эта функция является линейной в потому что это просто линейная комбинация внутренних произведений с фиксированными векторами. В пространстве признаков граница решения - это просто , набор уровней линейной функции. Это само определение гиперплоскости в пространстве признаков.у ( х ) = 0 л ( v ) = 0vY^(Икс)знак равно0L(v)знак равно0

3. Понимание картографического и функционального пространства

Примечание. В этом разделе нотацияотносится к произвольному набору източек, а не к обучающим данным. Это чистая математика; данные обучения вообще не фигурируют в этом разделе! нИкс(я)N

Методы ядра никогда не находят или не вычисляют пространство пространственных объектов или отображение явно. Методы обучения ядра, такие как SVM, не нуждаются в них для работы; они нужны только функции ядра .KΦК

Тем не менее, можно записать формулу для . Пространство объектов, на которое отображается является абстрактным (и, возможно, бесконечномерным), но, по сути, отображение просто использует ядро ​​для выполнения некоторого простого проектирования объектов. Что касается конечного результата, то модель, которую вы в конечном итоге изучаете, используя ядра, ничем не отличается от традиционной разработки функций, широко применяемой в линейной регрессии и моделировании GLM, такой как взятие журнала переменной положительного предиктора перед подачей ее в формулу регрессии. Математика в основном предназначена для того, чтобы убедиться, что ядро ​​хорошо работает с алгоритмом SVM, который имеет свои превозносимые преимущества разреженности и хорошего масштабирования для больших наборов данных.ΦΦΦ

Если вы все еще заинтересованы, вот как это работает. По сути, мы берем тождество, которое хотим сохранить: и построить пространство и внутреннее произведение так, чтобы оно соответствовало определению. Для этого мы определяем абстрактное векторное пространство где каждый вектор является функцией от пространства, в котором живут данные, , до действительных чисел . Вектор в - это функция, образованная из конечной линейной комбинации срезов ядра: Удобно написать более компактно, как У Й Р е V е ( х ) = п Σ я = 1 α я К ( х ( я ) , х ) е е = п Σ я = 1 α i K x ( i ) K xΦ(Икс),Φ(Y)знак равноК(Икс,Y)ВИксреВ

е(Икс)знак равноΣязнак равно1NαяК(Икс(я),Икс)
е
езнак равноΣязнак равно1NαяКИкс(я)
где - это функция, дающая «кусочек» ядра в .хКИкс(Y)знак равноК(Икс,Y)Икс

Внутренний продукт в пространстве - это не обычный точечный продукт, а абстрактный внутренний продукт, основанный на ядре:

i=1nαiKx(i),j=1nβjKx(j)=i,jαiβjK(x(i),x(j))

С пространством объектов, определенным таким образом, является отображением , переводящим каждую точку в "срез ядра" в этой точке:XV xΦXVx

Φ(x)=Kx,whereKx(y)=K(x,y).

Вы можете доказать, что - внутреннее произведение, когда - положительно определенное ядро. Смотрите эту статью для деталей. (Престижность Копенсу за то, что он указал на это!)KVK

4. Почему пространство признаков бесконечномерно?

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

Интуиция

Для любой фиксированной точки у нас есть функция среза ядра . Граф - это просто гауссовский удар с центром в . Теперь, если бы пространство пространственных объектов было только конечномерным, это означало бы, что мы могли бы взять конечный набор выступов в фиксированном наборе точек и сформировать любой удар по Гауссу где-либо еще. Но ясно, что мы никак не можем это сделать; Вы не можете сделать новый удар из старых ударов, потому что новый удар может быть очень далеко от старых. Таким образом, независимо от того, сколько у нас векторов признаков (выпуклостей), мы всегда можем добавить новые выпуклости, а в пространстве признаков это новые независимые векторы. Таким образом, пространство признаков не может быть конечномерным; оно должно быть бесконечным.K z ( x ) = K ( z , x ) K z zzKz(x)=K(z,x)KZZ

доказательство

Мы используем индукцию. Предположим, у вас есть произвольный набор точек таких как векторы линейно независимы в пространстве признаков. Теперь найдите точку отличную от этих точек, фактически на расстоянии миллиарда сигм от всех них. Мы утверждаем, что линейно независима от первых векторов признаков . Φ( x (x(1),Икс(2),...,Икс(N) x ( n + 1 ) nΦ( x ( n + 1 ) )nΦ( x ( i ) )Φ(Икс(я))Икс(N+1)NΦ(Икс(N+1))NΦ(Икс(я))

Доказательство от противного. Предположим, что наоборот

Φ(Икс(N+1))знак равноΣязнак равно1NαяΦ(Икс(я))

Теперь возьмите внутреннее произведение с обеих сторон с произвольным . По тождеству получаемФ ( г ) , Ф ( х ) = К ( г , х )ИксΦ(z),Φ(x)=K(z,x)

K(x(n+1),x)=i=1nαiK(x(i),x)

Здесь - свободная переменная, поэтому это уравнение является тождеством, утверждающим, что две функции одинаковы. В частности, в нем говорится, что гауссов с центром в может быть представлен в виде линейной комбинации гауссианов в других точках . Геометрически очевидно, что невозможно создать гауссовский выпуклость с центром в одной точке из конечной комбинации гауссовских выпуклостей с центром в других точках, особенно когда все эти другие гауссовские выпуклости находятся на расстоянии миллиарда сигм. Таким образом, наше предположение о линейной зависимости привело к противоречию, как мы намеревались показать.x ( n + 1 ) x ( i )xx(n+1)x(i)


6
Идеальное разделение невозможно. Контрпример: (0,0, ClasssA), (0,0, ClassB). Удачи в разделении этого набора данных!
Anony-Mousse

4
Это ... технически правильно, лучший вид правильно! Имейте upvote. Я добавлю заметку в пост.
Пол

3
(Я думаю, что ваша точка зрения имеет смысл, если вам требуется минимальное расстояние между выборками разных классов. Возможно, стоит отметить, что в этом сценарии SVM становится классификатором ближайшего соседа)
Anony-Mousse

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

@Paul Что касается вашего раздела 2, у меня есть вопрос. Пусть будет представителем в нашей RKHS для обучающей точки и для произвольной новой точки так что , так что функция для некоторого . Для меня это похоже на то, что версия в пространстве функций находится в пространстве столбцов для линейной регрессии, и именно отсюда и происходит линейность. Это описание кажется точным? Я все еще очень много изучаю этот материал RKHS. х ( я ) к й й у ( х ) = Σ я ш я у ( я )к я , к й= Σ я ш я у ( я )kix(i)kxxу = Σ я г я кy^(x)=iwiy(i)ki,kx=iwiy(i)ki(x)г яR у Йy^=izikiziRy^X
JLD

12

Матрица ядра гауссова ядра всегда имеет полный ранг для различных . Это означает, что каждый раз, когда вы добавляете новый пример, ранг увеличивается на . Самый простой способ увидеть это, если вы установите очень маленьким. Тогда матрица ядра почти диагональна. 1σИкс1,,,,,Иксм1σ

Тот факт, что ранг всегда увеличивается на единицу, означает, что все проекции в пространстве признаков линейно независимы (не ортогональны, но независимы). Поэтому каждый пример добавляет новое измерение в диапазон проекций . Поскольку вы можете добавлять бесконечно много примеров, пространство объектов должно иметь бесконечное измерение. Интересно, что все проекции входного пространства в пространство признаков лежат на сфере, поскольку , Тем не менее, геометрия сферы плоская. Вы можете прочитать больше об этом вΦ ( х 1 ) , . , , , Ф ( х м ) | | Ф ( х ) | | ² Н = к ( х , х ) = 1Φ(Икс)Φ(Икс1),,,,,Φ(Иксм)||Φ(Икс)||ЧАС²знак равноК(Икс,Икс)знак равно1

Burges, CJC (1999). Геометрия и инвариантность в методах на основе ядра. В B. Schölkopf, CJC Burges & AJ Smola (Eds.), «Достижения в области методов ядра, поддерживающие векторное обучение» (стр. 89–116). MIT Press.


Я до сих пор не понимаю этого, но ты все равно получил повышение :)
stmax

Вы имеете в виду, вы не понимаете, почему геометрия плоская или почему она бесконечномерна? Спасибо за отзыв.
Fabee

Если у меня есть 100 примеров, мое пространство признаков 100-мерно или уже бесконечно? Почему я могу добавить «несчетно» бесконечно много примеров? Разве это не исчисляемая бесконечность? Почему счетные / неисчисляемые значения здесь имеют значение? Я даже не пытался думать о «плоской сфере»: D Спасибо за ваши объяснения!
stmax

5
Я надеюсь, что вы верите мне, что каждый новый пример линейно независим от всех предыдущих (за исключением того же самого ). В вы не можете сделать это: каждая точка за пределами должна быть линейно зависимой от других. Для гауссовой RKHS, если у вас есть 100 различных примеров, они охватывают 100-мерное подпространство бесконечномерного пространства. Таким образом, промежуток конечномерен, но пространство признаков, в котором они живут, бесконечно. Бесконечность неисчислима, потому что каждая новая точка в является новым измерением и в есть несчетное количество точек . R n n R n R nИксрNNрNрN
Fabee

@fabee: Я пробовал это по-другому, кажется, ты много знаешь об этом, можешь посмотреть на мой ответ, понял ли я его более или менее «правильно»?

5

Для фона и обозначений я обращаюсь к ответу Как рассчитать границу решения из опорных векторов? ,

Таким образом, признаками в «исходном» пространстве являются векторы , двоичный результат и множители Лагранжа - .y i{ - 1 , + 1 } α iИксяYя{-1,+1}αя

Известно, что Ядро может быть записано как (' ' представляет внутренний продукт.) Где является (неявным и неизвестным) преобразование в новое пространство функций.ΦК(Икс,Y)знак равноΦ(Икс)Φ(Y)Φ

Я попытаюсь дать некоторое «интуитивное» объяснение того, как выглядит этот , так что этот ответ не является формальным доказательством, он просто хочет дать некоторое представление о том, как я думаю, что это работает. Не стесняйтесь поправлять меня, если я ошибаюсь. Основой для моего объяснения является раздел 2.2.1 этого PDFΦ

Я должен «трансформировать» свое пространство признаков (то есть мой ) в какое-то «новое» пространство признаков, в котором будет решаться линейное разделение.Икся

Для каждого наблюдения я определяю функции , поэтому у меня есть функция для каждого элемента моей обучающей выборки. Эти функции охватывают векторное пространство. Векторное пространство охватывает , обратите внимание, что . ( - размер обучающей выборки).Иксяφя(Икс)знак равноК(Икся,Икс)φяφяφяВзнак равноsпaN(φя,язнак равно1,2,...N)N

Я попытаюсь доказать, что это векторное пространство является векторным пространством, в котором будет возможно линейное разделение. В По определению диапазона каждый вектор в векторном пространстве может быть записан как линейная комбинация , то есть: , где - действительные числа. Таким образом, фактическиВφяΣязнак равно1NγяφяγяВзнак равно{vзнак равноΣязнак равно1Nγяφя|(γ1,γ2,...γN)рN}

Следует отметить , что являются координатами вектора в векторном пространстве .(γ1,γ2,...γN)vВ

N - размер обучающей выборки, и, следовательно, размерность векторного пространства может до , в зависимости от того, являются ли линейно независимыми. Поскольку (см. Выше, мы определили таким образом), это означает, что размерность зависит от используемого ядра и может доходить до размера обучающей выборки.ВNφяφя(Икс)знак равноК(Икся,Икс)φВ

Если ядро ​​«достаточно сложное», то будут независимыми, и тогда размерность будет равна , размеру обучающей выборки.φя(Икс)знак равноК(Икся,Икс)ВN

Преобразование, которое отображает мое исходное пространство объектов в , определяется какВ

Φ:Иксяφя(Икс)знак равноК(Икся,Икс) .

Эта карта отображает мое исходное пространство объектов в векторное пространство, которое может иметь размер, который соответствует размеру моего обучающего образца. ΦИтак, отображает каждое наблюдение в моем тренировочном образце в векторное пространство, где векторы являются функциями. Вектор из моей обучающей выборки «отображается» на вектор в , а именно вектор с координатами, равными нулю, за исключением того, что координата равна 1.ΦИксяВφяя

Очевидно, что это преобразование (a) зависит от ядра, (b) зависит от значений в обучающей выборке и (c) может, в зависимости от моего ядра, иметь размерность, которая соответствует размеру моей обучающей выборки, и ( d) векторы выглядят как , где - действительные числа.ИксяВΣязнак равно1Nγяφяγя

Глядя на функцию в разделе Как рассчитать границу решения по опорным векторам? видно, что . Граница решения, найденная SVM, равна .е(Икс)е(Икс)знак равноΣяYяαяφя(Икс)+бе(Икс)знак равно0

Другими словами, - это линейная комбинация а - это линейная разделяющая гиперплоскость в пространстве : это конкретный выбор а именно: ! е(Икс)φя е(Икс)знак равно0Вγяγязнак равноαяYя

В известны из наших наблюдений являются множителями Лагранжа , что SVM нашла. Другими словами, SVM находит, используя ядро ​​и решая задачу квадратичного программирования, линейное разделение в -пространстве.yiαiV

Это мое интуитивное понимание того, как «уловка ядра» позволяет «неявно» трансформировать исходное пространство признаков в новое пространство признаков с другим измерением. Это измерение зависит от используемого вами ядра, и для ядра RBF это измерение может доходить до размера обучающей выборки. Поскольку тренировочные образцы могут иметь любой размер, он может доходить до «бесконечного» . Очевидно, что в пространствах с очень большой размерностью риск переоснащения возрастет.V

Таким образом, ядра - это техника, которая позволяет SVM преобразовать ваше пространство признаков, см. Также Что делает ядро ​​Гаусса таким волшебным для PCA, а также в целом?


+1 это солидно. Я перевел этот материал в свой собственный стиль изложения и добавил его в свой ответ.
Пол

5

К сожалению, объяснение fcop совершенно неверно. Прежде всего он говорит: «Известно, что ядро ​​может быть записано как ... где ... является (неявным и неизвестным) преобразованием в новое пространство функций». Это НЕ неизвестно. Фактически это пространство, в которое отображаются объекты, и это пространство, которое может быть бесконечномерным, как в случае с RBF. Все, что делает ядро, - это берет внутреннее произведение этого преобразованного вектора признаков с преобразованным вектором признаков обучающего примера и применяет некоторую функцию к результату. Таким образом, он неявно представляет этот вектор признаков более высокой размерности. Например, подумайте о написании (x + y) ^ 2 вместо x ^ 2 + 2xy + y ^ 2. Теперь подумайте, какой бесконечный ряд неявно представлен экспоненциальной функцией ... там у вас есть бесконечное пространство признаков.

Правильный способ думать о SVM состоит в том, что вы отображаете свои объекты в возможно бесконечномерное пространство объектов, которое оказывается неявно представимым в еще одном конечном пространстве пространственных объектов «Ядро», размер которого может быть таким же большим, как размер обучающего набора.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.