1. Классическое машинное обучение

ЧерновикМатериалы дорабатываются и будут дополняться.

Автор: Алексей Чернуха

Это первая глава ML-хендбука. Представьте, что у школьного кружка есть очередь к 3D-принтеру. По проекту фигурки нужно заранее сказать, сколько времени займёт печать. В первом занятии мы начнём с одного постоянного ответа и научимся честно измерять его ошибку. К концу главы сможем сравнить несколько моделей, объяснить выбор и проверить его на заказах, ответы для которых заранее не использовали.

Эта глава — первое знакомство с МЛ на таблицах. Нам понадобятся основы Python: списки, функции, циклы и запуск ноутбука. Дроби, средние значения, координаты и графики будем использовать по ходу; более сложную математику разберём там, где она помогает понять метод. Если работа с файлами и библиотеками пока незнакома, сначала пройдите настройку среды и возвращайтесь к кратким пояснениям кода в каждом параграфе. На один параграф запланируйте примерно 5–10 часов чтения, ручного разбора, экспериментов и самопроверки. Точное время у разных учеников будет различаться.

Как устроен маршрут

  1. Поставим задачу и построим первые модели. В 1.1 различим признаки и ответ, в 1.2 найдём похожих героев, а в 1.3 научимся подбирать прямую по данным. Герои и баллы за тест расширяют пример принтера: методы работают с разными объектами и разными видами ответа.
  2. Разберём другие способы учиться на данных. В 1.4 вернёмся к времени печати с деревом вопросов. В 1.5 будем искать группы вообще без правильных ответов. В 1.6 получим вероятность класса и выберем порог решения.
  3. Соберём и проверим решение. В 1.7 добавим признак и ограничим сложность дерева, в 1.8 отделим выбор настройки от итоговой оценки. В 1.9 объединим деревья в лес, а в 1.10 увидим последовательное исправление ошибок и сравним знакомые модели на одной табличной задаче.

Сюжет с 3D-печатью возвращается несколько раз, но таблицы в разных занятиях не всегда одни и те же. Каждый раз мы будем называть, какие заказы уже использованы для обучения и выбора, а какие ответы пока скрыты. Знакомый пример помогает сравнивать идеи; новый пример показывает, где прежней постановки уже недостаточно.

Как работать с параграфом

Сначала попробуйте ответить на вопрос занятия и выполнить маленький шаг вручную. Затем прочитайте объяснение, запустите листинги и измените один параметр или признак в ноутбуке. Сравните наблюдение со своей гипотезой. После самостоятельной практики ответьте на десять вопросов: в электронной версии подсказки и разборы раскрываются после попытки, в PDF они собраны в конце главы.

Код в статье показывает необходимый ход решения. Ноутбук даёт возможность выполнить его и исследовать дополнительные случаи. Если необязательный вывод формулы или сложная алгоритмическая задача пока задерживает вас, отметьте вопрос и продолжите основной маршрут: к нему можно вернуться после знакомства со всеми методами главы.

Содержание

  1. От задачи к первому эксперименту
  2. Ближайшие соседи и масштаб признаков
  3. Линейная регрессия, Ridge и Lasso
  4. Решающие деревья
  5. Кластеризация и K-means
  6. Логистическая регрессия и вероятностный ответ
  7. Признаки, переобучение и регуляризация
  8. Честная оценка качества
  9. Ансамбли и случайный лес
  10. Градиентный бустинг и табличная задача целиком