Введение в 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

PDF
L5: Л5 Байесовские алгоритмы
PDF
L3: Линейная и логистическая регрессия
PDF
L2: Задача классификации и регрессии. Метрики ошибок
PDF
L7:Задача кластеризации. Метрики качества
PDF
L11: Метод ансамблей
PDF
Лекция №7 "Машина опорных векторов"
PDF
Лекция №6 "Линейные модели для классификации и регрессии"
PDF
Лекция №4 "Задача классификации"
L5: Л5 Байесовские алгоритмы
L3: Линейная и логистическая регрессия
L2: Задача классификации и регрессии. Метрики ошибок
L7:Задача кластеризации. Метрики качества
L11: Метод ансамблей
Лекция №7 "Машина опорных векторов"
Лекция №6 "Линейные модели для классификации и регрессии"
Лекция №4 "Задача классификации"

What's hot (20)

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

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

PPT
Конкурс презентаций - Голичева
PPT
Определенные интеграллы
DOC
Мысль №6
DOC
Мысль №6
PDF
Pr i-6
PDF
PDF
DOCX
контра по матике
PDF
Лекция 13: Трудноразрешимые задачи. NP-полнота.
PPT
Разложение на множители
PDF
Свойства оценок
PDF
Методы решения нелинейных уравнений
PDF
20081116 structuralcomplexitytheory lecture09-10
PPT
презентация к уроку2
PDF
пугач му по матлогике 2015
PDF
10474
PPT
8.b proizvodnye
PPT
Opredelennyj integral
Конкурс презентаций - Голичева
Определенные интеграллы
Мысль №6
Мысль №6
Pr i-6
контра по матике
Лекция 13: Трудноразрешимые задачи. NP-полнота.
Разложение на множители
Свойства оценок
Методы решения нелинейных уравнений
20081116 structuralcomplexitytheory lecture09-10
презентация к уроку2
пугач му по матлогике 2015
10474
8.b proizvodnye
Opredelennyj integral
Ad

More from Technosphere1 (13)

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

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 предоставить решение задания