ݺߣ

ݺߣShare a Scribd company logo
Введение в Data Science
Занятие 5. Машины Опорных Векторов
Николай Анохин Михаил Фирулик
29 марта 2014 г.
План занятия
Идея maximum margin
Функции ядра
Мотивация
Обобщенные линейные модели
Обучающая выборка
X = (x1, . . . , xN )
Значения целевой переменной
t1, . . . , tN ; tj ∈ {−1, +1}
Функция принятия решения
y(x) = w φ(x) + b
Разделяющая плоскость (РП)
yi (xi)ti > 0
Решений много: как выбрать?
Максимальный зазор
Margin – наименьшее расстояние
между РП и обучающим объектом.
dj =
|y(xj )|
w
=
tj y(xj )
w
=
=
tj (w φ(xj ) + b)
w
Оптимальная РП
arg max
w,b
1
w
min
j
tj (w φ(xj ) + b)
Задача оптимизации
Расстояние от точки xj до РП
dj =
tj (w φ(xj ) + b)
w
Для точки xj , лежащей на минимальном расстоянии от РП положим
tj (w φ(xj ) + b) = 1
Задача оптимизации
1
2
w 2
→ min
w,b
при условиях
tj (w φ(xj ) + b) ≥ 1, ∀j ∈ 1, . . . , N
Метод множителей Лагранжа a = (a1, . . . , aN ) , ai ≥ 0.
L(w, b, a) =
1
2
w 2
−
N
j=1
aj [tj (w φ(xj ) + b) − 1]
Дифференцируем по w и b
w =
N
j=1
aj tj φ(xj ), 0 =
N
j=1
aj tj
Подставляем w и b в лагранжиан
Сопряженная задача
Сорпяженная задача
˜L(a) =
N
j=1
aj −
1
2
N
i=1
N
j=1
ai aj ti tj φ(xi ) φ(xj ) → max
a
при условиях
aj ≥ 0, ∀j ∈ 1, . . . , N
N
j=1
aj tj = 0
Наблюдения
k(xi , xj ) = φ(xi ) φ(xj ) – неотрицательно-определенная функция
лагранжиан ˜L(a) – выпуклая и ограниченная сверху функция
Классификация
Функция принятия решения
y(x) = w φ(x) + b =
N
j=1
aj tj φ(xj ) φ(x) + b =
N
j=1
aj tj k(xj , x) + b
Условия Karush-Kuhn-Tucker
aj ≥ 0
tj y(xj) − 1 ≥ 0
aj {tj y(xj) − 1} = 0
Опорным векторам xj ∈ S соответствуют aj > 0
b =
1
Ns
i∈S

ti −
j∈S
aj tj k(xi, xj)


Линейно-разделимый случай
Задача
Дана обучающая выборка
x1 x2 t
x1 1 −2 1
x2 1 2 −1
Найти оптимальную разделяющую плоскость, используя
сопряженную задачу оптимизации
Линейно-неразделимый случай
Смягчение ограничений
Переменные ξj ≥ 0 (slacks):
ξj =
0, если y(xj)tj ≥ 1
|tj − y(xj )|, иначе
Задача оптимизации
C
N
j=1
ξj +
1
2
w 2
→ min
w,b
Сопряженная задача
Сорпяженная задача
˜L(a) =
N
j=1
aj −
1
2
N
i=1
N
j=1
ai aj ti tj φ(xi ) φ(xj ) → max
a
при условиях
0 ≤ aj ≤ C, ∀j ∈ 1, . . . , N
N
j=1
aj tj = 0
Наблюдения
aj = 0 – правильно проклассифицированные объекты
aj = C – опорные векторы внутри отступа
0 < aj < C – опорные векторы на границе
Классификация
Функция принятия решения
y(x) =
N
j=1
aj tj k(xj , x) + b
Константа b
b =
1
NM
i∈M

ti −
j∈S
aj tj k(xi, xj)


Связь с линейными моделями
Задача оптимизации
N
j=1
ξj +
1
2
w 2
∼
N
j=1
E(y(xj ), tj ) + λ w 2
→ min
w,b
Hinge loss
E(yj , tj ) =
1 − yj tj , если yj tj > 1
0, иначе
Численные методы оптимизации
Chunking (Vapnik, 1982)
Decomposition (Osuna, 1996)
Sequential Minimal Optimization (Platt, 1999)
Задача регрессии
Переменные ξj ≥ 0, ˆξj ≥ 0 (slacks):
tj ≤ y(xj ) + + ξn
tj ≥ y(xj ) − − ˆξn
Задача оптимизации
C
N
j=1
(ˆξj + ξj ) +
1
2
w 2
→ min
w,b
Функции ядра
φ(x) – функция преобразования x из исходного пространства в
спрямляющее пространство
Проблема: количество признаков может быть очень велико
Идея Kernel Trick
В процессе тренировки и применения SVM исходные векторы x
используются только как аргументы в скалярном произведении
k(xi , xj ) = φ(xi ) φ(xj). Но в этом случае можно избежать
вычисления ϕ(x)!
Теорема Мерсера
Теорема
Функция k(x, z) является ядром тогда и только тогда, когда она
симметрична
k(x, z) = k(z, x)
неотрицательно определена
x∈X z∈X
k(x, z)g(x)g(z)dxdz, ∀g(x) : X → R
Задача
Пусть x ∈ R2
, а преобразование φ(x)
φ(x) = (1,
√
2x1,
√
2x2, x2
1 ,
√
2x1x2, x2
2 ).
Проверить, что функция k(x, z) = (1 + x z)2
является функцией
ядра для данного преобразования.
Некоторые стандартные функции ядра
Линейное ядро
k(x, z) = x z
Полиномиальное ядро степени d
k(x, z) = (x z + r)d
Radial Basis Function
k(x, z) = e−γ|x−z|2
Sigmoid
k(x, z) = tanh(γx z + r)
Опять ирисы
SVM. Итоги
+ Нелинейная разделяющая поверхность
+ Глобальая оптимизация
+ Разреженное решение
+ Хорошая обобщающая способность
- Не поддерживает p(Ck |x)
- Чувствительность к выбросам
- Нет алгоритма выбора ядра
- Медленное обучение
Эксперименты над SVM
В задаче рассматриваются 4 алгоритма генерации обучающих
выборок. Требуется разработать функцию, автоматически
подбирающую параметры модели SVM в зависимости от полученной
выборки.
Инструкция по выполнению задания
1. Выкачать в локальный репо код из ветки svm
2. Запустить хелп, при желании изучить
$ python svm.py -h
$ python svm.py cc -h
3. Запустить какой-нибудь пример, разобраться с картинкой
$ python svm.py gauss
4. Работать над кодом (функция select_model)
Домашнее задание 4
Машина опорных векторов
Использовать готовую имплементацию
алгоритма SVM для задачи классификации
алгоритма SVM для задачи регрессии
Ключевые даты
До 2014/04/05 00.00 предоставить решение задания
Спасибо!
Обратная связь

More Related Content

What's hot (20)

L10: Алгоритмы кластеризации
L10: Алгоритмы кластеризацииL10: Алгоритмы кластеризации
L10: Алгоритмы кластеризации
Technosphere1
Лекция №10 "Алгоритмические композиции. Завершение"
Лекция №10 "Алгоритмические композиции. Завершение" Лекция №10 "Алгоритмические композиции. Завершение"
Лекция №10 "Алгоритмические композиции. Завершение"
Technosphere1
Лекция №5 "Обработка текстов, Naive Bayes"
Лекция №5 "Обработка текстов, Naive Bayes" Лекция №5 "Обработка текстов, Naive Bayes"
Лекция №5 "Обработка текстов, Naive Bayes"
Technosphere1
Лекция №9 "Алгоритмические композиции. Начало"
Лекция №9 "Алгоритмические композиции. Начало"Лекция №9 "Алгоритмические композиции. Начало"
Лекция №9 "Алгоритмические композиции. Начало"
Technosphere1
Лекция №2 "Задача кластеризации и ЕМ-алгоритм"
Лекция №2 "Задача кластеризации и ЕМ-алгоритм"Лекция №2 "Задача кластеризации и ЕМ-алгоритм"
Лекция №2 "Задача кластеризации и ЕМ-алгоритм"
Technosphere1
Лекция №3 "Различные алгоритмы кластеризации"
Лекция №3 "Различные алгоритмы кластеризации"Лекция №3 "Различные алгоритмы кластеризации"
Лекция №3 "Различные алгоритмы кластеризации"
Technosphere1
Лекция №8 "Методы снижения размерности пространства"
Лекция №8 "Методы снижения размерности пространства" Лекция №8 "Методы снижения размерности пространства"
Лекция №8 "Методы снижения размерности пространства"
Technosphere1
Лекция №1 "Задачи Data Mining"
Лекция №1 "Задачи Data Mining" Лекция №1 "Задачи Data Mining"
Лекция №1 "Задачи Data Mining"
Technosphere1
Лекция №12 "Ограниченная машина Больцмана"
Лекция №12 "Ограниченная машина Больцмана" Лекция №12 "Ограниченная машина Больцмана"
Лекция №12 "Ограниченная машина Больцмана"
Technosphere1
Решение краевых задач методом конечных элементов
Решение краевых задач методом конечных элементовРешение краевых задач методом конечных элементов
Решение краевых задач методом конечных элементов
Theoretical mechanics department
Многочлены наилучших среднеквадратичных приближений
Многочлены наилучших среднеквадратичных приближенийМногочлены наилучших среднеквадратичных приближений
Многочлены наилучших среднеквадратичных приближений
Theoretical mechanics department
Структурное обучение и S-SVM
Структурное обучение и S-SVMСтруктурное обучение и S-SVM
Структурное обучение и S-SVM
romovpa
Лекция №15. Методы программирования. Предмет "Структуры и алгоритмы обработки...
Лекция №15. Методы программирования. Предмет "Структуры и алгоритмы обработки...Лекция №15. Методы программирования. Предмет "Структуры и алгоритмы обработки...
Лекция №15. Методы программирования. Предмет "Структуры и алгоритмы обработки...
Nikolay Grebenshikov
20110224 systems of_typed_lambda_calculi_moskvin_lecture02
20110224 systems of_typed_lambda_calculi_moskvin_lecture0220110224 systems of_typed_lambda_calculi_moskvin_lecture02
20110224 systems of_typed_lambda_calculi_moskvin_lecture02
Computer Science Club
Структурный SVM и отчет по курсовой
Структурный SVM и отчет по курсовойСтруктурный SVM и отчет по курсовой
Структурный SVM и отчет по курсовой
romovpa
Основы MATLAB. Численные методы
Основы MATLAB. Численные методыОсновы MATLAB. Численные методы
Основы MATLAB. Численные методы
Theoretical mechanics department
Определенные интегралы
Определенные интегралыОпределенные интегралы
Определенные интегралы
daryaartuh
L10: Алгоритмы кластеризации
L10: Алгоритмы кластеризацииL10: Алгоритмы кластеризации
L10: Алгоритмы кластеризации
Technosphere1
Лекция №10 "Алгоритмические композиции. Завершение"
Лекция №10 "Алгоритмические композиции. Завершение" Лекция №10 "Алгоритмические композиции. Завершение"
Лекция №10 "Алгоритмические композиции. Завершение"
Technosphere1
Лекция №5 "Обработка текстов, Naive Bayes"
Лекция №5 "Обработка текстов, Naive Bayes" Лекция №5 "Обработка текстов, Naive Bayes"
Лекция №5 "Обработка текстов, Naive Bayes"
Technosphere1
Лекция №9 "Алгоритмические композиции. Начало"
Лекция №9 "Алгоритмические композиции. Начало"Лекция №9 "Алгоритмические композиции. Начало"
Лекция №9 "Алгоритмические композиции. Начало"
Technosphere1
Лекция №2 "Задача кластеризации и ЕМ-алгоритм"
Лекция №2 "Задача кластеризации и ЕМ-алгоритм"Лекция №2 "Задача кластеризации и ЕМ-алгоритм"
Лекция №2 "Задача кластеризации и ЕМ-алгоритм"
Technosphere1
Лекция №3 "Различные алгоритмы кластеризации"
Лекция №3 "Различные алгоритмы кластеризации"Лекция №3 "Различные алгоритмы кластеризации"
Лекция №3 "Различные алгоритмы кластеризации"
Technosphere1
Лекция №8 "Методы снижения размерности пространства"
Лекция №8 "Методы снижения размерности пространства" Лекция №8 "Методы снижения размерности пространства"
Лекция №8 "Методы снижения размерности пространства"
Technosphere1
Лекция №1 "Задачи Data Mining"
Лекция №1 "Задачи Data Mining" Лекция №1 "Задачи Data Mining"
Лекция №1 "Задачи Data Mining"
Technosphere1
Лекция №12 "Ограниченная машина Больцмана"
Лекция №12 "Ограниченная машина Больцмана" Лекция №12 "Ограниченная машина Больцмана"
Лекция №12 "Ограниченная машина Больцмана"
Technosphere1
Решение краевых задач методом конечных элементов
Решение краевых задач методом конечных элементовРешение краевых задач методом конечных элементов
Решение краевых задач методом конечных элементов
Theoretical mechanics department
Многочлены наилучших среднеквадратичных приближений
Многочлены наилучших среднеквадратичных приближенийМногочлены наилучших среднеквадратичных приближений
Многочлены наилучших среднеквадратичных приближений
Theoretical mechanics department
Структурное обучение и S-SVM
Структурное обучение и S-SVMСтруктурное обучение и S-SVM
Структурное обучение и S-SVM
romovpa
Лекция №15. Методы программирования. Предмет "Структуры и алгоритмы обработки...
Лекция №15. Методы программирования. Предмет "Структуры и алгоритмы обработки...Лекция №15. Методы программирования. Предмет "Структуры и алгоритмы обработки...
Лекция №15. Методы программирования. Предмет "Структуры и алгоритмы обработки...
Nikolay Grebenshikov
20110224 systems of_typed_lambda_calculi_moskvin_lecture02
20110224 systems of_typed_lambda_calculi_moskvin_lecture0220110224 systems of_typed_lambda_calculi_moskvin_lecture02
20110224 systems of_typed_lambda_calculi_moskvin_lecture02
Computer Science Club
Структурный SVM и отчет по курсовой
Структурный SVM и отчет по курсовойСтруктурный SVM и отчет по курсовой
Структурный SVM и отчет по курсовой
romovpa
Определенные интегралы
Определенные интегралыОпределенные интегралы
Определенные интегралы
daryaartuh

Similar to L6: Метод опорных векторов (20)

Конкурс презентаций - Голичева
Конкурс презентаций - ГоличеваКонкурс презентаций - Голичева
Конкурс презентаций - Голичева
galkina
Определенные интеграллы
Определенные интеграллыОпределенные интеграллы
Определенные интеграллы
daryaartuh
Pr i-6
Pr i-6Pr i-6
Pr i-6
allfira
000
000000
000
ssusera868ff
контра по матике
контра по матикеконтра по матике
контра по матике
leshiy_AlisA
Лекция 13: Трудноразрешимые задачи. NP-полнота.
Лекция 13: Трудноразрешимые задачи. NP-полнота.Лекция 13: Трудноразрешимые задачи. NP-полнота.
Лекция 13: Трудноразрешимые задачи. NP-полнота.
Mikhail Kurnosov
Разложение на множители
Разложение на множителиРазложение на множители
Разложение на множители
School 242
Свойства оценок
Свойства оценокСвойства оценок
Свойства оценок
Kurbatskiy Alexey
Методы решения нелинейных уравнений
Методы решения нелинейных уравненийМетоды решения нелинейных уравнений
Методы решения нелинейных уравнений
Theoretical mechanics department
20081116 structuralcomplexitytheory lecture09-10
20081116 structuralcomplexitytheory lecture09-1020081116 structuralcomplexitytheory lecture09-10
20081116 structuralcomplexitytheory lecture09-10
Computer Science Club
пугач му по матлогике 2015
пугач му по матлогике 2015пугач му по матлогике 2015
пугач му по матлогике 2015
LIPugach
10474
1047410474
10474
nreferat
8
88
8
ssusera868ff
8.b proizvodnye
8.b proizvodnye8.b proizvodnye
8.b proizvodnye
Narvatk
Opredelennyj integral
Opredelennyj integralOpredelennyj integral
Opredelennyj integral
Dimon4
23
2323
23
ssusera868ff
Конкурс презентаций - Голичева
Конкурс презентаций - ГоличеваКонкурс презентаций - Голичева
Конкурс презентаций - Голичева
galkina
Определенные интеграллы
Определенные интеграллыОпределенные интеграллы
Определенные интеграллы
daryaartuh
контра по матике
контра по матикеконтра по матике
контра по матике
leshiy_AlisA
Лекция 13: Трудноразрешимые задачи. NP-полнота.
Лекция 13: Трудноразрешимые задачи. NP-полнота.Лекция 13: Трудноразрешимые задачи. NP-полнота.
Лекция 13: Трудноразрешимые задачи. NP-полнота.
Mikhail Kurnosov
Разложение на множители
Разложение на множителиРазложение на множители
Разложение на множители
School 242
Методы решения нелинейных уравнений
Методы решения нелинейных уравненийМетоды решения нелинейных уравнений
Методы решения нелинейных уравнений
Theoretical mechanics department
20081116 structuralcomplexitytheory lecture09-10
20081116 structuralcomplexitytheory lecture09-1020081116 structuralcomplexitytheory lecture09-10
20081116 structuralcomplexitytheory lecture09-10
Computer Science Club
пугач му по матлогике 2015
пугач му по матлогике 2015пугач му по матлогике 2015
пугач му по матлогике 2015
LIPugach
8.b proizvodnye
8.b proizvodnye8.b proizvodnye
8.b proizvodnye
Narvatk
Opredelennyj integral
Opredelennyj integralOpredelennyj integral
Opredelennyj integral
Dimon4

More from Technosphere1 (13)

Лекция №13 "Глубокие нейронные сети"
Лекция №13 "Глубокие нейронные сети" Лекция №13 "Глубокие нейронные сети"
Лекция №13 "Глубокие нейронные сети"
Technosphere1
Лекция №11 "Основы нейронных сетей"
Лекция №11 "Основы нейронных сетей" Лекция №11 "Основы нейронных сетей"
Лекция №11 "Основы нейронных сетей"
Technosphere1
L13: Заключительная
L13: ЗаключительнаяL13: Заключительная
L13: Заключительная
Technosphere1
Л9: Взаимодействие веб-приложений
Л9: Взаимодействие веб-приложенийЛ9: Взаимодействие веб-приложений
Л9: Взаимодействие веб-приложений
Technosphere1
Л8 Django. Дополнительные темы
Л8 Django. Дополнительные темыЛ8 Django. Дополнительные темы
Л8 Django. Дополнительные темы
Technosphere1
Мастер-класс: Особенности создания продукта для мобильного веб
Мастер-класс: Особенности создания продукта для мобильного вебМастер-класс: Особенности создания продукта для мобильного веб
Мастер-класс: Особенности создания продукта для мобильного веб
Technosphere1
Web лекция 1
Web   лекция 1Web   лекция 1
Web лекция 1
Technosphere1
Мастер-класс: "Интеграция в промышленную разработку"
Мастер-класс: "Интеграция в промышленную разработку"Мастер-класс: "Интеграция в промышленную разработку"
Мастер-класс: "Интеграция в промышленную разработку"
Technosphere1
Webdev7: Обработка HTTP запросов. Django Views
Webdev7: Обработка HTTP запросов. Django ViewsWebdev7: Обработка HTTP запросов. Django Views
Webdev7: Обработка HTTP запросов. Django Views
Technosphere1
L8: Л7 Em-алгоритм
L8: Л7 Em-алгоритмL8: Л7 Em-алгоритм
L8: Л7 Em-алгоритм
Technosphere1
L4: Решающие деревья
L4: Решающие деревьяL4: Решающие деревья
L4: Решающие деревья
Technosphere1
L1 Вводная лекция. Обзор основных задач Data Science (Лекция №1)
L1 Вводная лекция. Обзор основных задач Data Science (Лекция №1)L1 Вводная лекция. Обзор основных задач Data Science (Лекция №1)
L1 Вводная лекция. Обзор основных задач Data Science (Лекция №1)
Technosphere1
Лекция №13 "Глубокие нейронные сети"
Лекция №13 "Глубокие нейронные сети" Лекция №13 "Глубокие нейронные сети"
Лекция №13 "Глубокие нейронные сети"
Technosphere1
Лекция №11 "Основы нейронных сетей"
Лекция №11 "Основы нейронных сетей" Лекция №11 "Основы нейронных сетей"
Лекция №11 "Основы нейронных сетей"
Technosphere1
L13: Заключительная
L13: ЗаключительнаяL13: Заключительная
L13: Заключительная
Technosphere1
Л9: Взаимодействие веб-приложений
Л9: Взаимодействие веб-приложенийЛ9: Взаимодействие веб-приложений
Л9: Взаимодействие веб-приложений
Technosphere1
Л8 Django. Дополнительные темы
Л8 Django. Дополнительные темыЛ8 Django. Дополнительные темы
Л8 Django. Дополнительные темы
Technosphere1
Мастер-класс: Особенности создания продукта для мобильного веб
Мастер-класс: Особенности создания продукта для мобильного вебМастер-класс: Особенности создания продукта для мобильного веб
Мастер-класс: Особенности создания продукта для мобильного веб
Technosphere1
Мастер-класс: "Интеграция в промышленную разработку"
Мастер-класс: "Интеграция в промышленную разработку"Мастер-класс: "Интеграция в промышленную разработку"
Мастер-класс: "Интеграция в промышленную разработку"
Technosphere1
Webdev7: Обработка HTTP запросов. Django Views
Webdev7: Обработка HTTP запросов. Django ViewsWebdev7: Обработка HTTP запросов. Django Views
Webdev7: Обработка HTTP запросов. Django Views
Technosphere1
L8: Л7 Em-алгоритм
L8: Л7 Em-алгоритмL8: Л7 Em-алгоритм
L8: Л7 Em-алгоритм
Technosphere1
L4: Решающие деревья
L4: Решающие деревьяL4: Решающие деревья
L4: Решающие деревья
Technosphere1
L1 Вводная лекция. Обзор основных задач Data Science (Лекция №1)
L1 Вводная лекция. Обзор основных задач Data Science (Лекция №1)L1 Вводная лекция. Обзор основных задач Data Science (Лекция №1)
L1 Вводная лекция. Обзор основных задач Data Science (Лекция №1)
Technosphere1

L6: Метод опорных векторов

  • 1. Введение в Data Science Занятие 5. Машины Опорных Векторов Николай Анохин Михаил Фирулик 29 марта 2014 г.
  • 2. План занятия Идея maximum margin Функции ядра
  • 4. Обобщенные линейные модели Обучающая выборка X = (x1, . . . , xN ) Значения целевой переменной t1, . . . , tN ; tj ∈ {−1, +1} Функция принятия решения y(x) = w φ(x) + b Разделяющая плоскость (РП) yi (xi)ti > 0 Решений много: как выбрать?
  • 5. Максимальный зазор Margin – наименьшее расстояние между РП и обучающим объектом. dj = |y(xj )| w = tj y(xj ) w = = tj (w φ(xj ) + b) w Оптимальная РП arg max w,b 1 w min j tj (w φ(xj ) + b)
  • 6. Задача оптимизации Расстояние от точки xj до РП dj = tj (w φ(xj ) + b) w Для точки xj , лежащей на минимальном расстоянии от РП положим tj (w φ(xj ) + b) = 1 Задача оптимизации 1 2 w 2 → min w,b при условиях tj (w φ(xj ) + b) ≥ 1, ∀j ∈ 1, . . . , N
  • 7. Метод множителей Лагранжа a = (a1, . . . , aN ) , ai ≥ 0. L(w, b, a) = 1 2 w 2 − N j=1 aj [tj (w φ(xj ) + b) − 1] Дифференцируем по w и b w = N j=1 aj tj φ(xj ), 0 = N j=1 aj tj Подставляем w и b в лагранжиан
  • 8. Сопряженная задача Сорпяженная задача ˜L(a) = N j=1 aj − 1 2 N i=1 N j=1 ai aj ti tj φ(xi ) φ(xj ) → max a при условиях aj ≥ 0, ∀j ∈ 1, . . . , N N j=1 aj tj = 0 Наблюдения k(xi , xj ) = φ(xi ) φ(xj ) – неотрицательно-определенная функция лагранжиан ˜L(a) – выпуклая и ограниченная сверху функция
  • 9. Классификация Функция принятия решения y(x) = w φ(x) + b = N j=1 aj tj φ(xj ) φ(x) + b = N j=1 aj tj k(xj , x) + b Условия Karush-Kuhn-Tucker aj ≥ 0 tj y(xj) − 1 ≥ 0 aj {tj y(xj) − 1} = 0 Опорным векторам xj ∈ S соответствуют aj > 0 b = 1 Ns i∈S  ti − j∈S aj tj k(xi, xj)  
  • 10. Линейно-разделимый случай Задача Дана обучающая выборка x1 x2 t x1 1 −2 1 x2 1 2 −1 Найти оптимальную разделяющую плоскость, используя сопряженную задачу оптимизации
  • 12. Смягчение ограничений Переменные ξj ≥ 0 (slacks): ξj = 0, если y(xj)tj ≥ 1 |tj − y(xj )|, иначе Задача оптимизации C N j=1 ξj + 1 2 w 2 → min w,b
  • 13. Сопряженная задача Сорпяженная задача ˜L(a) = N j=1 aj − 1 2 N i=1 N j=1 ai aj ti tj φ(xi ) φ(xj ) → max a при условиях 0 ≤ aj ≤ C, ∀j ∈ 1, . . . , N N j=1 aj tj = 0 Наблюдения aj = 0 – правильно проклассифицированные объекты aj = C – опорные векторы внутри отступа 0 < aj < C – опорные векторы на границе
  • 14. Классификация Функция принятия решения y(x) = N j=1 aj tj k(xj , x) + b Константа b b = 1 NM i∈M  ti − j∈S aj tj k(xi, xj)  
  • 15. Связь с линейными моделями Задача оптимизации N j=1 ξj + 1 2 w 2 ∼ N j=1 E(y(xj ), tj ) + λ w 2 → min w,b Hinge loss E(yj , tj ) = 1 − yj tj , если yj tj > 1 0, иначе
  • 16. Численные методы оптимизации Chunking (Vapnik, 1982) Decomposition (Osuna, 1996) Sequential Minimal Optimization (Platt, 1999)
  • 17. Задача регрессии Переменные ξj ≥ 0, ˆξj ≥ 0 (slacks): tj ≤ y(xj ) + + ξn tj ≥ y(xj ) − − ˆξn Задача оптимизации C N j=1 (ˆξj + ξj ) + 1 2 w 2 → min w,b
  • 18. Функции ядра φ(x) – функция преобразования x из исходного пространства в спрямляющее пространство Проблема: количество признаков может быть очень велико Идея Kernel Trick В процессе тренировки и применения SVM исходные векторы x используются только как аргументы в скалярном произведении k(xi , xj ) = φ(xi ) φ(xj). Но в этом случае можно избежать вычисления ϕ(x)!
  • 19. Теорема Мерсера Теорема Функция k(x, z) является ядром тогда и только тогда, когда она симметрична k(x, z) = k(z, x) неотрицательно определена x∈X z∈X k(x, z)g(x)g(z)dxdz, ∀g(x) : X → R Задача Пусть x ∈ R2 , а преобразование φ(x) φ(x) = (1, √ 2x1, √ 2x2, x2 1 , √ 2x1x2, x2 2 ). Проверить, что функция k(x, z) = (1 + x z)2 является функцией ядра для данного преобразования.
  • 20. Некоторые стандартные функции ядра Линейное ядро k(x, z) = x z Полиномиальное ядро степени d k(x, z) = (x z + r)d Radial Basis Function k(x, z) = e−γ|x−z|2 Sigmoid k(x, z) = tanh(γx z + r)
  • 22. SVM. Итоги + Нелинейная разделяющая поверхность + Глобальая оптимизация + Разреженное решение + Хорошая обобщающая способность - Не поддерживает p(Ck |x) - Чувствительность к выбросам - Нет алгоритма выбора ядра - Медленное обучение
  • 23. Эксперименты над SVM В задаче рассматриваются 4 алгоритма генерации обучающих выборок. Требуется разработать функцию, автоматически подбирающую параметры модели SVM в зависимости от полученной выборки. Инструкция по выполнению задания 1. Выкачать в локальный репо код из ветки svm 2. Запустить хелп, при желании изучить $ python svm.py -h $ python svm.py cc -h 3. Запустить какой-нибудь пример, разобраться с картинкой $ python svm.py gauss 4. Работать над кодом (функция select_model)
  • 24. Домашнее задание 4 Машина опорных векторов Использовать готовую имплементацию алгоритма SVM для задачи классификации алгоритма SVM для задачи регрессии Ключевые даты До 2014/04/05 00.00 предоставить решение задания