29 ноября Бинь Ле, Мадлен Чжан и я (Дженни Сюэ) провели семинар по машинному обучению с участием Azure Machine Learning Studio. Цель семинара состояла в том, чтобы построить модель, которая предсказывает, будет ли рейс вовремя или поздно по прибытии. Семинар был организован таким образом, чтобы начать с введения в концепции машинного обучения, а затем перейти к соревнованию по обучению самой эффективной модели. Имея на кону призы и подарки, студенты спешно работали над обработкой своих данных и настройкой архитектуры своих моделей. Соревновательный характер семинара сделал его более интерактивным и приятным как для участников, так и для студентов-партнеров Microsoft.

Студенческие партнеры Microsoft

Студенческие партнеры Microsoft (MSP) — это студенческие лидеры в области технологий на территории кампуса, которые уполномочены создавать сообщества Microsoft в своем кампусе и делиться своими глубокими знаниями и страстью к технологиям со своими однокурсниками. Каждый семестр партнеры студентов Массачусетского технологического института проводят в кампусе семинар по теме компьютерных наук, на котором также демонстрируется технология Microsoft. Это мой второй год в качестве студента-партнера, и я, честно говоря, не могу достаточно рекомендовать эту программу. Чувство общности и влияние, которое вы оказываете на свою школу, невероятно полезны. Хотя прием заявок на этот год закрыт, обязательно следите весной за заявкой следующего года.

Кубок воображения

Кстати, ежегодный Imagine Cup Microsoft — это глобальное соревнование, в котором десятки тысяч студентов соревнуются в хакатоне за деньги, поездки и призы. Чтобы участвовать в соревнованиях, сформируйте команду из трех подходящих студентов и разработайте свое самое масштабное и смелое программное решение, которое также демонстрирует любую технологию Microsoft. Подробнее здесь.

Сведения о семинаре

Этот семинар послужил введением в основные концепции и приложения машинного обучения посредством изучения Azure Machine Learning (ML) Studio. Он был предназначен для студентов, не имеющих опыта машинного обучения, или студентов, прошедших вводный курс и желающих использовать машинное обучение в своих проектах. Первая часть семинара была посвящена пошаговому обзору всего рабочего процесса машинного обучения, от обработки данных до оценки обученной модели. В следующем разделе мы кратко обобщим часть технического содержания, рассмотренного на семинаре. Слайды мастер-класса можно посмотреть здесь.

Получение данных

В Azure ML Studio встроено более 30 наборов данных, с которыми пользователи могут экспериментировать. Такие веб-сайты, как Kaggle, также являются источниками данных, которые мы можем использовать для обучения наших моделей машинного обучения. Наборы данных, найденные в Интернете, можно загрузить в виде файлов со значениями, разделенными запятыми (CSV), и отправить в Azure ML Studio.

Обработка данных

Данные из реального мира почти всегда требуют очистки из-за отсутствия записей или дубликатов. Необходимо принять решение о том, как обрабатывать эти крайние случаи. Например, мы могли бы либо удалить отсутствующие записи, либо присвоить отсутствующим записям значение по умолчанию, равное 0. В наборе данных может быть доступно много столбцов функций, но не все из них полезны для прогнозов, которые мы хотим сделать. Чтобы сузить список столбцов для рассмотрения, мы выполняем выбор признаков, используя такие методы, как оценка взаимной информации (MI), которая измеряет зависимость двух случайных переменных. Оценка MI, равная 0, между переменными X и Y означает, что они независимы, и знание X не даст модели никакой дополнительной информации для прогнозирования Y.

Обучение модели

После того, как данные очищены и обработаны, следующим шагом будет выбор алгоритма машинного обучения, подходящего для проблемы, которую мы хотим решить. Машинное обучение Microsoft Azure: памятка по алгоритмам содержит обзор доступных алгоритмов машинного обучения. На этом семинаре мы построили модель, которая предсказывает, будет ли рейс вовремя или поздно. Это соответствует задаче двухклассовой классификации, потому что прибытие рейса можно обозначить только как своевременное или опоздавшее. Поэтому мы можем захотеть использовать двухклассовую нейронную сеть или двухклассовый алгоритм логистической регрессии для нашей модели. Как только алгоритм выбран, мы разделим наши данные на набор поездов и тестов. Для этого семинара мы разделили 80% данных на набор поездов, а оставшиеся 20% — на тестовый набор. Первоначально мы использовали набор поездов, чтобы настроить и оптимизировать веса нашей модели, поскольку она «учится» прогнозировать задержки рейсов на основе доступных данных. Затем тестовый набор используется, чтобы убедиться, что наша модель не переоснащается данными в обучающем наборе.

Оценка модели

После того, как модель обучена, мы хотим оценить производительность модели. В Azure ML Studio мы можем использовать модуль Score Model для получения результатов прогнозов нашей модели в тестовом наборе. Для этой проблемы мы оценим модель, используя показатель площади под кривой (AUC). Оценка AUC представляет собой соотношение истинно положительных и ложноположительных результатов и является ключевым показателем для двухклассовых моделей классификации. Целью этого семинара было максимизировать показатель AUC. На рисунке ниже мы видим пример результатов модели. На графике сравнивается AUC модели, показанная синей линией, с AUC наивной модели, показанной диагональной светло-серой линией. Наивная модель по существу была бы правильной в 50% случаев, потому что она характеризуется случайным предположением.

Улучшение модели

Если бы студенты следовали только основным инструкциям семинара, точность их модели не была бы очень высокой. Однако существует множество способов улучшить производительность модели. Одним из способов является понимание имеющихся у вас данных и использование соответствующих методов очистки данных. Модели также обычно работают лучше, когда есть больше данных, на которых можно учиться. Например, студенты могут получить дополнительные данные о рейсах онлайн. Кроме того, экспериментирование с различными алгоритмами машинного обучения может привести к повышению точности модели. Другие методы, которые могут попробовать учащиеся, включают выбор функций и настройку гиперпараметров модели.

Заключительные мысли

С более чем 70 участниками, мы думали, что этот семинар имел большой успех. Этому может способствовать нынешняя популярность темы, предусмотренный ужин, розыгрыши и соревновательный характер мероприятия. Мы настоятельно рекомендуем другим MSP также организовать семинар, основанный на интерактивном обучении и дружеском соревновании. Мы с нетерпением ждем возможности провести еще один мастер-класс в следующем семестре!