SlideShare a Scribd company logo
1 of 69
МАШИННОЕ ОБУЧЕНИЕ
“УБИТЬ ВСЕХ ЧЕЛОВЕКОВ!” или
Ivan Miniailenko <discrete.west@gmail.com> @diswest
Aviasales 2016
ЧТО ЭТО ТАКОЕ?
МАШИННОЕ ОБУЧЕНИЕ
ЧТО ЭТО ТАКОЕ?
НИКАКОЙ МАГИИ!
МАШИННОЕ ОБУЧЕНИЕ
МАШИННОЕ ОБУЧЕНИЕ
НИКАКОЙ МАГИИ
images: http://blog.clarifai.com/what-convolutional-neural-networks-see-at-when-they-see-nudity/
МАШИННОЕ ОБУЧЕНИЕ
НИКАКОЙ МАГИИ
image: https://en.wikipedia.org/wiki/The_Starry_Night
МАШИННОЕ ОБУЧЕНИЕ
НИКАКОЙ МАГИИ
image: http://www.ucreative.com/inspiration/google-deep-dream-is-the-trippiest-thing-in-the-internet/
МАШИННОЕ ОБУЧЕНИЕ
НИКАКОЙ МАГИИ
image: http://arxiv.org/pdf/1601.04589v1.pdf
МАШИННОЕ ОБУЧЕНИЕ
НИКАКОЙ МАГИИ
image: http://arxiv.org/pdf/1508.06576v2.pdf
ОБУЧЕНИЕ С УЧИТЕЛЕМ
SUPERVISED LEARNING
image: https://www.coloribus.com/adsarchive/prints/playboy-magazine-hot-teachers-12602755/
ОБУЧЕНИЕ С УЧИТЕЛЕМ
ПАРЫ: ОБЪЕКТ - ОТВЕТ
ПЛОЩАДЬ
КОМНАТЫ
РАССТОЯНИЕ
ДО МОРЯ
ЦЕНА
ЦВЕТ
ФОРМА
ТОЛЩИНА
ТИП ПРЕДМЕТАДЛИНА
РЕГРЕССИЯ
КЛАССИФИКАЦИЯ
ОБУЧЕНИЕ С УЧИТЕЛЕМ
РЕГРЕССИЯ. ДАННЫЕ
ЦЕНА
ПЛОЩАДЬ ДОМА
ОБУЧЕНИЕ С УЧИТЕЛЕМ
РЕГРЕССИЯ. ОБУЧЕНИЕ
ЦЕНА
ПЛОЩАДЬ ДОМА
ОБУЧЕНИЕ С УЧИТЕЛЕМ
РЕГРЕССИЯ. ИСПОЛЬЗОВАНИЕ
ЦЕНА
ПЛОЩАДЬ ДОМА
ОБУЧЕНИЕ С УЧИТЕЛЕМ
КЛАССИФИКАЦИЯ
СЫЧ
НЕ СЫЧ
ОБУЧЕНИЕ С УЧИТЕЛЕМ
КЛАССИФИКАЦИЯ. ОБУЧЕНИЕ
СЫЧИ
ДРУГИЕ ПТИЦЫ
РАЗМАХ КРЫЛЬЕВ
ВЕС
ОБУЧЕНИЕ С УЧИТЕЛЕМ
КЛАССИФИКАЦИЯ. ОБУЧЕНИЕ
СЫЧИ
ДРУГИЕ ПТИЦЫ
РАЗМАХ КРЫЛЬЕВ
ВЕС
ОБУЧЕНИЕ С УЧИТЕЛЕМ
КЛАССИФИКАЦИЯ. ИСПОЛЬЗОВАНИЕ
СЫЧИ
ДРУГИЕ ПТИЦЫ
РАЗМАХ КРЫЛЬЕВ
ВЕС
ОБУЧЕНИЕ С УЧИТЕЛЕМ
КЛАССИФИКАЦИЯ. ЕЩЁ ПРИМЕР
ОБУЧЕНИЕ БЕЗ УЧИТЕЛЯ
UNSUPERVISED LEARNING
image: Futurama s06e06
ОБУЧЕНИЕ БЕЗ УЧИТЕЛЯ
ТОЛЬКО ОБЪЕКТЫ
ЦВЕТ
ФОРМА
ТОЛЩИНА
ДЛИНА
ЦВЕТ
ФОРМА
ТОЛЩИНА
ДЛИНА
ЦВЕТ
ФОРМА
ТОЛЩИНА
ДЛИНА
ЦВЕТ
ФОРМА
ТОЛЩИНА
ДЛИНА
ЦВЕТ
ФОРМА
ТОЛЩИНА
ДЛИНА
ОБУЧЕНИЕ БЕЗ УЧИТЕЛЯ
КЛАСТЕРИЗАЦИЯ. ДАННЫЕ
УМНЫЕ
КРАСИВЫЕ
ОБУЧЕНИЕ БЕЗ УЧИТЕЛЯ
КЛАСТЕРИЗАЦИЯ. ОБУЧЕНИЕ
УМНЫЕ
КРАСИВЫЕ
ОБУЧЕНИЕ С
ПОДКРЕПЛЕНИЕМ
REINFORCEMENT LEARNING
image: https://wall.alphacoders.com/big.php?i=584427
КАК ЭТИМ
ПОЛЬЗОВАТЬСЯ?
МАШИННОЕ ОБУЧЕНИЕ
РЕШЕНИЕ ЗАДАЧ
ЭТАПЫ РЕШЕНИЯ ЗАДАЧИ
1. ПОСТАНОВКА ЗАДАЧИ
2. СБОР ДАННЫХ
3. ПОДГОТОВКА ДАННЫХ
4. ВЫБОР И НАСТРОЙКА АЛГОРИТМА
5. ОБУЧЕНИЕ
6. ИСПОЛЬЗОВАНИЕ
РЕШЕНИЕ ЗАДАЧ
ПОСТАНОВКА ЗАДАЧИ
МАШИННОЕ ОБУЧЕНИЕ – НЕ “СЕРЕБРЯНАЯ ПУЛЯ”
РЕШЕНИЕ ЗАДАЧ
СБОР ДАННЫХ
“IT'S NOT WHO HAS THE BEST ALGORITHM THAT WINS,
IT'S WHO HAS THE MOST DATA”
Michele Banko and Eric Brill, 2001
© Andrew Ng
РЕШЕНИЕ ЗАДАЧ
ПОДГОТОВКА ДАННЫХ
- ВЫБОР ПРИЗНАКОВ (FEATURE SELECTION)
- НОРМАЛИЗАЦИЯ
- ПРЕДСТАВЛЕНИЕ НЕЧИСЛОВЫХ ПРИЗНАКОВ
РЕШЕНИЕ ЗАДАЧ
ВЫБОР АЛГОРИТМА
ОТ ПРОСТОГО К СЛОЖНОМУ
РЕШЕНИЕ ЗАДАЧ
НОРМАЛЬНО ОБУЧЕННАЯ МОДЕЛЬ
РЕШЕНИЕ ЗАДАЧ
СЛАБАЯ МОДЕЛЬ (UNDERFITTING)
РЕШЕНИЕ ЗАДАЧ
ПЕРЕОБУЧЕННАЯ МОДЕЛЬ (OVERFITTING)
РЕШЕНИЕ ЗАДАЧ
ТЕСТОВЫЙ НАБОР ДАННЫХ
ДАННЫЕ
80% 20%
УЧЕБНЫЙ НАБОР
(TRAINING SET)
ТЕСТОВЫЙ НАБОР
(TEST SET)
СЛУЧАЙНАЯ
ВЫБОРКА
РЕШЕНИЕ ЗАДАЧ
НАСТРОЙКА АЛГОРИТМА
ЧТО ВЫБРАТЬ?
ИЛИ ИЛИ
РЕШЕНИЕ ЗАДАЧ
НАСТРОЙКА АЛГОРИТМА
ЧТО ВЫБРАТЬ?
ИЛИ ИЛИ
НЕЛЬЗЯ ИСПОЛЬЗОВАТЬ ТЕСТОВЫЙ НАБОР ДАННЫХ ДЛЯ
НАСТРОЙКИ МОДЕЛИ!
РЕШЕНИЕ ЗАДАЧ
ПРОВЕРОЧНЫЙ НАБОР ДАННЫХ
60% 20%
УЧЕБНЫЙ НАБОР
(TRAINING SET)
ТЕСТОВЫЙ НАБОР
(TEST SET)
(CROSS-VALIDATION)
20%
ПРОВЕРОЧНЫЙ НАБОР
(CROSS-VALIDATION SET)
СЛУЧАЙНАЯ
ВЫБОРКА
СЛУЧАЙНАЯ ВЫБОРКА
РЕШЕНИЕ ЗАДАЧ
НАСТРОЙКА АЛГОРИТМА
ОБУЧАЕМ КАЖДУЮ МОДЕЛЬ НА УЧЕБНОМ НАБОРЕ
TRAINING SET
РЕШЕНИЕ ЗАДАЧ
НАСТРОЙКА АЛГОРИТМА
СРАВНИВАЕМ ТОЧНОСТЬ НА ПРОВЕРОЧНОМ НАБОРЕ
0.840.960.92
CROSS-VALIDATION SET
РЕШЕНИЕ ЗАДАЧ
НАСТРОЙКА АЛГОРИТМА
ПРОВЕРЯЕМ ЛУЧШУЮ МОДЕЛЬ НА ТЕСТОВОМ НАБОРЕ
TEST SET
0.94
РЕШЕНИЕ ЗАДАЧ
ОБУЧЕНИЕ
ЧТО-ТО ПОШЛО НЕ ТАК…
РЕШЕНИЕ ЗАДАЧ
РЕШЕНИЕ ПРОБЛЕМ. СЛАБАЯ МОДЕЛЬ
- Больше обучающих данных
- Дополнительные признаки
- Более сложная модель
- Повышение точности алгоритма (регуляризация)
РЕШЕНИЕ ЗАДАЧ
РЕШЕНИЕ ПРОБЛЕМ. ПЕРЕОБУЧЕНИЕ
- Меньше признаков
- Более простая модель
- Уменьшение точности алгоритма (регуляризация)
РЕШЕНИЕ ЗАДАЧ
ВИЗУАЛИЗАЦИЯ ОБУЧЕНИЯ. TRAINING SET
КОЛИЧЕСТВО ПРИМЕРОВ
ОШИБКА
РЕШЕНИЕ ЗАДАЧ
ВИЗУАЛИЗАЦИЯ ОБУЧЕНИЯ. TRAINING SET
ПЛОЩАДЬ ДОМА
ЦЕНА
ЧИСЛО ПРИМЕРОВ: 1
РЕШЕНИЕ ЗАДАЧ
ВИЗУАЛИЗАЦИЯ ОБУЧЕНИЯ. TRAINING SET
ПЛОЩАДЬ ДОМА
ЦЕНА
ОШИБКА = 0
ЧИСЛО ПРИМЕРОВ: 1
РЕШЕНИЕ ЗАДАЧ
ВИЗУАЛИЗАЦИЯ ОБУЧЕНИЯ. TRAINING SET
ПЛОЩАДЬ ДОМА
ЦЕНА
ЧИСЛО ПРИМЕРОВ: 2
РЕШЕНИЕ ЗАДАЧ
ВИЗУАЛИЗАЦИЯ ОБУЧЕНИЯ. TRAINING SET
ПЛОЩАДЬ ДОМА
ЦЕНА
ОШИБКА = 0
ЧИСЛО ПРИМЕРОВ: 2
РЕШЕНИЕ ЗАДАЧ
ВИЗУАЛИЗАЦИЯ ОБУЧЕНИЯ. TRAINING SET
ПЛОЩАДЬ ДОМА
ЦЕНА
ЧИСЛО ПРИМЕРОВ: 3
РЕШЕНИЕ ЗАДАЧ
ВИЗУАЛИЗАЦИЯ ОБУЧЕНИЯ. TRAINING SET
ПЛОЩАДЬ ДОМА
ЦЕНА
ОШИБКА > 0
ЧИСЛО ПРИМЕРОВ: 3
РЕШЕНИЕ ЗАДАЧ
ВИЗУАЛИЗАЦИЯ ОБУЧЕНИЯ. CV SET
КОЛИЧЕСТВО ПРИМЕРОВ
ОШИБКА
РЕШЕНИЕ ЗАДАЧ
РЕШЕНИЕ ПРОБЛЕМ. ДИАГНОСТИКА
КОЛИЧЕСТВО ПРИМЕРОВ
НОРМАЛЬНО ОБУЧЕННАЯ МОДЕЛЬ
ОШИБКА
УЧЕБНЫЙ НАБОР (TRAINING SET)
ПРОВЕРОЧНЫЙ НАБОР (CROSS-VALIDATION SET)
РЕШЕНИЕ ЗАДАЧ
РЕШЕНИЕ ПРОБЛЕМ. ДИАГНОСТИКА
КОЛИЧЕСТВО ПРИМЕРОВ
СЛАБАЯ МОДЕЛЬ
ОШИБКА
УЧЕБНЫЙ НАБОР (TRAINING SET)
ПРОВЕРОЧНЫЙ НАБОР (CROSS-VALIDATION SET)
РЕШЕНИЕ ЗАДАЧ
РЕШЕНИЕ ПРОБЛЕМ. ДИАГНОСТИКА
КОЛИЧЕСТВО ПРИМЕРОВ
ПЕРЕОБУЧЕНИЕ
ОШИБКА
УЧЕБНЫЙ НАБОР (TRAINING SET)
ПРОВЕРОЧНЫЙ НАБОР (CROSS-VALIDATION SET)
РЕШЕНИЕ ЗАДАЧ
ИСПОЛЬЗОВАНИЕ
МОДЕЛЬ РАБОТАЕТ НА РЕАЛЬНЫХ НЕЗНАКОМЫХ ДАННЫХ
РЕАЛЬНЫЕ ОБЪЕКТЫ ОТВЕТЫ
ПРИМЕРЫ
МАШИННОЕ ОБУЧЕНИЕ
ЧАТ-БОТ
МАШИННОЕ ОБУЧЕНИЕ. ПРИМЕРЫ
image: http://diginomica.com/2016/04/26/facebook-messenger-and-its-ai-chatbots-should-the-enterprise-care/
ЧАТ-БОТ
ЭТАПЫ РЕШЕНИЯ ЗАДАЧИ
1. Анализ поисковых запросов и сбор данных
2. Обработка текста
3. Составление словаря
4. Генерация обучающих данных
5. Выбор и настройка модели
6. Обучение
7. Использование
ЧАТ-БОТ
АНАЛИЗ И СБОР ДАННЫХ
- Люди пишут боту то же, что и в поисковик
- Есть инструменты для аналитики запросов
- Выгружаем аналитику и получаем реальные данные
- Размечаем данные (выделение типов запросов)
- Делим на три части (60/20/20)
ЧАТ-БОТ
ОБРАБОТКА ТЕКСТА
- Приведение к одному регистру
- Токенизация (названия городов, даты и т.п.)
- Стемминг
- Удаление всего, кроме слов
- Коррекция
ЧАТ-БОТ
ОБРАБОТКА ТЕКСТА. ПРИМЕР
“Здравствуйте!
Я бы хотела купить пару билетиков из москвы в лосанжелес. 

В эту пятницу на две недели. Двое взростлых и один ребеночек.
Здоровья вам. “
здравств я бы хо куп пар билет из %city% в %city% в эт %date% 

на %period% %adults% и %children% здоров в
ЧАТ-БОТ
СОСТАВЛЕНИЕ СЛОВАРЯ
[
1: %city%
2: %date%
3: куп
4: из
…
5796: сп
]
1. Выбрать все слова из доступных данных
2. Упорядочить по частоте
3. Составить словарь
ЧАТ-БОТ
ГЕНЕРАЦИЯ ОБУЧАЮЩИХ ДАННЫХ
ДЛЯ КАЖДОГО ПРИМЕРА:
1. Обработать текст (как при составлении словаря)
2. Каждое слово заменить на индекс в словаре
3. Сгенерировать обучающий объект (битовый вектор)
4. Назначить обучающему объекту класс
5. Объект-класс – обучающий пример для модели
ЧАТ-БОТ
ГЕНЕРАЦИЯ ОБУЧАЮЩИХ ДАННЫХ
“хочу купить билет из Москвы в Санкт-Петербург на 10 июля“
хо куп бил из %city% в %city% на %date%
ОБРАБОТКА ТЕКСТА
ЧАТ-БОТ
ГЕНЕРАЦИЯ ОБУЧАЮЩИХ ДАННЫХ
хо куп бил из %city% в %city% на %date%
10 3 8 4 1 6 1 25 2
ЗАМЕНА СЛОВ НА ИДЕНТИФИКАТОРЫ ПО СЛОВАРЮ
10 3 8 4 1 16 25 2
ЧАТ-БОТ
ГЕНЕРАЦИЯ ОБУЧАЮЩИХ ДАННЫХ
10 3 8 4 1 6 1 25 2
ГЕНЕРАЦИЯ ОБУЧАЮЩЕГО ОБЪЕКТА
[
1: 1
2: 1
3: 1
4: 1
5: 0
6: 1
…
25: 1
…
5796: 0
]
ЧАТ-БОТ
ГЕНЕРАЦИЯ ОБУЧАЮЩИХ ДАННЫХ
search_request
НАЗНАЧЕНИЕ КЛАССА ОБУЧАЮЩЕМУ ОБЪЕКТУ
[
1: 1
2: 1
3: 1
4: 1
5: 0
6: 1
…
25: 1
…
5796: 0
]
ЧАТ-БОТ
ВЫБОР И НАСТРОЙКА МОДЕЛИ. ОБУЧЕНИЕ
- Размер словаря – количество признаков объекта
- Типы запросов – классы
- Задача классификации:
- нейронные сети
- SVM
- random forest
…
ЧАТ-БОТ
ИСПОЛЬЗОВАНИЕ
1. Получение запроса
2. Определение типа запроса с использованием модели
2.1. Обработка текста
2.2. Замена слов по словарю
2.3. Сборка объекта (битовый вектор)
2.3. Классификация объекта обученной моделью
3. (для поискового запроса) Извлечение параметров поиска
4. Поиск, получение ответа и генерация ответа пользователю
ВСЕМ СПАСИБО!
МАШИННОЕ ОБУЧЕНИЕ
Ivan Miniailenko <discrete.west@gmail.com> @diswest
Aviasales 2016

More Related Content

Viewers also liked

Коммерциализация инновационных процессов (38.04.01. Экономика)
Коммерциализация инновационных процессов (38.04.01. Экономика)Коммерциализация инновационных процессов (38.04.01. Экономика)
Коммерциализация инновационных процессов (38.04.01. Экономика)Александр Владыка
 
Классификация изображений с помощью нейронных сетей. Сжатие и ускорение обуче...
Классификация изображений с помощью нейронных сетей. Сжатие и ускорение обуче...Классификация изображений с помощью нейронных сетей. Сжатие и ускорение обуче...
Классификация изображений с помощью нейронных сетей. Сжатие и ускорение обуче...Yandex
 
Подход к разработке чат-ботов в wobot.me
Подход к разработке чат-ботов в wobot.meПодход к разработке чат-ботов в wobot.me
Подход к разработке чат-ботов в wobot.mechatbotscommunity
 
How to integrate chatbot into your business?
How to integrate chatbot into your business?How to integrate chatbot into your business?
How to integrate chatbot into your business?chatbotscommunity
 
Коммерческие чатботы (инфы) и что за ними стоит
Коммерческие чатботы (инфы) и что за ними стоитКоммерческие чатботы (инфы) и что за ними стоит
Коммерческие чатботы (инфы) и что за ними стоитChatBotCamp
 
Лето нашей мечты - сдать ЕГЭ, поступить на бюджет и начать карьеру с 1-го курса
Лето нашей мечты - сдать ЕГЭ, поступить на бюджет и начать карьеру с 1-го курсаЛето нашей мечты - сдать ЕГЭ, поступить на бюджет и начать карьеру с 1-го курса
Лето нашей мечты - сдать ЕГЭ, поступить на бюджет и начать карьеру с 1-го курсаАлександр Владыка
 

Viewers also liked (6)

Коммерциализация инновационных процессов (38.04.01. Экономика)
Коммерциализация инновационных процессов (38.04.01. Экономика)Коммерциализация инновационных процессов (38.04.01. Экономика)
Коммерциализация инновационных процессов (38.04.01. Экономика)
 
Классификация изображений с помощью нейронных сетей. Сжатие и ускорение обуче...
Классификация изображений с помощью нейронных сетей. Сжатие и ускорение обуче...Классификация изображений с помощью нейронных сетей. Сжатие и ускорение обуче...
Классификация изображений с помощью нейронных сетей. Сжатие и ускорение обуче...
 
Подход к разработке чат-ботов в wobot.me
Подход к разработке чат-ботов в wobot.meПодход к разработке чат-ботов в wobot.me
Подход к разработке чат-ботов в wobot.me
 
How to integrate chatbot into your business?
How to integrate chatbot into your business?How to integrate chatbot into your business?
How to integrate chatbot into your business?
 
Коммерческие чатботы (инфы) и что за ними стоит
Коммерческие чатботы (инфы) и что за ними стоитКоммерческие чатботы (инфы) и что за ними стоит
Коммерческие чатботы (инфы) и что за ними стоит
 
Лето нашей мечты - сдать ЕГЭ, поступить на бюджет и начать карьеру с 1-го курса
Лето нашей мечты - сдать ЕГЭ, поступить на бюджет и начать карьеру с 1-го курсаЛето нашей мечты - сдать ЕГЭ, поступить на бюджет и начать карьеру с 1-го курса
Лето нашей мечты - сдать ЕГЭ, поступить на бюджет и начать карьеру с 1-го курса
 

Машинное обучение. Что это такое и как с этим жить.