Журнал / польза

Как изучать машинное обучение

Технология машинного обучения — наука об алгоритмах и статистических моделях — находится на стыке таких дисциплин, как математика, искусственный интеллект, блокчейн и облачные вычисления. Расскажем, как погрузиться в её основы

Что такое машинное обучение

В широком смысле машинное обучение, ML, — совокупность математических, статистических и вычислительных методов для разработки алгоритмов. Благодаря им компьютер может решать задачи, выявляя закономерности в разнообразных загружаемых данных. ML — ещё и форма искусственного интеллекта: на этих алгоритмах работает и анализ больших данных.

Классическое машинное обучение предполагает существование табличных данных, на основе которых создаются алгоритмические модели. Так, например, работают поисковые машины. Существует два подхода к обучению: с учителем и без. В первом случае специалист обучает машину на реальных примерах, она должна найти общие признаки и выстроить связи. Во втором случае алгоритм должен сам найти общие признаки и классифицировать полученные данные. Этот подход используется, когда собрать размеченные данные заранее невозможно.

Один из подвидов ML — глубокое обучение, когда алгоритм помимо текста включает в себя фото, видео, звук. Так работают нейронные сети: во время обучения они учатся автоматически выявлять правила и характеристики.

Процесс в машинном обучении делят на несколько этапов. На первом определяют конечную цель для алгоритма. Например, создание рекомендательной системы или предсказание доходности акций. Далее ML-специалист собирает и готовит данные для обучения модели, структурирует и описывает их. Только после подготовки начинается обучение: на тренировочных данных выстраивается алгоритм. Построенная модель попадает на этап оценивания результатов: например, насколько алгоритм отвечает итоговой цели.

Почему в ML полезно разбираться и кому оно пригодится

Машинное обучение, как часть ИИ, позволяет анализировать данные, строить прогнозы, работать с готовыми моделями, на основе анализа выбирать подходящие варианты из предложенных. Поэтому ML особенно помогает в тех отраслях, где нужны большие вычисления:

  • Финансы. ML позволяет более точно прогнозировать биржевые котировки и оценивать капитализацию активов.
  • Банковский сектор. Некоторые банки используют машинное обучение для автоматической оценки платёжеспособности потенциального заёмщика, а также с помощью алгоритмов отслеживают и блокируют подозрительные транзакции.
  • Безопасность. Системы распознавания лиц и контроля за нарушениями ПДД используют алгоритмы ML. Благодаря машинному обучению возможно обрабатывать огромные массивы фото и видео в режиме реального времени.
  • Маркетинг. Машинное обучение используют в поиске и рекомендательных системах соцсетей. ML позволяет контролировать релевантность рекламных объявлений без участия человека-модератора.
  • Логистика. Компании с помощью алгоритмов анализируют затраты на топливо, персонал, обновление материальной базы, а также оптимизируют маршруты поставок.
  • Робототехника. Машинное обучение — чуть ли не главный драйвер развития отрасли: без него невозможны ни сложные системы навигации дронов, ни работа роботов.
  • Сельское хозяйство. ML позволяет анализировать данные со спутниковых снимков для развития посевов сельскохозяйственных культур на макроуровне.
  • Медицина. Модели, разработанные с помощью ML, определяют группы риска при выявлении новых штаммов вирусных заболеваний.

Навыки в области машинного обучения пригодятся не только узкому специалисту. С помощью технологий ML разработчики, аналитики, учёные и исследователи могут работать с большими данными и алгоритмами. Правда, машинное обучение требует глубокого погружения и немало времени для освоения.

В чём нужно разбираться для освоения ML

Машинное обучение трудно освоить без начальной базы в программировании. Минимально для «вката» нужны навыки проектирования и завершения проектов на языке Python: в большинстве случаев код и скрипты пишут на нём. Знание C++ и Java лишним не будет, но это следующий этап. Работа с Python откроет доступ к популярным библиотекам для машинного обучения: TensorFlow, Keras, NumPy и другим.

Отдельно стоит SQL. Так как специалисту по ML придётся постоянно работать с базами и хранилищами данных, навыки в этом языке программирования сэкономят много времени и сил. После освоения SQL начинающий специалист сможет писать реляционные запросы к базам данных и работать с хранилищами данных.

Обязательное требование для старта в ML — знание математики, минимум на уровне студента физмата. Линейная алгебра с её векторами и матрицами поможет разобраться в моделях машинного обучения, которые выражены в матричном виде. Математическую статистику используют для оптимизации обработки данных. Математический анализ пригодится в методе градиентного спуска — алгоритма совершенствования модели. Теория вероятностей — математическая основа для количественной оценки многих алгоритмов машинного обучения. Сюда же относится и байесовский классификатор, который даёт чёткое математическое описание процесса обучения и численные оценки достоверности гипотез.

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

С чего начать изучение ML

  • Наши материалы о машинном обучении. Например, содержательное интервью с Константином Бабаляном и Андреем Нарцевым о задачах ML и навыках, которыми должен обладать специалист. Ещё писали о работе над датасетом текстов на трёх языках, чтобы распознавать рукописи.
  • Бесплатный интерактивный онлайн-учебник по машинному обучению от преподавателей ШАДа. Здесь подробно объясняют классическую теорию и тонкости реализации алгоритмов — от основ машинного обучения до тем актуальных научных статей.
  • Цикл лекций на канале ШАДа, посвящённый машинному обучению. Его записал Константин Воронцов, доктор физико-математических наук, профессор кафедры интеллектуальных систем ФУПМ МФТИ, профессор РАН.