Машинное обучение (Machine Learning)

Раздел искусственного интеллекта, в котором программа не получает правила от человека, а сама выводит закономерности из примеров.

Машинное обучение (machine learning, ML) — способ создавать программы, которые не получают готовые правила от человека, а сами находят закономерности в данных. Вместо того чтобы вручную описывать признаки мошеннической операции, модели показывают сотни тысяч прошлых операций с пометкой «мошенничество» или «нет», и она учится отличать одно от другого. Обученная модель затем оценивает новые случаи, которых раньше не видела.

Основные виды обучения

  • С учителем. Есть примеры с правильными ответами. Классификация — отнести к категории (одобрить кредит или нет, спам или нет); регрессия — предсказать число (сумму продаж, срок доставки).
  • Без учителя. Ответов нет, модель ищет структуру сама: делит клиентов на группы со схожим поведением, находит нетипичные операции.
  • С подкреплением. Модель действует, получает награду или штраф и учится стратегии — так обучают игровых агентов и системы управления.

Как проходит проект

  1. Постановка задачи — что именно предсказываем и как измерим пользу для бизнеса.
  2. Данные — сбор, очистка, разметка. Обычно это самая долгая часть: модель не лучше данных, на которых учится.
  3. Признаки — какие характеристики подать модели: сумма, время, история операций клиента.
  4. Обучение и проверка — на одних данных учат, на других, отложенных, честно проверяют. Главный враг здесь — переобучение.
  5. Внедрение — модель встраивают в систему, например как сервис с API.
  6. Наблюдение — со временем данные меняются, и качество модели падает; ее переобучают.

Где применяется в бизнесе

Инструменты

Основной язык — Python. Для табличных данных используют scikit-learn и градиентный бустинг, в том числе открытую библиотеку CatBoost от Яндекса; для нейронных сетей — PyTorch. Обучение больших моделей идет на графических процессорах.

Когда ML не нужно

Если правило можно четко сформулировать — «заказ больше 100 000 рублей требует подтверждения», — его лучше записать в коде: это прозрачнее и надежнее. Машинное обучение оправдано там, где закономерности сложны и меняются, данных много, а цена ошибки отдельного прогноза приемлема или ее можно перепроверить. В регулируемых областях, например при выдаче кредитов, важно и то, чтобы решение модели можно было объяснить.