Uploaded by y.a.f

Основы машинного обучения

advertisement
ФиПЛ-2022
Основы машинного
обучения
Что такое машинное обучение
Машинное обучение – набор способов воспроизведения связей между
событиями и результатом.
Машинное обучение – обширный подраздел искусственного
интеллекта, изучающий методы построения алгоритмов, способных
обучаться.
Machine learning – the field of study that gives computers the ability to learn
without being explicitly programmed.
Машинное обучение
2
Пример: задача о ресторанах
У нас есть:
o несколько ресторанов
o хотим открыть еще один
o несколько вариантов размещения
o какой из вариантов принесет
максимальную прибыль?
Машинное обучение
3
Формализация задачи
Х – множество объектов
Y – множество ответов
a: X → Y – неизвестная зависимость
Дано:
𝑥𝑥1 , 𝑥𝑥2 , … , 𝑥𝑥𝑛𝑛 ∈ 𝑋𝑋 – обучающая выборка
𝑦𝑦1 , 𝑦𝑦2 , … , 𝑦𝑦𝑛𝑛 ∈ 𝑌𝑌 – известные ответы
Найти:
a: X → Y – алгоритм (решающую функцию),
приближающую y на всем множестве X
Машинное обучение
4
Три составляющие машинного обучения
Цель машинного обучения —
предсказать результат по входным
данным.
 Данные
 Признаки
 Алгоритм
Машинное обучение
5
Структура области знаний
Машина может
Машина не может
воспроизводить
выйти за рамки задачи
выбирать лучшее
убить всех человеков
предсказывать
запоминать
Машинное обучение
создавать новое
резко поумнеть
6
Из чего состоит:
 Классические алгоритмы
 Ансамблевые методы
 Нейронные сети
Мы обсудим за три занятия:
 Основные понятия (признаки, целевая
переменная, обучающая и
проверочная выборка, метрики)
 Задача регрессии, виды алгоритмов
 Задача классификации, виды
алгоритмов
Машинное обучение
7
Классическое машинное обучение
Признаки - простые
Виды задач и способов обучения
Обучение бывает:
• с учителем (есть размеченные данные)
• без учителя (нет размеченных данных)
• с подкреплением (semi-supervised)
Задачи зависят от способа обучения
Машинное обучение
9
Обучение с учителем
Виды алгоритмов
Регрессия
Используемые алгоритмы:
Сегодня используют для:
• Линейная регрессия
• Полиномиальная регрессия
 Прогноз стоимости ценных бумаг
• Ридж/Лассо (с регуляризацией весов)
 Анализ спроса, объема продаж
 Медицинские диагнозы
 Любые зависимости числа от времени
Машинное обучение
11
Основа основ!
Линейная регрессия
• Пытаемся построить прямую
таким образом, чтобы наши
данные на графике были к
ней поближе
• Все нейронные сети
основываются на этой самой
простой задаче!
Машинное обучение
12
Сегодня используют для:
Классификация
Используемые алгоритмы:
• Логистическая Регрессия
 Спам-фильтры
• Метод Опорных Векторов
 Определение языка
• Наивный Байес
 Поиск похожих документов
• Деревья Решений
 Анализ тональности
 Распознавание рукописных букв и цифр
 Определение подозрительных
транзакций
Машинное обучение
13
Логистическая регрессия
Не путать с линейной!
• Пытаемся построить прямую
таким образом, чтобы наши
данные на графике были к
ней поближе
• А потом преобразовываем
все значения y в интервал от
0 до 1 (вероятности)!
Машинное обучение
14
Метод опорных векторов (SVM)
• Ищет, как так провести две прямые
между категориями, чтобы между ними
образовался наибольший зазор.
• Полезен (как и любая классификация) для
поиска аномалий.
• Можно сделать классификатор лиц! (но
зачем?..)
• На нем до сих пор работают спамфильтры.
Машинное обучение
15
Наивный Байес
• Использует теорему Байеса, которая
утверждает, что вероятность того,
что в письме есть слово «котик» и
что это письмо одновременно –
спам, равна вон той формуле
• Неплохо работает с текстовыми
данными!
Машинное обучение
16
Деревья решений
Машина автоматически разделяет все
данные по вопросам, ответы на
которые «да» или «нет». Вопросы
могут быть не совсем адекватными с
точки зрения человека,
например «зарплата заёмщика больше,
чем 25934 рубля?», но машина
придумывает их так, чтобы на каждом
шаге разбиение было самым точным.
Машинное обучение
17
Обучение без учителя
Виды алгоритмов
Кластеризация
Используемые алгоритмы:
Сегодня используют для:
• Метод K-средних
• DBSCAN
 Сегментация рынка (типов покупателей,
лояльности)
 Объединение близких точек на карте
 Сжатие изображений
 Анализ и разметки новых данных
 Детекторы аномального поведения
Машинное обучение
19
Метод К-средних
• Выбираем случайным образом
несколько точек среди наших
объектов
• Измеряем расстояние до всех точек
от наших
• Передвигаем наши точки так, чтобы
эти расстояния в целом
уменьшались
Машинное обучение
20
DBSCAN (Форель)
Точки — это люди на площади. Находим
три любых близко стоящих человека и
говорим им взяться за руки. Затем они
начинают брать за руку тех, до кого
могут дотянуться. Так по цепочке, пока
никто больше не сможет взять кого-то за
руку — это и будет первый кластер.
Повторяем, пока не поделим всех. Те,
кому вообще некого брать за руку — это
выбросы, аномалии.
Машинное обучение
21
Уменьшение размерности
Сегодня используют для:
Используемые алгоритмы:
• Метод главных компонент (PCA)
 Рекомендательные Системы
• t-SNE (для визуализации)
 Красивые визуализации
• Сингулярное разложение (SVD)
 Определение тематики и поиска
• Латентное размещение Дирихле
похожих документов
 Анализ фейковых изображений
 Риск-менеджмент
Машинное обучение
(LDA)
• Латентно-семантический анализ (LSA,
pLSA, GLSA)
22
Метод главных компонент
Пытаемся спроецировать наши
точки из пространства более
высокой мерности: например, из
3D в 2D. Это незаменимо, когда
нам нужно визуально представить
точки в мерности > 3...
Машинное обучение
23
t-SNE
Очень хороший метод
визуализации, часто лучше, чем
PCA
Машинное обучение
24
SVD
SVD – это довольно сложный
математический метод снижения
размера матрицы (как нам извлечь
все важные данные из матрицы
размером 100000х100000, чтобы
оставить только 100х100...)
Машинное обучение
25
LDA
Латентное размещение Дирихле –
тоже очень сложные
математические преобразования,
но результат простой – деление
документов по темам с помощью
приписывания словам весов тем.
Машинное обучение
26
Чего мы с вами точно не пройдем
Но интересное...
Обучение с подкреплением
Сегодня используют для:
 Самоуправляемых автомобилей
 Роботов пылесосов
 Игр
 Автоматической торговли
 Управления ресурсами
предприятий
Машинное обучение
видео про роботов
28
Ансамбли
Стекинг
Беггинг
Бустинг
Алгоритмы должны быть разные, а
один – решающий на основе их
ответов.
На практике применяется реже
двух других, потому что менее
точный.
Обучаем один алгоритм много
раз на случайных выборках из
исходных данных. В самом конце
усредняем ответы.
Обучаем алгоритмы
последовательно, каждый
следующий уделяет особое
внимание тем случаям, на которых
ошибся предыдущий.
Машинное обучение
29
Нейронные сети
Признаки - сложные
Основная идея
• Взять обычную линейную регрессию и настакать
их много, промазав нелинейными функциями
активации?..
• Нейронные сети – куча маленьких нейрончиков
(которые внутри себя – линейная регрессия),
объединенных в слои. На выходе каждого слоя
результаты работы нейрончиков принимают
функции активации (сигмоида, ReLU, tanh и
другие) для того, чтобы куча маленьких линейных
регрессий не превратилась в одну большую
линейную регрессию.
• Нейронные сети – составные. Слои можно
собирать в любых пропорциях и любых видов.
• Вся соль в архитектуре нейронной сети (что,
каким образом и в каком порядке соединено в
одну большую сеть)
Presentation title
31
Perceptron
Перцептрон – самая примитивная
нейронная сеть, ее придумали еще
в 1950х!
Многослойный перцептрон еще
называют полносвязной сетью
(потому что все нейроны друг с
другом связаны).
Машинное обучение
32
CNN
Convolutional Neural Network –
используется для работы с
картинками (но и с текстами
иногда тоже). Умеет собирать
информацию с поверхности
картинки, сворачивая большую
картинку во что-то маленькое!
Машинное обучение
33
RNN
Recurrent Neural Network –
используется для работы с
последовательностями (особенно
текстами). Умеет запоминать, чего
там было раньше!
Машинное обучение
34
GAN
Генеративно-состязательная сеть –
используется для генерации
(обычно изображений). Состоит
из двух частей: генератора и
дискриминатора, которые
пытаются друг друга переплюнуть.
Машинное обучение
35
Трансформеры
Трансформеры используют механизм
внимания: они обращают на
отдельные элементы
последовательности больше
внимания, чем на все остальные. Они
очень хороши для работы с
текстами.
Машинное обучение
36
Что такое BERT и ELMo?
• Это языковые модели.
• Они обучались как обычная нейронная сеть –
трансформер, но задача, которую их учили решать,
дурацкая: угадывание контекста по слову.
• Когда они выучились (на сырых текстах, потому что
задача такая, достаточно маскировать отдельные слова),
слой, решающий саму задачу, сняли, и остались только те
слои, которые извлекли информацию из данных.
• К любой из этих моделей можно сверху «приставить
голову»: добавить слой, который будет учиться на их
информации решать другие задачи для текстов.
Машинное обучение
37
Итог
Искусственный интеллект – это огромная область науки, связанная
далеко не только с лингвистикой.
Некоторые лингвистические задачи очень хорошо решать с его
помощью.
Современные компьютерные лингвисты обязаны хорошо знать
классические алгоритмы МО и нейронные сети.
Машинное обучение
38
Download