Машинное обучение — это раздел математики, изучающий способы извлечения закономерностей из ограниченного числа примеров.
Рассмотрим несколько примеров задач, которые решаются с помощью машинного обучения.
Кредитный скоринг.
Задача: выяснить, какие заявки на кредит можно одобрить.
Лента Facebook/Дзен по интересности (вместо сортировки по времени).
Задача: показать посты, наиболее интересные для конкретного человека.
Детектирование некорректной работы.
Предположим, что у нас есть завод, на котором происходят некоторые процессы (стоят какие-то котлы, станки, работают сотрудники). На предприятии может произойти поломка, например, сломается датчик уровня жидкости в баке, из-за чего насос не остановится при достижении нужного уровня и нефть начнёт разливаться по полу, что может привести к неизвестным последствиям. Или же сотрудники объявят забастовку и вся работа остановится. Мы хотим, чтобы завод работал исправно, а обо всех проблемах узнавать как можно раньше.
Задача: предсказать поломки/нештатные ситуации на заводе.
Вопросно-ответная система (как Siri).
Задача: ответить голосом на вопрос, заданный голосом.
Self-driving cars.
Задача: доехать из точки \( А \) в точку \( В \).
Перенос стиля изображения.
Задача: перенести стиль одного изображения на другое (смешать стиль одного с контекстом другого).
Как видим, задачи очень разнообразны. Мы начнем наш путь со следующей классической постановки (к которой, кстати, сводятся многие вышеперечисленные задачи): по имеющемуся признаковому описанию объекта \( x \in \mathbb{R}^m \) предсказать значение целевой переменной \( y \in \mathbb{R}^k \) для данного объекта. Обычно \( k=1 \).
Например, в случае кредитного скоринга \( x \)-ом являются все известные о клиенте данные (доход, пол, возраст, кредитная история и т.д.), а \( y \)-ом одобрение или неодобрение заявки на кредит.
Библиотеки с алгоритмами машинного обучения, которые будем изучать: