1. Что такое ML: задачи, примеры и ограничения
Что такое ML: задачи, примеры и ограничения
Зачем вообще нужно машинное обучение
Машинное обучение (Machine Learning, ML) — это подход, при котором программа не получает жёсткие правила вида «если … то …», а учится на примерах находить закономерности и делать полезные предсказания.
Проще всего думать так:
* есть данные о прошлом (примеры); * есть задача (что мы хотим предсказывать или находить); * алгоритм подбирает способ делать это как можно лучше.
ML особенно полезно, когда:
* правил слишком много или они постоянно меняются (антиспам, мошенничество); * правила сложно формализовать словами (распознавание речи/изображений); * вы хотите автоматизировать решения на основе данных (прогноз спроса, рекомендации).
Чем ML отличается от обычного программирования
В классическом программировании вы пишете правила, и они превращают входные данные в ответ.
В ML вы даёте:
данные* (примеры); ответы* для части примеров (не всегда);
а система подбирает правила сама и затем применяет их к новым данным.
!Сравнение классического подхода и ML
Основные термины (без которых дальше будет сложно)
Данные* — таблица, тексты, изображения, логи, аудио, то есть то, из чего мы учимся. Признаки* — измеримые свойства объекта, которые подаются в модель (например, возраст, сумма покупки, время на сайте). Цель (или таргет*) — то, что мы хотим предсказать (например, «уйдёт ли клиент», «цена квартиры»). Модель* — обученный механизм, который по входным данным выдаёт предсказание. Обучение* — процесс настройки модели на данных. Инференс* (применение модели) — когда модель уже обучена и используется на новых данных.
Типы задач ML
На старте достаточно понимать три больших класса.
Обучение с учителем
Есть примеры, где известен правильный ответ (цель). Модель учится связывать признаки и цель.
Чаще всего встречаются два типа задач:
Классификация* — нужно выбрать класс/категорию. Регрессия* — нужно предсказать число.
Примеры:
* классификация: спам/не спам, мошенничество/норма, «кредит одобрить/отказать»; * регрессия: прогноз цены, времени доставки, спроса.
Обучение без учителя
Правильных ответов заранее нет. Мы ищем структуру в данных.
Частые задачи:
Кластеризация* — сгруппировать похожие объекты. Снижение размерности* — сжать признаки так, чтобы сохранить главное (часто для визуализации и подготовки данных). Поиск аномалий* — найти редкие и подозрительные случаи.
Примеры:
* сегментация клиентов на группы; * выявление необычных транзакций; * сжатие и визуализация данных.
Обучение с подкреплением
Есть агент, который действует в среде и получает награду (поощрение) за хорошие действия. Он учится стратегией: что делать, чтобы суммарная награда была максимальной.
Примеры:
* игровые агенты; * управление ресурсами (при корректной постановке); * обучение роботов (часто в симуляции).
!Три базовых парадигмы обучения
Популярные прикладные задачи и примеры
Ниже — «карта местности», чтобы понимать, где ML встречается чаще всего.
| Задача | Что делаем | Пример в жизни/бизнесе | |---|---|---| | Классификация | выбираем категорию | определить спам-письмо, распознать дефект на фото | | Регрессия | предсказываем число | прогноз цены квартиры, прогноз спроса на товар | | Ранжирование | упорядочиваем объекты по полезности | поисковая выдача, сортировка товаров в каталоге | | Рекомендации | предлагаем подходящие варианты | «вам также может понравиться», подбор видео | | Кластеризация | группируем похожих | сегменты клиентов, группировка новостей по темам | | Поиск аномалий | ищем необычное | подозрительные платежи, сбои датчиков | | Работа с текстом | извлекаем смысл/структуру | тональность отзывов, классификация обращений в поддержку | | Работа с изображениями | распознаём и локализуем объекты | распознавание лиц, контроль качества на производстве | | Временные ряды | анализируем значения во времени | прогноз нагрузки, обнаружение скачков метрик |
Важно: одна и та же прикладная проблема может формулироваться по-разному. Например, «кому показать рекламу» можно решить как:
* классификацию (кликнет/не кликнет), * регрессию (вероятность клика), * ранжирование (отсортировать кандидатов для показа).
Когда ML подходит, а когда — нет
ML — не магия и не универсальная кнопка.
ML подходит, если:
* есть данные (или вы реально можете их собрать); * есть понятный критерий «хорошо/плохо» (что значит качественное предсказание); * задача повторяется много раз (иначе автоматизация не окупится); * можно терпеть некоторую долю ошибок и управлять рисками.
ML обычно не подходит, если:
* данных мало, они шумные и собрать больше нельзя; * задача редкая или уникальная (разовая аналитика); * требования к объяснимости абсолютные, а ошибка недопустима (иногда нужно правило, регламент или проверка человеком); * проблема на самом деле не в предсказании, а в процессе/организации (ML не исправит хаос в данных и учёте).
Ограничения и типичные ловушки
Данные решают больше, чем «крутая модель»
Качество ML почти всегда упирается в:
* ошибки в разметке (неправильные «правильные ответы»); * пропуски и несогласованность данных; * смещение выборки (данные обучения не похожи на реальные будущие случаи).
Корреляция не равна причине
ML хорошо находит связи «одно часто встречается вместе с другим». Но это не означает, что одно вызывает другое.
Пример: модель может заметить, что пользователи с определённого устройства чаще покупают — но причина может быть не в устройстве, а в аудитории, маркетинге или регионе.
Переобучение
Переобучение — когда модель слишком хорошо запоминает обучающие примеры и хуже работает на новых.
Симптом: на обучении качество высокое, а на новых данных заметно хуже.
Утечка данных
Утечка — когда в признаки случайно попадает информация из будущего или напрямую из ответа.
Примеры утечки:
* признак «факт возврата» в задаче «предсказать возврат»; * использование данных после даты события при прогнозе до этой даты.
Нестабильность мира
Данные и поведение людей меняются:
* сезонность; * новые товары и конкуренты; * изменения продукта; * изменения в экономике.
Из-за этого модель может «устареть», даже если раньше работала хорошо.
Этические и правовые ограничения
Риски:
* дискриминация (модель ухудшает решение для отдельных групп); * нарушение приватности; * непрозрачные решения там, где нужны объяснения.
Часто это решается не одной техникой, а комбинацией:
* корректная постановка задачи; * ограничения на использование признаков; * аудит качества по группам; * участие юристов и ответственных за риск.
Как выглядит типичный ML-процесс (очень кратко)
Дальше в курсе мы будем возвращаться к этому циклу постоянно.
Куда двигаться дальше в курсе
После этой статьи логичный следующий шаг — научиться:
* переводить бизнес-вопрос в ML-задачу (классификация/регрессия/ранжирование); * понимать, что такое признаки и как они связаны с качеством; * оценивать модели и избегать переобучения и утечек; * собирать минимальный рабочий ML-пайплайн на практике.
Полезные источники
* Wikipedia: Machine learning * Google Machine Learning Glossary * Документация scikit-learn: Machine Learning in Python