Какова интуиция, лежащая в основе того факта, что 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
Примечание. В этом разделе нотацияотносится к произвольному набору източек, а не к обучающим данным. Это чистая математика; данные обучения вообще не фигурируют в этом разделе! н
Методы ядра никогда не находят или не вычисляют пространство пространственных объектов или отображение явно. Методы обучения ядра, такие как SVM, не нуждаются в них для работы; они нужны только функции ядра .K
Тем не менее, можно записать формулу для . Пространство объектов, на которое отображается является абстрактным (и, возможно, бесконечномерным), но, по сути, отображение просто использует ядро для выполнения некоторого простого проектирования объектов. Что касается конечного результата, то модель, которую вы в конечном итоге изучаете, используя ядра, ничем не отличается от традиционной разработки функций, широко применяемой в линейной регрессии и моделировании GLM, такой как взятие журнала переменной положительного предиктора перед подачей ее в формулу регрессии. Математика в основном предназначена для того, чтобы убедиться, что ядро хорошо работает с алгоритмом SVM, который имеет свои превозносимые преимущества разреженности и хорошего масштабирования для больших наборов данных.Φ
Если вы все еще заинтересованы, вот как это работает. По сути, мы берем тождество, которое хотим сохранить: и построить пространство и внутреннее произведение так, чтобы оно соответствовало определению. Для этого мы определяем абстрактное векторное пространство где каждый вектор является функцией от пространства, в котором живут данные, , до действительных чисел . Вектор в - это функция, образованная из конечной линейной комбинации срезов ядра: Удобно написать более компактно, как У Й Р е V е ( х ) = п Σ я = 1 α я К ( х ( я ) , х ) е е = п Σ я = 1 α i K x ( i ) K x
Внутренний продукт в пространстве - это не обычный точечный продукт, а абстрактный внутренний продукт, основанный на ядре:
С пространством объектов, определенным таким образом, является отображением , переводящим каждую точку в "срез ядра" в этой точке:X → V x
Вы можете доказать, что - внутреннее произведение, когда - положительно определенное ядро. Смотрите эту статью для деталей. (Престижность Копенсу за то, что он указал на это!)K
Этот ответ дает хорошее объяснение линейной алгебры, но здесь есть геометрическая перспектива с интуицией и доказательством.
Для любой фиксированной точки у нас есть функция среза ядра . Граф - это просто гауссовский удар с центром в . Теперь, если бы пространство пространственных объектов было только конечномерным, это означало бы, что мы могли бы взять конечный набор выступов в фиксированном наборе точек и сформировать любой удар по Гауссу где-либо еще. Но ясно, что мы никак не можем это сделать; Вы не можете сделать новый удар из старых ударов, потому что новый удар может быть очень далеко от старых. Таким образом, независимо от того, сколько у нас векторов признаков (выпуклостей), мы всегда можем добавить новые выпуклости, а в пространстве признаков это новые независимые векторы. Таким образом, пространство признаков не может быть конечномерным; оно должно быть бесконечным.K z ( x ) = K ( z , x ) K z z
Мы используем индукцию. Предположим, у вас есть произвольный набор точек таких как векторы линейно независимы в пространстве признаков. Теперь найдите точку отличную от этих точек, фактически на расстоянии миллиарда сигм от всех них. Мы утверждаем, что линейно независима от первых векторов признаков . Φ( x ( x ( n + 1 ) nΦ( x ( n + 1 ) )nΦ( x ( i ) )
Доказательство от противного. Предположим, что наоборот
Теперь возьмите внутреннее произведение с обеих сторон с произвольным . По тождеству получаем ⟨ Ф ( г ) , Ф ( х ) ⟩ = К ( г , х )
Здесь - свободная переменная, поэтому это уравнение является тождеством, утверждающим, что две функции одинаковы. В частности, в нем говорится, что гауссов с центром в может быть представлен в виде линейной комбинации гауссианов в других точках . Геометрически очевидно, что невозможно создать гауссовский выпуклость с центром в одной точке из конечной комбинации гауссовских выпуклостей с центром в других точках, особенно когда все эти другие гауссовские выпуклости находятся на расстоянии миллиарда сигм. Таким образом, наше предположение о линейной зависимости привело к противоречию, как мы намеревались показать.x ( n + 1 ) x ( i )
Матрица ядра гауссова ядра всегда имеет полный ранг для различных . Это означает, что каждый раз, когда вы добавляете новый пример, ранг увеличивается на . Самый простой способ увидеть это, если вы установите очень маленьким. Тогда матрица ядра почти диагональна. 1σ
Тот факт, что ранг всегда увеличивается на единицу, означает, что все проекции в пространстве признаков линейно независимы (не ортогональны, но независимы). Поэтому каждый пример добавляет новое измерение в диапазон проекций . Поскольку вы можете добавлять бесконечно много примеров, пространство объектов должно иметь бесконечное измерение. Интересно, что все проекции входного пространства в пространство признаков лежат на сфере, поскольку , Тем не менее, геометрия сферы плоская. Вы можете прочитать больше об этом вΦ ( х 1 ) , . , , , Ф ( х м ) | | Ф ( х ) | | ² Н = к ( х , х ) = 1
Burges, CJC (1999). Геометрия и инвариантность в методах на основе ядра. В B. Schölkopf, CJC Burges & AJ Smola (Eds.), «Достижения в области методов ядра, поддерживающие векторное обучение» (стр. 89–116). MIT Press.
Для фона и обозначений я обращаюсь к ответу Как рассчитать границу решения из опорных векторов? ,
Таким образом, признаками в «исходном» пространстве являются векторы , двоичный результат и множители Лагранжа - .y i ∈ { - 1 , + 1 } α i
Известно, что Ядро может быть записано как (' ' представляет внутренний продукт.) Где является (неявным и неизвестным) преобразование в новое пространство функций.⋅ Φ
Я попытаюсь дать некоторое «интуитивное» объяснение того, как выглядит этот , так что этот ответ не является формальным доказательством, он просто хочет дать некоторое представление о том, как я думаю, что это работает. Не стесняйтесь поправлять меня, если я ошибаюсь. Основой для моего объяснения является раздел 2.2.1 этого PDF
Я должен «трансформировать» свое пространство признаков (то есть мой ) в какое-то «новое» пространство признаков, в котором будет решаться линейное разделение.
Для каждого наблюдения я определяю функции , поэтому у меня есть функция для каждого элемента моей обучающей выборки. Эти функции охватывают векторное пространство. Векторное пространство охватывает , обратите внимание, что . ( - размер обучающей выборки).
Я попытаюсь доказать, что это векторное пространство является векторным пространством, в котором будет возможно линейное разделение. По определению диапазона каждый вектор в векторном пространстве может быть записан как линейная комбинация , то есть: , где - действительные числа. Таким образом, фактически
Следует отметить , что являются координатами вектора в векторном пространстве .
- размер обучающей выборки, и, следовательно, размерность векторного пространства может до , в зависимости от того, являются ли линейно независимыми. Поскольку (см. Выше, мы определили таким образом), это означает, что размерность зависит от используемого ядра и может доходить до размера обучающей выборки.
Если ядро «достаточно сложное», то будут независимыми, и тогда размерность будет равна , размеру обучающей выборки.
Преобразование, которое отображает мое исходное пространство объектов в , определяется как
.
Эта карта отображает мое исходное пространство объектов в векторное пространство, которое может иметь размер, который соответствует размеру моего обучающего образца. Итак, отображает каждое наблюдение в моем тренировочном образце в векторное пространство, где векторы являются функциями. Вектор из моей обучающей выборки «отображается» на вектор в , а именно вектор с координатами, равными нулю, за исключением того, что координата равна 1.
Очевидно, что это преобразование (a) зависит от ядра, (b) зависит от значений в обучающей выборке и (c) может, в зависимости от моего ядра, иметь размерность, которая соответствует размеру моей обучающей выборки, и ( d) векторы выглядят как , где - действительные числа.
Глядя на функцию в разделе Как рассчитать границу решения по опорным векторам? видно, что . Граница решения, найденная SVM, равна .
Другими словами, - это линейная комбинация а - это линейная разделяющая гиперплоскость в пространстве : это конкретный выбор а именно: !
В известны из наших наблюдений являются множителями Лагранжа , что SVM нашла. Другими словами, SVM находит, используя ядро и решая задачу квадратичного программирования, линейное разделение в -пространстве.
Это мое интуитивное понимание того, как «уловка ядра» позволяет «неявно» трансформировать исходное пространство признаков в новое пространство признаков с другим измерением. Это измерение зависит от используемого вами ядра, и для ядра RBF это измерение может доходить до размера обучающей выборки. Поскольку тренировочные образцы могут иметь любой размер, он может доходить до «бесконечного» . Очевидно, что в пространствах с очень большой размерностью риск переоснащения возрастет.
Таким образом, ядра - это техника, которая позволяет SVM преобразовать ваше пространство признаков, см. Также Что делает ядро Гаусса таким волшебным для PCA, а также в целом?
К сожалению, объяснение fcop совершенно неверно. Прежде всего он говорит: «Известно, что ядро может быть записано как ... где ... является (неявным и неизвестным) преобразованием в новое пространство функций». Это НЕ неизвестно. Фактически это пространство, в которое отображаются объекты, и это пространство, которое может быть бесконечномерным, как в случае с RBF. Все, что делает ядро, - это берет внутреннее произведение этого преобразованного вектора признаков с преобразованным вектором признаков обучающего примера и применяет некоторую функцию к результату. Таким образом, он неявно представляет этот вектор признаков более высокой размерности. Например, подумайте о написании (x + y) ^ 2 вместо x ^ 2 + 2xy + y ^ 2. Теперь подумайте, какой бесконечный ряд неявно представлен экспоненциальной функцией ... там у вас есть бесконечное пространство признаков.
Правильный способ думать о SVM состоит в том, что вы отображаете свои объекты в возможно бесконечномерное пространство объектов, которое оказывается неявно представимым в еще одном конечном пространстве пространственных объектов «Ядро», размер которого может быть таким же большим, как размер обучающего набора.