Итак, на этом подходит к концу наше изучение основ машинного обучения. Мы познакомились с базовыми понятиями анализа данных, математических и методологических основ машинного обучения, прошли несколько самых популярных видов моделей обучения с учителем. Конечно, мир машинного обучения далеко не ограничивается этими темами. Все многообразие задач, моделей и алгоритмов машинного обучения невозможно изложить в одной книге. Поэтому на базе полученных знаний любой интересующийся должен продолжить изучение продвинутых разделов самостоятельно. В этом небольшой главе мы попробуем обрисовать общую картину необходимых навыков и пути развития специалиста в науках по данным с упором в машинное обучение.
Для начала обратимся к необходимым базовым знаниям в других областях наук. Что нужно знать и изучать, чтобы эффективно развиваться в машинном обучении? Мы уже немного говорили об этом в первой части книги, но сейчас более точно перечислим конкретные навыки, полезные для любого аналитика данных.
В первую очередь, это знания в области математической статистики. Вот на какие темы стоит обратить особое внимание:
Не менее важна подготовка и в области информатики. В первую очередь это программирование и смежные темы:
Конечно, это довольно большой объем информации и его не освоить за один день. Но надо понимать, что развитие специалиста требует не столько глубокого заучивания всех деталей во всех этих разделах, сколько базового понимания основных принципов и механизмов. Поэтому один раз изучив, например, методы проверки статистических гипотез, главное навсегда понять, что это, зачем оно нужно, где применяется и как работает. А все детали: формулы, методы, примеры кода можно найти непосредственно в процессе работы над практическими задачами.
Помните, что понимание и осознание всегда лучше заучивания.
Мы с вами изучили базовые концепции машинного обучения, такие как атрибуты и признаки, типы шкал, функции ошибки и градиентный спуск, недо- и переобучение, обучающий, валидационный и тестовые наборы данных, метрики эффективности. Кроме того изучили основные модели обучения с учителем: задачи регрессии и классификации, линейные и полиномиальные модели, методы опорных векторов, деревья решений, наивный Байес, ближайшие соседи. Что изучать дальше?
Среди неизученных видов моделей и задач машинного обучения можно выделить три большие части:
Обучение без учителя - это набор моделей и методов, которые решают задачи нахождения внутренней структуры в данных. Их ключевое отличие от задач обучения без учителя состоит в том, что они не сводятся к предсказанию (моделированию) определенной целевой переменной. Поэтому в датасете не должны присутствовать “правильные ответы”. Существует несколько типовых задач обучения без учителя - кластеризация, обнаружение аномалий, понижение размерностей, вывод ассоциативных правил, рекомендательные системы.
Ансамблевые модели - это способ строить модель, состоящую из нескольких моделей. Например, можно построить на одном датасете несколько разных типов моделей и выбирать то предсказание, которое дает большинство моделей. Такой подход называется voting classifier. Можно объединять модели другими способами. Среди ансамблей моделей выделяют такие типы как: бустинг, бэггинг, стакинг. На основе ансамблей работают множество широко известных моделей, такие как XGBoost и CatBoost. Кроме того ансамблем является такая модель, как случайный лес. Использование сразу нескольких моделей может помочь повысить эффективность и надежность предсказаний машинного обучения.
Обучение с подкреплением - это достаточно специфическая область машинного обучения, в ходе которого модель обучается не напрямую из готовых данных, а взаимодействуя со средой. Эта среда может дать модели положительную или отрицательную обратную связь (подкрепление). Причем это подкрепление может наступать в произвольные моменты времени. В настоящее время обучение с подкреплением используется в системах принятия решений, в агентном моделировании, в ботах для компьютерных игр, диалоговых системах и чат-ботах. Самым известным алгоритмом обучения с подкреплением является Q-learning.
Следующий шаг - освоение глубокого обучения. Это ве про искусственные нейронные сети. Начать следует с базовых принципов нейронных сетей: модели нейрона, функции активации, метод обратного распространения ошибки, проблема исчезающих градиентов. После этого следует переходить к изучению различных архитектур нейронных сетей, от простых до более сложных:
На самом деле их еще гораздо больше, но это - самые популярные и часто использующиеся на практике. С них можно начать.
После освоения всех видов моделей машинного обучения можно приступить к изучения различных предметных областей, в которых применяется машинное обучение. Ведь каждая из них имеет свои особенности: структуру данных, приемы их обработки и векторизации, типичные подходы к моделированию, архитектуры моделей. Вот примерный (далеко неполный) список таких областей и самые распространенные прикладные задачи в них:
После этого рекомендуем обратить свое внимание на специализированные методологии машинного обучения. Они решают очень специфические задачи. Для их даже приблизительного понимания нужно хорошо знать классическую методику машинного обучения, которую мы и обсуждали в этом учебнике. Примерами таких специальных задач (список актуален на начало 2023 года, так как постоянно возникают новые области) могут быть следующие:
Этот путь не имеет завершения, у него открытый финал. Всегда есть еще что-то для изучения, поэтому желаю удачи в этом интересном мире машинного обучения!