Лекция №7 "Машина опорных векторов" Technosphere1Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова. Курс "Алгоритмы интеллектуальной обработки больших объемов данных", Лекция №7 "Машина опорных векторов"
Лектор - Николай Анохин
Разделяющая поверхность с максимальным зазором. Формулировка задачи оптимизации для случаев линейно-разделимых и линейно-неразделимых классов. Сопряженная задача. Опорные векторы. KKT-условия. SVM для задач классификации и регрессии. Kernel trick. Теорема Мерсера. Примеры функций ядра.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9pyyrqknouMZbIPf4l3CwUP
Лекция №6 "Линейные модели для классификации и регрессии" Technosphere1Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова. Курс "Алгоритмы интеллектуальной обработки больших объемов данных", Лекция №6 "Линейные модели для классификации и регрессии"
Лектор - Николай Анохин
Обобщенные линейные модели. Постановка задачи оптимизации. Примеры критериев. Градиентный спуск. Регуляризация. Метод Maximum Likelihood. Логистическая регрессия.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9pyyrqknouMZbIPf4l3CwUP
Лекция №4 "Задача классификации"Technosphere1Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова. Курс "Алгоритмы интеллектуальной обработки больших объемов данных", Лекция №4 "Задача классификации"
Лектор - Николай Анохин
Постановка задач классификации и регрессии. Теория принятия решений. Виды моделей. Примеры функций потерь. Переобучение. Метрики качества классификации. MDL. Решающие деревья. Алгоритм CART.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9pyyrqknouMZbIPf4l3CwUP
Лекция №10 "Алгоритмические композиции. Завершение" Technosphere1Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова. Курс "Алгоритмы интеллектуальной обработки больших объемов данных", Лекция №10 "Алгоритмические композиции. Завершение"
Лектор - Владимир Гулин
Ключевые идеи бустинга. Отличия бустинга и бэггинга. Алгорим AdaBoost. Градиентный бустинг. Мета-алгоритмы над алгоритмическими композициями. Алгоритм BagBoo.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9pyyrqknouMZbIPf4l3CwUP
Лекция №5 "Обработка текстов, Naive Bayes" Technosphere1Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова. Курс "Алгоритмы интеллектуальной обработки больших объемов данных", Лекция №5 "Обработка текстов, Naive Bayes"
Лектор - Николай Анохин
Условная вероятность и теорема Байеса. Нормальное распределение. Naive Bayes: multinomial, binomial, gaussian. Сглаживание. Генеративная модель NB и байесовский вывод. Графические модели.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9pyyrqknouMZbIPf4l3CwUP
Лекция №9 "Алгоритмические композиции. Начало"Technosphere1Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова. Курс "Алгоритмы интеллектуальной обработки больших объемов данных", Лекция №9 "Алгоритмические композиции. Начало"
Лектор - Владимир Гулин
Комбинации классификаторов. Модельные деревья решений. Смесь экспертов. Stacking. Стохастические методы построения ансамблей классификаторов. Bagging. RSM. Алгоритм RandomForest.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9pyyrqknouMZbIPf4l3CwUP
Лекция №2 "Задача кластеризации и ЕМ-алгоритм"Technosphere1Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова. Курс "Алгоритмы интеллектуальной обработки больших объемов данных", Лекция №2 "Задача кластеризации и ЕМ-алгоритм"
Лектор - Николай Анохин
Постановка задачи кластеризации. Функции расстояния. Критерии качества кластеризации. EM-алгоритм. K-means и модификации.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9pyyrqknouMZbIPf4l3CwUP
Лекция №3 "Различные алгоритмы кластеризации"Technosphere1Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова. Курс "Алгоритмы интеллектуальной обработки больших объемов данных", Лекция №3 "Различные алгоритмы кластеризации"
Лектор - Николай Анохин
Иерархическая кластеризация. Agglomerative и Divisive алгоритмы. Различные виды расстояний между кластерами. Stepwise-optimal алгоритм. Случай неэвклидовых пространств. Критерии выбора количества кластеров: rand, silhouette. DBSCAN.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9pyyrqknouMZbIPf4l3CwUP
Лекция №8 "Методы снижения размерности пространства" Technosphere1Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова. Курс "Алгоритмы интеллектуальной обработки больших объемов данных", Лекция №8 "Методы снижения размерности пространства"
Лектор - Владимир Гулин
Проблема проклятия размерности. Отбор и выделение признаков. Методы выделения признаков (feature extraction). Метод главных компонент (PCA). Метод независимых компонент (ICA). Методы основанные на автоэнкодерах. Методы отбора признаков (feature selection). Методы основанные на взаимной корреляции признаков. Метод максимальной релевантность и минимальной избыточности (mRMR). Методы основанные на деревьях решений.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9pyyrqknouMZbIPf4l3CwUP
Лекция №1 "Задачи Data Mining" Technosphere1Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова. Курс "Алгоритмы интеллектуальной обработки больших объемов данных", Лекция №1 "Задачи Data Mining"
Лектор - Николай Анохин
Обзор задач Data Mining. Стандартизация подхода к решению задач Data Mining. Процесс CRISP-DM. Виды данных. Кластеризация, классификация, регрессия. Понятие модели и алгоритма обучения.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9pyyrqknouMZbIPf4l3CwUP
Лекция №12 "Ограниченная машина Больцмана" Technosphere1Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова. Курс "Алгоритмы интеллектуальной обработки больших объемов данных", Лекция №12 "Ограниченная машина Больцмана"
Лектор - Павел Нестеров
Нейросетейвой автоэнкодер. Стохастические и рекурентные нейронные сети. Машина Больцмана и ограниченная машина Больцмана. Распределение Гиббса. Алгоритм contrastive divergence для обучения РБМ. Сэмплирование данных из РБМ. Бинарная РБМ и гауссово-бинарная РБМ. Влияние регуляризации, нелинейное сжатие размерности, извлечение признаков. Semantic hashing.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9pyyrqknouMZbIPf4l3CwUP
Лекция №10 "Алгоритмические композиции. Завершение" Technosphere1Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова. Курс "Алгоритмы интеллектуальной обработки больших объемов данных", Лекция №10 "Алгоритмические композиции. Завершение"
Лектор - Владимир Гулин
Ключевые идеи бустинга. Отличия бустинга и бэггинга. Алгорим AdaBoost. Градиентный бустинг. Мета-алгоритмы над алгоритмическими композициями. Алгоритм BagBoo.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9pyyrqknouMZbIPf4l3CwUP
Лекция №5 "Обработка текстов, Naive Bayes" Technosphere1Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова. Курс "Алгоритмы интеллектуальной обработки больших объемов данных", Лекция №5 "Обработка текстов, Naive Bayes"
Лектор - Николай Анохин
Условная вероятность и теорема Байеса. Нормальное распределение. Naive Bayes: multinomial, binomial, gaussian. Сглаживание. Генеративная модель NB и байесовский вывод. Графические модели.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9pyyrqknouMZbIPf4l3CwUP
Лекция №9 "Алгоритмические композиции. Начало"Technosphere1Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова. Курс "Алгоритмы интеллектуальной обработки больших объемов данных", Лекция №9 "Алгоритмические композиции. Начало"
Лектор - Владимир Гулин
Комбинации классификаторов. Модельные деревья решений. Смесь экспертов. Stacking. Стохастические методы построения ансамблей классификаторов. Bagging. RSM. Алгоритм RandomForest.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9pyyrqknouMZbIPf4l3CwUP
Лекция №2 "Задача кластеризации и ЕМ-алгоритм"Technosphere1Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова. Курс "Алгоритмы интеллектуальной обработки больших объемов данных", Лекция №2 "Задача кластеризации и ЕМ-алгоритм"
Лектор - Николай Анохин
Постановка задачи кластеризации. Функции расстояния. Критерии качества кластеризации. EM-алгоритм. K-means и модификации.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9pyyrqknouMZbIPf4l3CwUP
Лекция №3 "Различные алгоритмы кластеризации"Technosphere1Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова. Курс "Алгоритмы интеллектуальной обработки больших объемов данных", Лекция №3 "Различные алгоритмы кластеризации"
Лектор - Николай Анохин
Иерархическая кластеризация. Agglomerative и Divisive алгоритмы. Различные виды расстояний между кластерами. Stepwise-optimal алгоритм. Случай неэвклидовых пространств. Критерии выбора количества кластеров: rand, silhouette. DBSCAN.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9pyyrqknouMZbIPf4l3CwUP
Лекция №8 "Методы снижения размерности пространства" Technosphere1Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова. Курс "Алгоритмы интеллектуальной обработки больших объемов данных", Лекция №8 "Методы снижения размерности пространства"
Лектор - Владимир Гулин
Проблема проклятия размерности. Отбор и выделение признаков. Методы выделения признаков (feature extraction). Метод главных компонент (PCA). Метод независимых компонент (ICA). Методы основанные на автоэнкодерах. Методы отбора признаков (feature selection). Методы основанные на взаимной корреляции признаков. Метод максимальной релевантность и минимальной избыточности (mRMR). Методы основанные на деревьях решений.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9pyyrqknouMZbIPf4l3CwUP
Лекция №1 "Задачи Data Mining" Technosphere1Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова. Курс "Алгоритмы интеллектуальной обработки больших объемов данных", Лекция №1 "Задачи Data Mining"
Лектор - Николай Анохин
Обзор задач Data Mining. Стандартизация подхода к решению задач Data Mining. Процесс CRISP-DM. Виды данных. Кластеризация, классификация, регрессия. Понятие модели и алгоритма обучения.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9pyyrqknouMZbIPf4l3CwUP
Лекция №12 "Ограниченная машина Больцмана" Technosphere1Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова. Курс "Алгоритмы интеллектуальной обработки больших объемов данных", Лекция №12 "Ограниченная машина Больцмана"
Лектор - Павел Нестеров
Нейросетейвой автоэнкодер. Стохастические и рекурентные нейронные сети. Машина Больцмана и ограниченная машина Больцмана. Распределение Гиббса. Алгоритм contrastive divergence для обучения РБМ. Сэмплирование данных из РБМ. Бинарная РБМ и гауссово-бинарная РБМ. Влияние регуляризации, нелинейное сжатие размерности, извлечение признаков. Semantic hashing.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9pyyrqknouMZbIPf4l3CwUP
Лекция №13 "Глубокие нейронные сети" Technosphere1Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова. Курс "Алгоритмы интеллектуальной обработки больших объемов данных", Лекция №13 "Глубокие нейронные сети"
Лектор - Павел Нестеров
Трудности обучения многослойного персептрона. Предобучение используя РБМ. Глубокий автоэнкодер, глубокая многослойная нейросеть. Deep belief network и deep Boltzmann machine. Устройство человеческого глаза и зрительной коры головного мозга. Сверточные сети.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9pyyrqknouMZbIPf4l3CwUP
Лекция №11 "Основы нейронных сетей" Technosphere1Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова. Курс "Алгоритмы интеллектуальной обработки больших объемов данных", Лекция №11 "Основы нейронных сетей"
Лектор - Павел Нестеров
Биологический нейрон и нейронные сети. Искусственный нейрон Маккалока-Питтса и искусственная нейронная сеть. Персептрон Розенблатта и Румельхарта. Алгоритм обратного распространения ошибки. Момент обучения, регуляризация в нейросети, локальная скорость обучения, softmax слой. Различные режимы обучения.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9pyyrqknouMZbIPf4l3CwUP
Мастер-класс: Особенности создания продукта для мобильного вебTechnosphere114.05.14
Мастер-класс: Особенности создания продукта для мобильного веб
Спикер: Александр Лысков
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)
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 – опорные векторы на границе
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, иначе
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 предоставить решение задания