Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Data	Mining	in	Action
Лекция	1
Примеры	и	основные	понятия
Виктор	Кантор
Кто	лектор
Работа:
Руководитель	группы	анализа	пользовательского	поведения	
в	Yandex Data	Factory,	ранее	– руководитель	уч...
Кто	лектор
Задачи:
• Автоматическое	тегирование текстов,	аннотирование,	анализ	
тональности,	поиск	похожих,	классификация	...
На	этой	лекции
I. Примеры	применения	машинного	обучения
II. Стандартные	задачи	и	методы
III. Инструменты
Часть	I:	примеры	применения
Пример	задачи:	кредитный	скоринг
Выдача	кредита
German	credit	data	set	(UCI	репозиторий)
Обучающая	выборка
Выдача	кредита
German	credit	data	set	(UCI	репозиторий)
Attribute	1:	Status	of	existing	checking	account
1	:						...	<			...
Выдача	кредита
German	credit	data	set	(UCI	репозиторий)
Attribute	2:	Duration	in	month
Выдача	кредита
German	credit	data	set	(UCI	репозиторий)
Answer:	1	– Good,	2	- Bad
Выдача	кредита
Задача (supervised	 classification): предсказать	класс	(1	или 2)
?
?
?
?
?
?
?
Более	глобальная	задача:	
Пр...
Пример	проекта:	рекомендации	товаров
Товар	1 Товар	2 Товар	3 Товар	4
Блок	рекомендаций
Товар	1 Товар	2 Товар	3 Товар	4
Максимизация	количества	покупок
Вероятность: 𝒑 𝟏 𝒑 𝟐 𝒑 𝟑 𝒑 𝟒
Товар	1 Товар	2 Товар	3 Товар	4
Максимизация	дохода
Вероятность: 𝒑 𝟏 𝒑 𝟐 𝒑 𝟑 𝒑 𝟒
Цена: 𝑐' 𝑐( 𝑐) 𝑐*
Максимизация	дохода
Вероятность: 0.05 0.02 0.015 0.009
Цена: 3490 1990 1590 1970
Прогнозирование	вероятности
• Объекты:	тройки	(пользователь,	товар,	момент	времени)
• Классы:	1	- товар	будет	куплен,	0	– ...
Отбор	кандидатов
• Популярные
• Популярные	из тех	же	категорий
• Часто	просматриваемые	вместе	с	теми	товарами,	которые	
по...
Генерация	негативных	примеров
• Добавить	к	каждому	позитивному	примеру	весь	каталог	как	
негативный	(не	реально)
• Случайн...
Точность	(Precision@k)
Рекомендованные товары
Синяя	футболка
Красная	футболка
Кроссовки
Кепка
Зеленая	футболка
Купленные т...
Полнота	(Recall@k)
Рекомендованные товары
Синяя	футболка
Красная	футболка
Кроссовки
Кепка
Зеленая	футболка
Купленные товар...
Взвешенный	ценами	recall@k
Рекомендованные товары
Синяя	футболка	– 1000р
Красная	футболка	– 1200р
Кроссовки – 3500р
Кепка	...
Качество	классификации	против	качества	
рекомендаций
Пример – 2	решения	для	прогноза	купит/не	купит	товар
Алгоритм 1 Алгор...
История	из	практики:	сравнение	методов
• Интегрировали	чужое	решение,	чтобы	сравнить	качество	со	
своим
• Оценили	качество...
Онлайновая	оценка	качества
Допустим,	на	исторических	данных	качество	алгоритма	высокое,	а	
будет	ли	оно	высоким	в	реальнос...
Онлайновая	оценка	качества
Допустим,	на	исторических	данных	качество	алгоритма	высокое,	а	
будет	ли	оно	высоким	в	реальнос...
A/B	тест
1. Случайным	образом	делим	пользователей	на	равные	группы
2. Измеряем	целевые	метрики	(например,	количество	заказ...
Истории	из	практики:	разбиение	на	группы
• Предложено:
• Брать	hash	от	user_id
• Смотреть	на	остаток	от	деления	на	2
• Сде...
Cтатистическая значимость:	пример
Cтатистическая значимость:	пример
Одна	кривая	отличается	от	других	на	10%
Но	разбиение	на	самом	деле	– случайное
На	какие	метрики	смотрят	в	онлайне
• Доход	в	группе
• Доход	с	пользовательской	сессии
• Средняя	стоимость	купленного	товар...
Итог:	о	чем	нужно	позаботиться
• Высокоуровневая	постановка	задачи	- от	экономического	эффекта
• Оценка	возможного	экономи...
Пример	сервиса:	аннотирование	текстов
Аннотирование	текста:	сайт
2L2R.ru
Как	все	устроено
• Текст	разбивается	на	предложения
• Из	предложений	извлекаются	слова	и	приводятся	в	начальную	
форму
• Д...
Аннотирование:	плагин	для	браузера
Еще	примеры
Часть	II:	стандартные	задачи	и	методы
Стандартные	постановки	задач	
и	простые	методы	их	решения
Классификация
Вход	(обучающая	выборка):	
Признаки	N	объектов	с	известными	классами
Выход:	
Классификатор	(алгоритм,	прогно...
44
Классификация:	обучающая	
выборка
Простой	классификатор:	kNN
k	nearest	neighbours
45
k	=	1
Шумы?	(outliers)
Простой	классификатор:	kNN
k	nearest	neighbours
46
k	=	5
Possibly	outliers
Ошибки?
Взвешенный kNN
Пример	классификации (k	=	6):
?
Взвешенный kNN
Пример	классификации (k	=	6):
??
Взвешенный kNN
Пример	классификации (k	=	6):
??
x
x(2)
x(1)
x(3)
x(4)
x(5)
x(6)
Взвешенный kNN
Пример	классификации (k	=	6):
??
x
x(2)
x(1)
x(3)
x(4)
x(5)
x(6)
Веса	можно	определить	как	функцию	от	
сосе...
Взвешенный kNN
Пример	классификации (k	=	6):
??
x
x(2)
x(1)
x(3)
x(4)
x(5)
x(6)
Веса	можно	определить	как	функцию	от	
сосе...
Взвешенный kNN
Пример	классификации (k	=	6):
??
x
x(2)
x(1)
x(3)
x(4)
x(5)
x(6)
Веса	можно	определить	как	функцию	от	
сосе...
Взвешенный kNN
Пример	классификации (k	=	6):
??
x
x(2)
x(1)
x(3)
x(4)
x(5)
x(6)
Веса	можно	определить	как	функцию	от	
сосе...
Взвешенный kNN
Пример	классификации (k	=	6):
??
x
x(2)
x(1)
x(3)
x(4)
x(5)
x(6)
Веса	можно	определить	как	функцию	от	
сосе...
Взвешенный kNN
Пример	классификации (k	=	6):
??
x
x(2)
x(1)
x(3)
x(4)
x(5)
x(6)
Веса	можно	определить	как	функцию	от	
сосе...
Центроидный классификатор
?
Центроидный классификатор
?
Центры
Центроидный классификатор
?
Центры
Новый	объект	ближе	к
Поэтому,									=					?
Кластеризация
Вход	(обучающая	выборка):	
Признаки	N	объектов
Выход:	
Найденные	в	выборке	классы	(кластеры),	метки	кластеро...
Кластеризация
Простой	алгоритм	кластеризации:	kMeans
Регрессия
Вход	(обучающая	выборка):	
Признаки N	объектов	с	известными	значениями	прогнозируемого	
вещественного	параметра	...
Взвешенный kNN для	регрессии
Пример	(k	=	6):
6
5
5
5
4
4
7
7
3
3
2
2
5
5
6
4
??
x
x(2)
x(1)
x(3)
x(4)
x(5)
x(6)
Веса	можно...
Взвешенный kNN для	регрессии
Пример	(k	=	6):
6
5
5
5
4
4
7
7
3
3
2
2
5
5
6
4
??
x
x(2)
x(1)
x(3)
x(4)
x(5)
x(6)
Веса	можно...
Наиболее	часто	используемые	методы
Линейные	модели
Решающие	деревья
𝑥
Ансамбли	решающих	деревьев
Нейронные	сети
Нейронные	сети
Нейронные	сети
GoogLeNet
Функционалы	качества	и	методы	
оптимизации
Задача	регрессии
𝑥', 𝑥(, … , 𝑥G - точки,	в	которых	известны	значения	некоторой	
величины:
𝑦', 𝑦(, …, 𝑦G
Мы	строим прогнози...
Задача	регрессии
𝑥', 𝑥(, … , 𝑥G - точки,	в	которых	известны	значения	некоторой	
величины:
𝑦', 𝑦(, …, 𝑦G
Мы	строим прогнози...
Задача	регрессии
𝑥', 𝑥(, … , 𝑥G - точки,	в	которых	известны	значения	некоторой	
величины:
𝑦', 𝑦(, …, 𝑦G
Мы	строим прогнози...
Задача	классификации
𝑥', 𝑥(, … , 𝑥G - объекты,	для	которых	известны	их	классы:
𝑦', 𝑦(, …, 𝑦G
Мы	строим прогнозирующий	алго...
Задача	классификации
𝑥', 𝑥(, … , 𝑥G - объекты,	для	которых	известны	их	классы:
𝑦', 𝑦(, …, 𝑦G
Мы	строим прогнозирующий	алго...
Сложный	пример:	исправление	опечаток
Сложный	пример:	исправление	опечаток
𝑆𝑢𝑔𝑔𝑒𝑠𝑡 𝑤 = [𝑤', 𝑤(, … , 𝑤;]
В	алгоритме	есть	параметры,	которые	когда-то	
были	задан...
Сложный	пример:	исправление	опечаток
Возможное	решение:
𝑆𝑢𝑔𝑔𝑒𝑠𝑡 𝑤 = 𝑤', 𝑤(, … , 𝑤;
𝑃𝑜𝑠 𝑤c, 𝑤', 𝑤(,… , 𝑤; = 𝑗
N 𝑃𝑜𝑠(𝑐𝑤I, 𝑆𝑢...
Градиентные	методы	оптимизации
Методы	глобальной	оптимизации
Методы	глобальной	оптимизации
https://ru.wikipedia.org/wiki/Алгоритм_имитации_отжига
Признаки
Feature	engineering
• Выделение	признаков	(feature	extraction)	– генерация	признаков
по	известным	данным
• Отбор	признаков...
Пример	1:	текстовые	признаки
• Dataset:	20news_groups
• Электронные	письма,	разбитые	по 20	темам (классам)
• Попробуем	при...
Извлечение	текстовых	признаков
• Пример	письма	1:
87
From:	carl_f_hoffman@cup.portal.com
Newsgroups:	rec.autos
Subject:	19...
Извлечение	текстовых	признаков
• Пример	письма	2:
88
From:	Bob.Waldrop@f418.n104.z1.fidonet.org	(Bob	Waldrop)
Subject:	Cel...
Текстовые	признаки:	bag-of-words
89
Самый	простой	классификатор	текстов
90
Classifier
Text	
document
Bag-of-words
Пример	2:	признаки	аудиофайла
Пример	2:	признаки	аудиофайла
Пример	3:	признаки	изображения
Пример	4:	категориальные	признаки
№	cклада Город … Продано вина
(ящиков)
2343 Москва … 56000
185 Самара … 10500
121 Ростов...
Пример	4:	категориальные	признаки
№	cклада В среднем	
продают	в	городе
… Продано вина
(ящиков)
2343 59000 … 56000
185 1120...
Переобучение
Переобучение	на	примере	регрессии
Оценка	качества
Кросс-валидация
K-Fold	cross	validation:
На	картинке	k	=	5,	обычно	такое	k	и	используют.	Другие	частые	
варианты	– 3	и	10.
Кросс-валидация и	данные	«из	будущего»
История	про	танки
Классификатор:	есть	танки	на	снимке	или	нет
История	про	танки
Классификатор:	есть	танки	на	снимке	или	нет
Часть	III:	инструменты
Python
На	чем	будут	примеры
• Python	2.x,	библиотеки:	numpy,	scipy,	sklearn,	matplotlib
• Почему	Python?	Потому	что	можно	всего	в...
Scikit-learn
Scikit-learn
Машинное	обучение	в	несколько	строк
from	sklearn.linear_model import	LogisticRegression
model	=	LogisticRegression()
model...
Миссия	курса
Предпосылки
Задача:	нести	культуру	в	массы
Спасибо	за	внимание!
Lecture 1 - Introduction
Lecture 1 - Introduction
Lecture 1 - Introduction
Upcoming SlideShare
Loading in …5
×

Lecture 1 - Introduction

805 views

Published on

Machine learning tasks examples and basic concepts

Published in: Education
  • Be the first to comment

Lecture 1 - Introduction

  1. 1. Data Mining in Action Лекция 1 Примеры и основные понятия Виктор Кантор
  2. 2. Кто лектор Работа: Руководитель группы анализа пользовательского поведения в Yandex Data Factory, ранее – руководитель учебной группы в ABBYY Преподавание: • МФТИ: Спецкурс по анализу данных, Машинное обучение, Анализ изображений, Анализ Текстов • Яндекс: Автоматическая обработка текстов • СберТех: Машинное обучение, Язык Python и библиотеки для анализа данных • Coursera: специализация «Машинное обучение и анализ данных» от Яндекса и МФТИ
  3. 3. Кто лектор Задачи: • Автоматическое тегирование текстов, аннотирование, анализ тональности, поиск похожих, классификация и кластеризация текстов, выделение полей из распознанных бумажных документов (написанных в свободной форме) • Построение рекомендательных систем для магазинов • Оптимизация рекламных кампаний • Классификация изображений (сканов документов)
  4. 4. На этой лекции I. Примеры применения машинного обучения II. Стандартные задачи и методы III. Инструменты
  5. 5. Часть I: примеры применения
  6. 6. Пример задачи: кредитный скоринг
  7. 7. Выдача кредита German credit data set (UCI репозиторий) Обучающая выборка
  8. 8. Выдача кредита German credit data set (UCI репозиторий) Attribute 1: Status of existing checking account 1 : ... < 0 DM 2 : 0 <= ... < 200 DM 3 : ... >= 200 DM / salary assignments for at least 1 year 4 : no checking account
  9. 9. Выдача кредита German credit data set (UCI репозиторий) Attribute 2: Duration in month
  10. 10. Выдача кредита German credit data set (UCI репозиторий) Answer: 1 – Good, 2 - Bad
  11. 11. Выдача кредита Задача (supervised classification): предсказать класс (1 или 2) ? ? ? ? ? ? ? Более глобальная задача: Придумать алгоритм, генерирующий алгоритм классификации (“обученную модель”) на данной выборке Test set
  12. 12. Пример проекта: рекомендации товаров
  13. 13. Товар 1 Товар 2 Товар 3 Товар 4 Блок рекомендаций
  14. 14. Товар 1 Товар 2 Товар 3 Товар 4 Максимизация количества покупок Вероятность: 𝒑 𝟏 𝒑 𝟐 𝒑 𝟑 𝒑 𝟒
  15. 15. Товар 1 Товар 2 Товар 3 Товар 4 Максимизация дохода Вероятность: 𝒑 𝟏 𝒑 𝟐 𝒑 𝟑 𝒑 𝟒 Цена: 𝑐' 𝑐( 𝑐) 𝑐*
  16. 16. Максимизация дохода Вероятность: 0.05 0.02 0.015 0.009 Цена: 3490 1990 1590 1970
  17. 17. Прогнозирование вероятности • Объекты: тройки (пользователь, товар, момент времени) • Классы: 1 - товар будет куплен, 0 – товар не будет куплен • Признаки: параметры пользователя, товара, момента времени и их «взаимодействие»
  18. 18. Отбор кандидатов • Популярные • Популярные из тех же категорий • Часто просматриваемые вместе с теми товарами, которые пользователь уже видел • Из заранее подготовленных списков похожих товаров
  19. 19. Генерация негативных примеров • Добавить к каждому позитивному примеру весь каталог как негативный (не реально) • Случайные с равномерным распределением • Случайные, с вероятностями, пропорциональными популярности объекта • Самые популярные примеры • Те объекты, которые рекомендовал бы какой-то алгоритм, но они не были куплены
  20. 20. Точность (Precision@k) Рекомендованные товары Синяя футболка Красная футболка Кроссовки Кепка Зеленая футболка Купленные товары Красная футболка Кеды Кепка k – количество рекомендаций Precision@k = купленное из рекомендованного ; AveragePrecision@k - усредненный по сессиям Precision@k
  21. 21. Полнота (Recall@k) Рекомендованные товары Синяя футболка Красная футболка Кроссовки Кепка Зеленая футболка Купленные товары Красная футболка Кеды Кепка k – количество рекомендаций Recall@k = купленное из рекомендованного количество покупок AverageRecall@k - усредненный по сессиям Recall@k
  22. 22. Взвешенный ценами recall@k Рекомендованные товары Синяя футболка – 1000р Красная футболка – 1200р Кроссовки – 3500р Кепка – 900р Зеленая футболка – 800р Купленные товары Красная футболка – 1200р Кеды – 3000р Кепка – 900р Взвешенный ценами Recall@k = стоимость купленного из рекомендованного стоимость покупок AverageRecall@k - усредненный по сессиям Recall@k
  23. 23. Качество классификации против качества рекомендаций Пример – 2 решения для прогноза купит/не купит товар Алгоритм 1 Алгоритм 2 Качество классификации 0.52 0.85 Recall@5 0.72 0.71
  24. 24. История из практики: сравнение методов • Интегрировали чужое решение, чтобы сравнить качество со своим • Оценили качество у обоих • Совпало до тысячных долей • Не стали использовать чужое решение • Позже – выяснили, в чем дело :)
  25. 25. Онлайновая оценка качества Допустим, на исторических данных качество алгоритма высокое, а будет ли оно высоким в реальности?
  26. 26. Онлайновая оценка качества Допустим, на исторических данных качество алгоритма высокое, а будет ли оно высоким в реальности? Идеи: 1. А/В тест 2. Оценка статзначимости результата
  27. 27. A/B тест 1. Случайным образом делим пользователей на равные группы 2. Измеряем целевые метрики (например, количество заказов или доход) в каждой группе за длительный период времени 3. Получаем какое-то число для каждой группы 4. Что дальше?
  28. 28. Истории из практики: разбиение на группы • Предложено: • Брать hash от user_id • Смотреть на остаток от деления на 2 • Сделано: • Брать hash от user_id+user_email • Смотреть на остаток от деления на 2
  29. 29. Cтатистическая значимость: пример
  30. 30. Cтатистическая значимость: пример Одна кривая отличается от других на 10% Но разбиение на самом деле – случайное
  31. 31. На какие метрики смотрят в онлайне • Доход в группе • Доход с пользовательской сессии • Средняя стоимость купленного товара • Средний чек • Конверсия в покупку • Клики • Различные модели атрибуции: last click, first click
  32. 32. Итог: о чем нужно позаботиться • Высокоуровневая постановка задачи - от экономического эффекта • Оценка возможного экономического эффекта • Оценка реализуемости проекта • Оффлайновая оценка качества • Онлайновая оценка качества • Решение задачи – декомпозиция на подзадачи, выбор признаков, выбор моделей
  33. 33. Пример сервиса: аннотирование текстов
  34. 34. Аннотирование текста: сайт 2L2R.ru
  35. 35. Как все устроено • Текст разбивается на предложения • Из предложений извлекаются слова и приводятся в начальную форму • Для каждого предложения вычисляется его ранг • Выделяются предложения с самым высоким рангом
  36. 36. Аннотирование: плагин для браузера
  37. 37. Еще примеры
  38. 38. Часть II: стандартные задачи и методы
  39. 39. Стандартные постановки задач и простые методы их решения
  40. 40. Классификация Вход (обучающая выборка): Признаки N объектов с известными классами Выход: Классификатор (алгоритм, прогнозирующий классы новых объектов по их признакам)
  41. 41. 44 Классификация: обучающая выборка
  42. 42. Простой классификатор: kNN k nearest neighbours 45 k = 1 Шумы? (outliers)
  43. 43. Простой классификатор: kNN k nearest neighbours 46 k = 5 Possibly outliers Ошибки?
  44. 44. Взвешенный kNN Пример классификации (k = 6): ?
  45. 45. Взвешенный kNN Пример классификации (k = 6): ??
  46. 46. Взвешенный kNN Пример классификации (k = 6): ?? x x(2) x(1) x(3) x(4) x(5) x(6)
  47. 47. Взвешенный kNN Пример классификации (k = 6): ?? x x(2) x(1) x(3) x(4) x(5) x(6) Веса можно определить как функцию от соседа или его номера: w(x(i)) = w(i)
  48. 48. Взвешенный kNN Пример классификации (k = 6): ?? x x(2) x(1) x(3) x(4) x(5) x(6) Веса можно определить как функцию от соседа или его номера: w(x(i)) = w(i) или как функцию расстояния: w(x(i)) = w(d(x, x(i)))
  49. 49. Взвешенный kNN Пример классификации (k = 6): ?? x x(2) x(1) x(3) x(4) x(5) x(6) Веса можно определить как функцию от соседа или его номера: w(x(i)) = w(i) или как функцию расстояния: w(x(i)) = w(d(x, x(i))) Z = w(x(1)) +w(x(2))@w(x(3)) w(x(1)) +w(x(2))@w(x(3))@w(x(4)) +w(x(5))@w(x(6))
  50. 50. Взвешенный kNN Пример классификации (k = 6): ?? x x(2) x(1) x(3) x(4) x(5) x(6) Веса можно определить как функцию от соседа или его номера: w(x(i)) = w(i) или как функцию расстояния: w(x(i)) = w(d(x, x(i))) Z = w(x(1)) +w(x(2))@w(x(3)) w(x(1)) +w(x(2))@w(x(3))@w(x(4)) +w(x(5))@w(x(6)) Z = w(x(4)) +w(x(5))@w(x(6)) w(x(1)) +w(x(2))@w(x(3))@w(x(4)) +w(x(5))@w(x(6))
  51. 51. Взвешенный kNN Пример классификации (k = 6): ?? x x(2) x(1) x(3) x(4) x(5) x(6) Веса можно определить как функцию от соседа или его номера: w(x(i)) = w(i) или как функцию расстояния: w(x(i)) = w(d(x, x(i))) Z = w(x(1)) +w(x(2))@w(x(3)) w(x(1)) +w(x(2))@w(x(3))@w(x(4)) +w(x(5))@w(x(6)) Z = w(x(4)) +w(x(5))@w(x(6)) w(x(1)) +w(x(2))@w(x(3))@w(x(4)) +w(x(5))@w(x(6)) ? = argmax Z
  52. 52. Взвешенный kNN Пример классификации (k = 6): ?? x x(2) x(1) x(3) x(4) x(5) x(6) Веса можно определить как функцию от соседа или его номера: w(x(i)) = w(i) или как функцию расстояния: w(x(i)) = w(d(x, x(i))) Z = w(x(1)) +w(x(2))@w(x(3)) w(x(1)) +w(x(2))@w(x(3))@w(x(4)) +w(x(5))@w(x(6)) Z = w(x(4)) +w(x(5))@w(x(6)) w(x(1)) +w(x(2))@w(x(3))@w(x(4)) +w(x(5))@w(x(6)) ? = argmax Z if Z > Z : =? if Z < Z : =?
  53. 53. Центроидный классификатор ?
  54. 54. Центроидный классификатор ? Центры
  55. 55. Центроидный классификатор ? Центры Новый объект ближе к Поэтому, = ?
  56. 56. Кластеризация Вход (обучающая выборка): Признаки N объектов Выход: Найденные в выборке классы (кластеры), метки кластеров для объектов из обучающей выборки и алгоритм отнесения новых объектов к кластеру Пример: сегментация рынка
  57. 57. Кластеризация
  58. 58. Простой алгоритм кластеризации: kMeans
  59. 59. Регрессия Вход (обучающая выборка): Признаки N объектов с известными значениями прогнозируемого вещественного параметра объекта Выход: Алгоритм, прогнозирующий значение вещественной величины по признакам объекта
  60. 60. Взвешенный kNN для регрессии Пример (k = 6): 6 5 5 5 4 4 7 7 3 3 2 2 5 5 6 4 ?? x x(2) x(1) x(3) x(4) x(5) x(6) Веса можно определить как функцию от соседа или его номера: w(x(i)) = w(i) или как функцию расстояния: w(x(i)) = w(d(x, x(i)))
  61. 61. Взвешенный kNN для регрессии Пример (k = 6): 6 5 5 5 4 4 7 7 3 3 2 2 5 5 6 4 ?? x x(2) x(1) x(3) x(4) x(5) x(6) Веса можно определить как функцию от соседа или его номера: w(x(i)) = w(i) или как функцию расстояния: w(x(i)) = w(d(x, x(i))) = 4 B w(x(1)) + 4 B w(x(2)) @ 5 B w(x(3)) + 4 B w(x(4)) + 3 B w(x(5)) @ 3 B w(x(6)) w(x(1)) +w(x(2))@w(x(3))@w(x(4)) +w(x(5))@w(x(6)) ?
  62. 62. Наиболее часто используемые методы
  63. 63. Линейные модели
  64. 64. Решающие деревья 𝑥
  65. 65. Ансамбли решающих деревьев
  66. 66. Нейронные сети
  67. 67. Нейронные сети
  68. 68. Нейронные сети GoogLeNet
  69. 69. Функционалы качества и методы оптимизации
  70. 70. Задача регрессии 𝑥', 𝑥(, … , 𝑥G - точки, в которых известны значения некоторой величины: 𝑦', 𝑦(, …, 𝑦G Мы строим прогнозирующий алгоритм: 𝑦I ≈ 𝑎(𝑥I) Но что значит «примерно равно»?
  71. 71. Задача регрессии 𝑥', 𝑥(, … , 𝑥G - точки, в которых известны значения некоторой величины: 𝑦', 𝑦(, …, 𝑦G Мы строим прогнозирующий алгоритм: 𝑦I ≈ 𝑎(𝑥I) Но что значит «примерно равно»? Например, это: N 𝑦I − 𝑎 𝑥I ( → 𝑚𝑖𝑛 G IT'
  72. 72. Задача регрессии 𝑥', 𝑥(, … , 𝑥G - точки, в которых известны значения некоторой величины: 𝑦', 𝑦(, …, 𝑦G Мы строим прогнозирующий алгоритм: 𝑦I ≈ 𝑎(𝑥I) Но что значит «примерно равно»? В общем случае: N 𝐿 𝑦I, 𝑎 𝑥I → 𝑚𝑖𝑛 G IT'
  73. 73. Задача классификации 𝑥', 𝑥(, … , 𝑥G - объекты, для которых известны их классы: 𝑦', 𝑦(, …, 𝑦G Мы строим прогнозирующий алгоритм: 𝑦I = 𝑎 𝑥I Как выразить то, что он должен угадывать класс как можно чаще?
  74. 74. Задача классификации 𝑥', 𝑥(, … , 𝑥G - объекты, для которых известны их классы: 𝑦', 𝑦(, …, 𝑦G Мы строим прогнозирующий алгоритм: 𝑦I = 𝑎 𝑥I Как выразить то, что он должен угадывать класс как можно чаще? N 𝑦I ≠ 𝑎 𝑥I → 𝑚𝑖𝑛 G IT'
  75. 75. Сложный пример: исправление опечаток
  76. 76. Сложный пример: исправление опечаток 𝑆𝑢𝑔𝑔𝑒𝑠𝑡 𝑤 = [𝑤', 𝑤(, … , 𝑤;] В алгоритме есть параметры, которые когда-то были заданы «вручную». Хочется настроить их так, чтобы suggest был как можно «адекватней». Есть выборка: w (слово с опечаткой), cw(правильное написание) Как сформулировать «адекватность» suggest’а, как настроить параметры?
  77. 77. Сложный пример: исправление опечаток Возможное решение: 𝑆𝑢𝑔𝑔𝑒𝑠𝑡 𝑤 = 𝑤', 𝑤(, … , 𝑤; 𝑃𝑜𝑠 𝑤c, 𝑤', 𝑤(,… , 𝑤; = 𝑗 N 𝑃𝑜𝑠(𝑐𝑤I, 𝑆𝑢𝑔𝑔𝑒𝑠𝑡 𝑤I ) G IT' → 𝑚𝑖𝑛
  78. 78. Градиентные методы оптимизации
  79. 79. Методы глобальной оптимизации
  80. 80. Методы глобальной оптимизации https://ru.wikipedia.org/wiki/Алгоритм_имитации_отжига
  81. 81. Признаки
  82. 82. Feature engineering • Выделение признаков (feature extraction) – генерация признаков по известным данным • Отбор признаков (feature selection) – ранжирование признаков по «полезности» и выкидывание наименее полезных (или даже наоборот «вредных») • Преобразование признаков (feature transform) – создание новых признаков на основе имеющихся
  83. 83. Пример 1: текстовые признаки • Dataset: 20news_groups • Электронные письма, разбитые по 20 темам (классам) • Попробуем придумать классификатор, который различает две темы: auto и politics.mideast 86
  84. 84. Извлечение текстовых признаков • Пример письма 1: 87 From: carl_f_hoffman@cup.portal.com Newsgroups: rec.autos Subject: 1993 Infiniti G20 Message-ID: <78834@cup.portal.com> Date: Mon, 5 Apr 93 07:36:47 PDT Organization: The Portal System (TM) Lines: 26 I am thinking about getting an Infiniti G20. In consumer reports it is ranked high in many catagories including highest in reliability index for compact cars.
  85. 85. Извлечение текстовых признаков • Пример письма 2: 88 From: Bob.Waldrop@f418.n104.z1.fidonet.org (Bob Waldrop) Subject: Celebrate Liberty! 1993 Message-ID: <1993Apr5.201336.16132@dsd.es.com> Followup-To: talk.politics.misc Announcing. . . Announcing. . . Announcing. . .Announcing. . . CELEBRATE LIBERTY! 1993 LIBERTARIAN PARTY NATIONAL CONVENTION AND POLITICAL EXPO THE MARRIOTT HOTEL AND THE SALT PALACE
  86. 86. Текстовые признаки: bag-of-words 89
  87. 87. Самый простой классификатор текстов 90 Classifier Text document Bag-of-words
  88. 88. Пример 2: признаки аудиофайла
  89. 89. Пример 2: признаки аудиофайла
  90. 90. Пример 3: признаки изображения
  91. 91. Пример 4: категориальные признаки № cклада Город … Продано вина (ящиков) 2343 Москва … 56000 185 Самара … 10500 121 Ростов … 11300 … … … …
  92. 92. Пример 4: категориальные признаки № cклада В среднем продают в городе … Продано вина (ящиков) 2343 59000 … 56000 185 11200 … 10500 121 12100 … 11300 … … … …
  93. 93. Переобучение
  94. 94. Переобучение на примере регрессии
  95. 95. Оценка качества
  96. 96. Кросс-валидация K-Fold cross validation: На картинке k = 5, обычно такое k и используют. Другие частые варианты – 3 и 10.
  97. 97. Кросс-валидация и данные «из будущего»
  98. 98. История про танки Классификатор: есть танки на снимке или нет
  99. 99. История про танки Классификатор: есть танки на снимке или нет
  100. 100. Часть III: инструменты
  101. 101. Python
  102. 102. На чем будут примеры • Python 2.x, библиотеки: numpy, scipy, sklearn, matplotlib • Почему Python? Потому что можно всего в 5 - 30 строк очень простого кода продемонстрировать интересные явления. • Что использовать на практике – ваш выбор • Под Windows проще всего установить Anaconda Python
  103. 103. Scikit-learn
  104. 104. Scikit-learn
  105. 105. Машинное обучение в несколько строк from sklearn.linear_model import LogisticRegression model = LogisticRegression() model.fit(X_train, y_train) predictions = model.predict(X_test)
  106. 106. Миссия курса
  107. 107. Предпосылки
  108. 108. Задача: нести культуру в массы
  109. 109. Спасибо за внимание!

×