49
SVM и задача линейной классификации SVM и разделение нелинейными функциями SVM и kernel methods Сергей Николенко Computer Science Club, Екатеринбург, 2011 Сергей Николенко SVM и kernel methods

20111202 machine learning_nikolenko_lecture08

Embed Size (px)

Citation preview

Page 1: 20111202 machine learning_nikolenko_lecture08

SVM и задача линейной классификацииSVM и разделение нелинейными функциями

SVM и kernel methods

Сергей Николенко

Computer Science Club, Екатеринбург, 2011

Сергей Николенко SVM и kernel methods

Page 2: 20111202 machine learning_nikolenko_lecture08

SVM и задача линейной классификацииSVM и разделение нелинейными функциями

Выпуклые оболочки и максимизация зазораДуальные задачиКогда данные линейно неразделимы

Outline

1 SVM и задача линейной классификацииВыпуклые оболочки и максимизация зазораДуальные задачиКогда данные линейно неразделимы

2 SVM и разделение нелинейными функциямиСхема работы SVMФункциональный анализ. ЯдраРезюме

Сергей Николенко SVM и kernel methods

Page 3: 20111202 machine learning_nikolenko_lecture08

SVM и задача линейной классификацииSVM и разделение нелинейными функциями

Выпуклые оболочки и максимизация зазораДуальные задачиКогда данные линейно неразделимы

Постановка задачи

Метод опорных векторов решает задачу классификации.

Каждый элемент данных — точка в n–мерномпространстве Rn.

Формально: есть точки xi , i = 1..m, у точек есть меткиyi = ±1.Мы интересуемся: можно ли разделить данные(n − 1)–мерной гиперплоскостью, а также хотим найти этугиперплоскость.

В частности, именно так мы обучали линейныйперцептрон.

Это всё?

Сергей Николенко SVM и kernel methods

Page 4: 20111202 machine learning_nikolenko_lecture08

SVM и задача линейной классификацииSVM и разделение нелинейными функциями

Выпуклые оболочки и максимизация зазораДуальные задачиКогда данные линейно неразделимы

Постановка задачи

Нет, ещё хочется научиться разделять этойгиперплоскостью как можно лучше.

То есть желательно, чтобы два разделённых классалежали как можно дальше от гиперплоскости.

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

Сергей Николенко SVM и kernel methods

Page 5: 20111202 machine learning_nikolenko_lecture08

SVM и задача линейной классификацииSVM и разделение нелинейными функциями

Выпуклые оболочки и максимизация зазораДуальные задачиКогда данные линейно неразделимы

Пример

Сергей Николенко SVM и kernel methods

Page 6: 20111202 machine learning_nikolenko_lecture08

SVM и задача линейной классификацииSVM и разделение нелинейными функциями

Выпуклые оболочки и максимизация зазораДуальные задачиКогда данные линейно неразделимы

Выпуклые оболочки

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

Формально это превращается в задачу квадратичнойоптимизации:

minα

||c − d ||2, где c =∑yi=1

αixi , d =∑

yi=−1

αixi

при условии

∑yi=1

αi =∑

yi=−1

αi = 1, αi ≥ 0.

Эту задачу можно решать общими оптимизационнымиалгоритмами.

Сергей Николенко SVM и kernel methods

Page 7: 20111202 machine learning_nikolenko_lecture08

SVM и задача линейной классификацииSVM и разделение нелинейными функциями

Выпуклые оболочки и максимизация зазораДуальные задачиКогда данные линейно неразделимы

Пример

Сергей Николенко SVM и kernel methods

Page 8: 20111202 machine learning_nikolenko_lecture08

SVM и задача линейной классификацииSVM и разделение нелинейными функциями

Выпуклые оболочки и максимизация зазораДуальные задачиКогда данные линейно неразделимы

Максимизация зазора

Другой подход: максимизировать зазор (margin) междудвумя параллельными опорными плоскостями, затемпровести им параллельную на равных расстояниях от них.

Гиперплоскость называется опорной для множества точекX , если все точки из X лежат под одну сторону от этойгиперплоскости.

Формально: гиперплоскость (w, b) опорная, еслиw · xi − b ≥ 1 для некоторых w и b и для всех xi ∈ X .

Для другой гиперплоскости, с метками −1, будемтребовать w · xi − b ≤ −1.

Сергей Николенко SVM и kernel methods

Page 9: 20111202 machine learning_nikolenko_lecture08

SVM и задача линейной классификацииSVM и разделение нелинейными функциями

Выпуклые оболочки и максимизация зазораДуальные задачиКогда данные линейно неразделимы

Пример

Сергей Николенко SVM и kernel methods

Page 10: 20111202 machine learning_nikolenko_lecture08

SVM и задача линейной классификацииSVM и разделение нелинейными функциями

Выпуклые оболочки и максимизация зазораДуальные задачиКогда данные линейно неразделимы

Максимизация зазора

Разница (зазор, margin) между этими гиперплоскостямиравна 2/||w|| (проверьте!).

Поэтому получается тоже задача квадратичногопрограммирования:

minw,b

{||w||2

}при условии w ·xi ≥ b+1, yi = 1; w ·xi ≤ b−1, yi = −1,

или просто yi (w · xi − b) ≥ 1.

Сергей Николенко SVM и kernel methods

Page 11: 20111202 machine learning_nikolenko_lecture08

SVM и задача линейной классификацииSVM и разделение нелинейными функциями

Выпуклые оболочки и максимизация зазораДуальные задачиКогда данные линейно неразделимы

Сравнение двух методов

В чём разница между двумя методами? Можете ли выпридумать пример, на котором эти два метода даютразные результаты?

Сергей Николенко SVM и kernel methods

Page 12: 20111202 machine learning_nikolenko_lecture08

SVM и задача линейной классификацииSVM и разделение нелинейными функциями

Выпуклые оболочки и максимизация зазораДуальные задачиКогда данные линейно неразделимы

Сравнение двух методов

В чём разница между двумя методами? Можете ли выпридумать пример, на котором эти два метода даютразные результаты?

Это совершенно одно и то же. На самом деле эти задачидуальны друг к другу (см. ниже).

Решать можно как одну, так и другую, и в этом случае нетпричины предпочитать метод опорных векторов(плоскостей). Но он может и больше...

Сергей Николенко SVM и kernel methods

Page 13: 20111202 machine learning_nikolenko_lecture08

SVM и задача линейной классификацииSVM и разделение нелинейными функциями

Выпуклые оболочки и максимизация зазораДуальные задачиКогда данные линейно неразделимы

Результаты

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

В каком-то смысле в решениях с «толстыми»гиперплоскостями между данными содержится большеинформации, чем в «тонких», потому что «толстых»меньше.

Это всё можно статистически доказать (мы не будем).

Сергей Николенко SVM и kernel methods

Page 14: 20111202 machine learning_nikolenko_lecture08

SVM и задача линейной классификацииSVM и разделение нелинейными функциями

Выпуклые оболочки и максимизация зазораДуальные задачиКогда данные линейно неразделимы

Пример

Сергей Николенко SVM и kernel methods

Page 15: 20111202 machine learning_nikolenko_lecture08

SVM и задача линейной классификацииSVM и разделение нелинейными функциями

Выпуклые оболочки и максимизация зазораДуальные задачиКогда данные линейно неразделимы

Дуальные задачи

Напомним, что такое дуальные задачи.

Прямая задача оптимизации:

min {f (x)} при условии h(x) = 0, g(x) ≤ 0, x ∈ X .

Для дуальной задачи вводим параметры λ,соответствующие равенствам, и µ, соответствующиенеравенствам.

Сергей Николенко SVM и kernel methods

Page 16: 20111202 machine learning_nikolenko_lecture08

SVM и задача линейной классификацииSVM и разделение нелинейными функциями

Выпуклые оболочки и максимизация зазораДуальные задачиКогда данные линейно неразделимы

Дуальные задачи

Прямая задача оптимизации:

min {f (x)} при условии h(x) = 0, g(x) ≤ 0, x ∈ X .

Дуальная задача оптимизации:

min {φ(λ, µ)} при условии µ ≥ 0,

где φ(λ, µ) = infx∈X

{f (x) + λ>h(x) + µ>g(x)

}.

Сергей Николенко SVM и kernel methods

Page 17: 20111202 machine learning_nikolenko_lecture08

SVM и задача линейной классификацииSVM и разделение нелинейными функциями

Выпуклые оболочки и максимизация зазораДуальные задачиКогда данные линейно неразделимы

Дуальные задачи

Тогда, если (�λ, �µ) – допустимое решение дуальной задачи,а �x – допустимое решение прямой, то

φ(�λ, �µ) = infx∈X

{f (x) + �λ>h(x) + �µ>g(x)

}≤

≤ f (�x) + �λ>h(�x) + �µ>g(�x) ≤ f (�x).

Это называется слабой дуальностью (только ≤), но вомногих случаях достигается и равенство.

Сергей Николенко SVM и kernel methods

Page 18: 20111202 machine learning_nikolenko_lecture08

SVM и задача линейной классификацииSVM и разделение нелинейными функциями

Выпуклые оболочки и максимизация зазораДуальные задачиКогда данные линейно неразделимы

Дуальные задачи

Для линейного программирования прямая задача:

min>x при условии Ax = b, x ∈ X = {x ≤ 0}.

Тогда дуальная задача получается так:

φ(λ) = infx≥0

{c>x + λ>(b − Ax)

}=

= λ>b + infx≥0

{(c> − λ>A)x

}=

=

{λ>b, если c> − λ>A ≥ 0,

−∞ в противном случае.

Сергей Николенко SVM и kernel methods

Page 19: 20111202 machine learning_nikolenko_lecture08

SVM и задача линейной классификацииSVM и разделение нелинейными функциями

Выпуклые оболочки и максимизация зазораДуальные задачиКогда данные линейно неразделимы

Дуальные задачи

Для линейного программирования прямая задача:

min{

c>x}

при условии Ax = b, x ∈ X = {x ≤ 0}.

Дуальная задача:

max{

b>λ}

при условии A>λ ≤ c , λ не ограничены.

Сергей Николенко SVM и kernel methods

Page 20: 20111202 machine learning_nikolenko_lecture08

SVM и задача линейной классификацииSVM и разделение нелинейными функциями

Выпуклые оболочки и максимизация зазораДуальные задачиКогда данные линейно неразделимы

Дуальные задачи

Для квадратичного программирования прямая задача:

min{12x>Qx + c>x

}при условии Ax ≤ b,

где Q – положительно полуопределённая матрица (т.е.x>Qx ≥ 0 всегда).

Дуальная задача (проверьте):

max{12µ>Dµ+ µ>d −

12c>Q−1c

}при условии c ≥ 0,

где D = −AQ−1A> (отрицательно определённая матрица),d = −b − AQ−1c .

Сергей Николенко SVM и kernel methods

Page 21: 20111202 machine learning_nikolenko_lecture08

SVM и задача линейной классификацииSVM и разделение нелинейными функциями

Выпуклые оболочки и максимизация зазораДуальные задачиКогда данные линейно неразделимы

Постановка задачи

Все эти методы работают, когда данные действительнолинейно разделимы.

А что делать, когда их всё-таки немножко не получаетсяразделить?

Первый вопрос: что делать для первого метода, методавыпуклых оболочек?

Сергей Николенко SVM и kernel methods

Page 22: 20111202 machine learning_nikolenko_lecture08

SVM и задача линейной классификацииSVM и разделение нелинейными функциями

Выпуклые оболочки и максимизация зазораДуальные задачиКогда данные линейно неразделимы

Редуцированные выпуклые оболочки

Вместо обычных выпуклых оболочек можно рассматриватьредуцированные (reduced), у которых коэффициентыограничены не 1, а сильнее:

c =∑yi=1

αixi , 0 ≤ αi ≤ D.

Тогда для достаточно малых D редуцированные выпуклыеоболочки не будут пересекаться.

И мы будем искать оптимальную гиперплоскость междуредуцированными выпуклыми оболочками.

Сергей Николенко SVM и kernel methods

Page 23: 20111202 machine learning_nikolenko_lecture08

SVM и задача линейной классификацииSVM и разделение нелинейными функциями

Выпуклые оболочки и максимизация зазораДуальные задачиКогда данные линейно неразделимы

Пример

Сергей Николенко SVM и kernel methods

Page 24: 20111202 machine learning_nikolenko_lecture08

SVM и задача линейной классификацииSVM и разделение нелинейными функциями

Выпуклые оболочки и максимизация зазораДуальные задачиКогда данные линейно неразделимы

Для метода опорных векторов

Естественно, для дуального метода опорных векторов тоженадо что-то изменить. Что?

Сергей Николенко SVM и kernel methods

Page 25: 20111202 machine learning_nikolenko_lecture08

SVM и задача линейной классификацииSVM и разделение нелинейными функциями

Выпуклые оболочки и максимизация зазораДуальные задачиКогда данные линейно неразделимы

Для метода опорных векторов

Естественно, для дуального метода опорных векторов тоженадо что-то изменить. Что?

Мы просто добавим в оптимизирующуюся функциюнеотрицательную ошибку (slack):

minw,b

{||w||2 + C

m∑i=1

zi

}при условии yi (w · xi − b) + zi ≥ 1.

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

Сергей Николенко SVM и kernel methods

Page 26: 20111202 machine learning_nikolenko_lecture08

SVM и задача линейной классификацииSVM и разделение нелинейными функциями

Выпуклые оболочки и максимизация зазораДуальные задачиКогда данные линейно неразделимы

Пример

Сергей Николенко SVM и kernel methods

Page 27: 20111202 machine learning_nikolenko_lecture08

SVM и задача линейной классификацииSVM и разделение нелинейными функциями

Выпуклые оболочки и максимизация зазораДуальные задачиКогда данные линейно неразделимы

Дуальная переформулировка

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

minα

12

n∑i=1

m∑j=1

yiyjαiαj (xi · xj) −

m∑i=1

αi ,

гдеm∑

i=1

yiαi = 0, 0 ≤ αi ≤ C .

}

Эта формулировка чаще всего используется в теорииsupport vector machines.

Единственное отличие от линейно разделимого случая –верхняя граница C на αj , т.е. на влияние каждой точки.

Сергей Николенко SVM и kernel methods

Page 28: 20111202 machine learning_nikolenko_lecture08

SVM и задача линейной классификацииSVM и разделение нелинейными функциями

Выпуклые оболочки и максимизация зазораДуальные задачиКогда данные линейно неразделимы

Итого

Метод опорных векторов отлично подходит для линейнойоптимизации.

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

Точно так же, как и в дуальном случаей, если бы мыпросто искали середину между выпуклыми оболочками.

Сергей Николенко SVM и kernel methods

Page 29: 20111202 machine learning_nikolenko_lecture08

SVM и задача линейной классификацииSVM и разделение нелинейными функциями

Схема работы SVMФункциональный анализ. ЯдраРезюме

Outline

1 SVM и задача линейной классификацииВыпуклые оболочки и максимизация зазораДуальные задачиКогда данные линейно неразделимы

2 SVM и разделение нелинейными функциямиСхема работы SVMФункциональный анализ. ЯдраРезюме

Сергей Николенко SVM и kernel methods

Page 30: 20111202 machine learning_nikolenko_lecture08

SVM и задача линейной классификацииSVM и разделение нелинейными функциями

Схема работы SVMФункциональный анализ. ЯдраРезюме

Введение

Часто бывает нужно разделять данные не тольколинейными функциями.

Что делать в таком случае?

Сергей Николенко SVM и kernel methods

Page 31: 20111202 machine learning_nikolenko_lecture08

SVM и задача линейной классификацииSVM и разделение нелинейными функциями

Схема работы SVMФункциональный анализ. ЯдраРезюме

Пример

Сергей Николенко SVM и kernel methods

Page 32: 20111202 machine learning_nikolenko_lecture08

SVM и задача линейной классификацииSVM и разделение нелинейными функциями

Схема работы SVMФункциональный анализ. ЯдраРезюме

Введение

Часто бывает нужно разделять данные не тольколинейными функциями.

Классический метод: развернуть нелинейнуюклассификацию в пространство большей размерности(feature space), а там запустить линейный классификатор.

Для этого просто нужно для каждого монома нужнойстепени ввести новую переменную.

Сергей Николенко SVM и kernel methods

Page 33: 20111202 machine learning_nikolenko_lecture08

SVM и задача линейной классификацииSVM и разделение нелинейными функциями

Схема работы SVMФункциональный анализ. ЯдраРезюме

Пример

Чтобы в двумерном пространстве [r , s] решить задачуклассификации квадратичной функцией, надо перейти впятимерное пространство:

[r , s] −→ [r , s, rs, r2, s2].

Или формальнее; определим θ : R2 → R5:θ(r , s) = (r , s, rs, r2, s2). Вектор в R5 теперь соответствуетквадратичной кривой общего положения в R2, а функцияклассификации выглядит как

f (x) = sign(θ(w) · θ(x) − b).

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

Сергей Николенко SVM и kernel methods

Page 34: 20111202 machine learning_nikolenko_lecture08

SVM и задача линейной классификацииSVM и разделение нелинейными функциями

Схема работы SVMФункциональный анализ. ЯдраРезюме

Проблемы с классическим подходом

Во-первых, количество переменных растётэкспоненциально.

Во-вторых, по большому счёту теряются преимуществатого, что гиперплоскость именно оптимальная; например,оверфиттинг опять становится проблемой.

Важное замечание: концептуально мы задачу уже решили.Остались технические сложности: как обращаться сгигантской размерностью. Но в них-то всё и дело.

Сергей Николенко SVM и kernel methods

Page 35: 20111202 machine learning_nikolenko_lecture08

SVM и задача линейной классификацииSVM и разделение нелинейными функциями

Схема работы SVMФункциональный анализ. ЯдраРезюме

Основная идея и схема работы SVM

Тривиальная схема алгоритма классификации такова:входной вектор x трасформируется во входной вектор вfeature space (большой размерности);в этом большом пространстве мы вычисляем опорныевекторы, решаем задачу разделения;потом по этой задаче классифицируем входной вектор.

Это нереально, потому что пространство слишкомбольшой размерности.

Сергей Николенко SVM и kernel methods

Page 36: 20111202 machine learning_nikolenko_lecture08

SVM и задача линейной классификацииSVM и разделение нелинейными функциями

Схема работы SVMФункциональный анализ. ЯдраРезюме

Основная идея и схема работы SVM

Оказывается, кое-какие шаги здесь можно переставить.Вот так:

опорные векторы вычисляются в исходном пространствемалой размерности;там же они перемножаются (сейчас увидим, что этозначит);и только потом мы делаем нелинейную трансформациютого, что получится;потом по этой задаче классифицируем входной вектор.

Осталось теперь объяснить, что всё это значит. :)

Сергей Николенко SVM и kernel methods

Page 37: 20111202 machine learning_nikolenko_lecture08

SVM и задача линейной классификацииSVM и разделение нелинейными функциями

Схема работы SVMФункциональный анализ. ЯдраРезюме

Постановка задачи

Напомним, что наша задача поставлена следующимобразом:

minα

12

n∑i=1

m∑j=1

yiyjαiαj (xi · xj) −

m∑i=1

αi ,

гдеm∑

i=1

yiαi = 0, 0 ≤ αi ≤ C .

}

Сергей Николенко SVM и kernel methods

Page 38: 20111202 machine learning_nikolenko_lecture08

SVM и задача линейной классификацииSVM и разделение нелинейными функциями

Схема работы SVMФункциональный анализ. ЯдраРезюме

Постановка задачи

Мы теперь хотим ввести некое отображение θ : Rn → RN ,N > n. Получится:

minα

12

n∑i=1

m∑j=1

yiyjαiαj (θ(xi ) · θ(xj)) −

m∑i=1

αi ,

гдеm∑

i=1

yiαi = 0, 0 ≤ αi ≤ C .

}

Сергей Николенко SVM и kernel methods

Page 39: 20111202 machine learning_nikolenko_lecture08

SVM и задача линейной классификацииSVM и разделение нелинейными функциями

Схема работы SVMФункциональный анализ. ЯдраРезюме

Теория Гильберта–Шмидта–Мерсера

Придётся немножко вспомнить (или изучить)функциональный анализ.

Мы хотим обобщить понятие скалярного произведения;давайте введём новую функцию, которая (минуятрансформацию) будет сразу вычислять скалярноепроизведение векторов в feature space:

K (u,v) := θ(u) · θ(v).

Сергей Николенко SVM и kernel methods

Page 40: 20111202 machine learning_nikolenko_lecture08

SVM и задача линейной классификацииSVM и разделение нелинейными функциями

Схема работы SVMФункциональный анализ. ЯдраРезюме

Теория Гильберта–Шмидта–Мерсера

Первый результат: любая симметрическая функцияK (u,v) ∈ L2 представляется в виде

K (u,v) =

∞∑i=1

λiθi (u) · θi (v),

где λi ∈ R — собственные числа, а θi — собственныевекторы интегрального оператора с ядром K , т.е.∫

K (u,v)θi (u)du = λiθi (v).

Сергей Николенко SVM и kernel methods

Page 41: 20111202 machine learning_nikolenko_lecture08

SVM и задача линейной классификацииSVM и разделение нелинейными функциями

Схема работы SVMФункциональный анализ. ЯдраРезюме

Теория Гильберта–Шмидта–Мерсера

Чтобы K задавало скалярное произведение, достаточно,чтобы все собственные числа были положительными. Асобственные числа положительны тогда и только тогда,когда (теорема Мерсера)∫ ∫

K (u,v)g(u)g(v)dudv > 0

для всех g таких, что∫

g2(u)du <∞.

Вот, собственно и всё. Теперь мы можем вместо подсчётаθ(u) · θ(v) в задаче квадратичного программированияпросто использовать подходящее ядро K (u,v).

Сергей Николенко SVM и kernel methods

Page 42: 20111202 machine learning_nikolenko_lecture08

SVM и задача линейной классификацииSVM и разделение нелинейными функциями

Схема работы SVMФункциональный анализ. ЯдраРезюме

Теория Гильберта–Шмидта–Мерсера

Итого задача наша выглядит так:

minα

12

n∑i=1

m∑j=1

yiyjαiαjK (xi ,xj) −

m∑i=1

αi ,

гдеm∑

i=1

yiαi = 0, 0 ≤ αi ≤ C .

}

Просто меняя ядро K , мы можем вычислять самыеразнообразные разделяющие поверхности.

Условия на то, чтобы K была подходящим ядром,задаются теоремой Мерсера.

Сергей Николенко SVM и kernel methods

Page 43: 20111202 machine learning_nikolenko_lecture08

SVM и задача линейной классификацииSVM и разделение нелинейными функциями

Схема работы SVMФункциональный анализ. ЯдраРезюме

Примеры ядер

Рассмотрим ядро

K (u,v) = (u · v)2.

Какое пространство ему соответствует?

Сергей Николенко SVM и kernel methods

Page 44: 20111202 machine learning_nikolenko_lecture08

SVM и задача линейной классификацииSVM и разделение нелинейными функциями

Схема работы SVMФункциональный анализ. ЯдраРезюме

Примеры ядер

После выкладок получается:

K (u,v) = (u · v)2 =

=(u21 , u

22 ,√2u1u2

)·(v21 , v

22 ,√2v1v2

).

Иначе говоря, линейная поверхность в новом пространствесоответствует квадратичной поверхности в исходном(эллипс, например).

Сергей Николенко SVM и kernel methods

Page 45: 20111202 machine learning_nikolenko_lecture08

SVM и задача линейной классификацииSVM и разделение нелинейными функциями

Схема работы SVMФункциональный анализ. ЯдраРезюме

Примеры ядер

Естественное обобщение: ядро K (u,v) = (u · v)d задаётпространство, оси которого соответствуют всемоднородным мономам степени d .

А как сделать пространство, соответствующеепроизвольной полиномиальной поверхности, необязательно однородной?

Сергей Николенко SVM и kernel methods

Page 46: 20111202 machine learning_nikolenko_lecture08

SVM и задача линейной классификацииSVM и разделение нелинейными функциями

Схема работы SVMФункциональный анализ. ЯдраРезюме

Примеры ядер

Поверхность, описывающаяся полиномом степени d :

K (u,v) = (u · v + 1)d .

Тогда линейная разделимость в feature space в точностисоответствует полиномиальной разделимости в базовомпространстве.

Сергей Николенко SVM и kernel methods

Page 47: 20111202 machine learning_nikolenko_lecture08

SVM и задача линейной классификацииSVM и разделение нелинейными функциями

Схема работы SVMФункциональный анализ. ЯдраРезюме

Примеры ядер

Нормальное распределение (radial basis function):

K (u,v) = e−||u−v||2

2σ .

Двухуровневая нейронная сеть:

K (u,v) = o(ηu · v + c),

где o — сигмоид.

Сергей Николенко SVM и kernel methods

Page 48: 20111202 machine learning_nikolenko_lecture08

SVM и задача линейной классификацииSVM и разделение нелинейными функциями

Схема работы SVMФункциональный анализ. ЯдраРезюме

Резюме

Вот какой получается в итоге алгоритм.1 Выбрать параметр C , от которого зависит акцент на

минимизации ошибки или на максимизации зазора.2 Выбрать ядро и параметры ядра, которые у него,

возможно, есть.3 Решить задачу квадратичного программирования.4 По полученным значениям опорных векторов определить b

(как? подумайте!).5 Новые точки классифицировать как

f (x) = sign(∑

i

yiαiK (x,xi ) − b).

Сергей Николенко SVM и kernel methods

Page 49: 20111202 machine learning_nikolenko_lecture08

SVM и задача линейной классификацииSVM и разделение нелинейными функциями

Схема работы SVMФункциональный анализ. ЯдраРезюме

Thank you!

Спасибо за внимание!

Сергей Николенко SVM и kernel methods