课程概况
Обучение на размеченных данных или обучение с учителем – это наиболее распространенный класс задач машинного обучения. К нему относятся те задачи, где нужно научиться предсказывать некоторую величину для любого объекта, имея конечное число примеров. Это может быть предсказание уровня пробок на участке дороги, определение возраста пользователя по его действиям в интернете, предсказание цены, по которой будет куплена подержанная машина.
В этом курсе вы научитесь формулировать и, конечно, решать такие задачи. В центре нашего внимания будут успешно применяемые на практике алгоритмы классификации и регрессии: линейные модели, нейронные сети, решающие деревья и так далее. Особый акцент мы сделаем на такой мощной технике как построение композиций, которая позволяет существенно повысить качество отдельных алгоритмов и широко используется при решении прикладных задач. В частности, мы узнаем про случайные леса и про метод градиентного бустинга.
Построение предсказывающих алгоритмов — это лишь часть работы при решении задачи анализа данных. Мы разберемся и с другими этапами: оценивание обобщающей способности алгоритмов, подбор параметров модели, выбор и подсчет метрик качества.
Видео курса разработаны на Python 2. Задания и ноутбуки к ним адаптированы к Python 3.
课程大纲
Машинное обучение и линейные модели
Добро пожаловать на курс "Обучение на размеченных данных"! В этом модуле вы узнаете, что такое машинное обучение, какие в нём бывают постановки задачи, и что особенного в обучении на размеченных данных. Затем вы изучите один из основных способов решения задач обучения на размеченных данных — предсказание с помощью линейных моделей. Мы обсудим, как их настраивать и применять в задачах регрессии и классификации. В практических заданиях вы поработаете с настоящими данными и узнаете, какие проблемы в них можно обнаружить, а также попробуете делать прогнозы при помощи линейных моделей.
Борьба с переобучением и оценивание качества
Вторая неделя нашего курса будет посвящена общим вопросам, с которыми приходится столкнуться в любой задаче анализа данных. Вы узнаете, что такое проблема переобучения, из-за чего она возникает, как её можно обнаружить и как с ней бороться — в частности, вы познакомитесь с кросс-валидацией, с помощью которой можно оценить способность алгоритма давать хорошие предсказания на новых данных. Далее речь пойдёт о метриках качества — без них невозможно понять, подходит ли алгоритм для решения той или иной задачи. Наконец, вы познакомитесь с библиотекой scikit-learn, которая является одним из основных инструментов современных специалистов по анализу данных.
Линейные модели: классификация и практические аспекты
Добро пожаловать на третью неделю курса! Вы уже поработали с линейными моделями, научились измерять их качество и устранять переобучение с помощью регуляризации. Пришло время разобраться, почему регуляризация действительно помогает уменьшить сложность модели или произвести отбор признаков — об этом пойдёт речь в первом уроке. Там же вы познакомитесь с логистической регрессией, которая является одним из наиболее популярных методов для решения задач классификации. Далее вы узнаете о некоторых важных нюансах работы с линейными моделями: масштабировании признаков, переходе в новые признаковые пространства и т.д. Мы не только расскажем обо всём этом, но и покажем, как оно работает в Python и библиотеке scikit-learn.
Решающие деревья и композиции алгоритмов
Линейные модели — очень важный и полезный, но слишком простой класс алгоритмов в машинном обучении; не во всех задачах они позволяют добиться желаемого качества. В этом модуле вы познакомитесь с новым семейством алгоритмов — решающими деревьями. Они во многом являются полной противоположностью линейных моделей. В частности, сами по себе они очень сложны и подвержены переобучению. При этом оказывается, что если объединить много деревьев в одну сложную модель, то можно получить очень качественное решение. Об этом крайне важном подходе — построении композиций решающих деревьев — мы в основном и будем говорить на этой неделе.
Нейронные сети и обзор методов
Рады приветствовать вас на последней, пятой неделе курса! Мы расскажем ещё о нескольких подходах к решению задач машинного обучения, которые не были затронуты в предыдущих модулях, но при этом играют важную роль в практических задачах. Это нейронные сети, байесовские модели, метрические методы. Вы узнаете, для чего они нужны, и попробуете самостоятельно применить их в практических заданиях.