Similar presentations:
Этапы разработки модели машинного обучения
1. Этапы разработки модели машинного обучения
ЭТАПЫ РАЗРАБОТКИМОДЕЛИ МАШИННОГО
ОБУЧЕНИЯ
2. Как устроено машинное обучение
Машинное обучение основано на идее, что алгоритм может научитьсявыполнять задачу без явного программирования каждого шага. Вместо написания
правил вручную мы показываем алгоритму примеры и позволяем ему найти
закономерности самостоятельно.
В основе лежит математическая модель — функция с настраиваемыми
параметрами. Процесс обучения заключается в подборе таких значений параметров,
при которых модель даёт наиболее точные предсказания. Алгоритм оптимизации
постепенно улучшает параметры, минимизируя ошибку между предсказаниями модели
и известными ответами.
Качество модели оценивают на данных, которые не использовались при
обучении. Это позволяет проверить способность алгоритма обобщать знания на новые
примеры. Если модель хорошо работает только на обучающих данных, но плохо
на новых — она переобучилась и запомнила примеры вместо выявления общих
закономерностей.
Создание работающей ML-модели — это структурированный процесс, который
проходит через несколько обязательных этапов.
3. Этапы создания ML‑модели
Этапы создания ML-модели4. Постановка задачи
Первый шаг, определяющий успех всего проекта.Нужно чётко сформулировать, что именно должна
предсказывать модель, какие данные доступны и какая
точность приемлема.
Например, задача «предсказывать отток клиентов
за месяц до ухода с точностью 85%» сразу определяет тип
модели — бинарный классификатор — и целевую метрику.
На этом этапе также оценивают бизнес-эффект от внедрения
и определяют ограничения по скорости работы и ресурсам.
5. Сбор данных
Качество данных определяет потолок возможностеймодели. Данные собирают из внутренних систем компании,
открытых источников, через API внешних сервисов или
генерируют специально.
Для задачи про отток клиентов понадобятся история
транзакций, активность в приложении, обращения
в поддержку и демографические характеристики. Важно
собрать достаточный объём репрезентативных данных,
охватывающих разные сценарии использования.
6. Предобработка данных
Сырые данные редко готовы к обучению модели.Предобработка включает очистку от ошибок и дубликатов,
заполнение пропущенных значений, преобразование
категориальных признаков в числовые и нормализацию
числовых колонок.
На этом этапе также создают новые признаки —
например, вычисляют среднюю сумму покупок клиента
за последний месяц или количество дней с момента
последней активности. Качественная предобработка может
улучшить результат больше, чем выбор сложного алгоритма.
7. Разделение данных
Данные делят на три части: обучающую выборку длятренировки модели, валидационную — для настройки
гиперпараметров и тестовую — для финальной оценки
качества.
Типичное соотношение — 60/20/20 или 80/10/10
в зависимости от объёма данных.
При разделении важно сохранить пропорции классов
и учесть временную структуру — например, не использовать
будущие данные для предсказания прошлых событий.
8. Выбор и обучение модели
Выбор и обучение моделиНа обучающей выборке пробуют разные алгоритмы:
логистическую регрессию как базовый вариант, затем
деревья решений, случайный лес или нейросети.
У каждого алгоритма свои сильные стороны —
линейные модели интерпретируемы, деревья хорошо
работают с категориальными признаками, а нейросети
выделяют сложные нелинейные зависимости.
Модель обучается итеративно: алгоритм оптимизации
подбирает
параметры,
минимизирующие
ошибку
предсказания.
9. Валидация и тонкая настройка
Валидация и тонкая настройкаПосле первичного обучения модель проверяют
на
валидационной
выборке
и
настраивают
гиперпараметры — глубину деревьев, коэффициент
регуляризации, скорость обучения.
Используют поиск по сетке, случайный поиск или
байесовскую оптимизацию.
Также применяют кросс-валидацию — многократное
переобучение на разных разбиениях данных для более
надёжной оценки.
На этом этапе борются с переобучением через
регуляризацию, отбор признаков или упрощение модели.
10. Оценка модели на тестовой выборке
Оценка модели на тестовой выборкеФинальное тестирование показывает реальное
качество модели на данных, которые она никогда не видела.
Для классификации считают точность, полноту, F1-меру
и строят матрицу ошибок.
Для регрессии — среднеквадратичную
и коэффициент детерминации.
Также
проверяют
устойчивость
к
и корректность работы на граничных случаях.
ошибку
выбросам
Если
результаты
неудовлетворительные,
возвращаются к предыдущим этапам.
11. Развёртывание и мониторинг
Развёртывание и мониторингГотовую модель интегрируют в продуктовую среду —
разворачивают как веб-сервис, встраивают в мобильное
приложение или запускают в потоковой обработке данных.
Настраивают мониторинг качества предсказаний, скорости
ответов и потребления ресурсов.
Со временем данные меняются, и модель начинает
работать хуже — это называется дрейфом концепта. Поэтому
организуют регулярное переобучение на свежих данных
и A/B-тестирование новых версий.
12. Проблемы в ML
Проблемы в MLРазработка модели машинного обучения — это
последовательный
процесс
от
постановки
задачи
до развёртывания в продакшн-среде. Каждый этап
критически важен для конечного результата. Но даже при
тщательном следовании всем этапам разработчики
сталкиваются с типичными проблемами машинного
обучения.
Создание эффективных моделей машинного обучения
сопряжено с рядом фундаментальных вызовов. Понимание
этих проблем помогает избежать типичных ошибок
и построить надёжные решения.
13. Переобучение
Переобучение возникает, когда модель слишком точноподстраивается под обучающие данные и теряет способность
работать с новыми примерами
Представьте студента, который выучил ответы на конкретные
экзаменационные вопросы, но не понимает предмет —
на экзамене с другими формулировками он провалится.
Переобученная модель распознавания кошек может
запомнить конкретные фотографии из обучающей выборки вместо
того, чтобы выучить общие признаки кошек.
Борются с переобучением через регуляризацию, увеличение
объёма данных, упрощение модели и применение техник вроде
dropout в нейросетях.
14. Недообучение
Недообучение — противоположная проблема, когдамодель слишком простая и не улавливает важные
зависимости в данных. Попытка предсказать сложную
кривую линейной функцией приведёт к большим ошибкам
как на обучающих, так и на новых данных.
Решение — усложнить модель, добавить новые
информативные признаки или выбрать более мощный
алгоритм.
Например,
перейти
от
линейной
регрессии
к полиномиальной или от простого дерева решений —
к ансамблю.
15. Смещение и разброс
Смещение и разбросЭто фундаментальная дилемма машинного обучения.
Модели с высоким смещением упрощённо представляют
реальность и систематически ошибаются — это
недообучение. Модели с высоким разбросом слишком
чувствительны к конкретным примерам в обучающих
данных — это переобучение.
Идеальная модель балансирует между этими
крайностями. Ансамблевые методы помогают найти баланс:
бэггинг снижает разброс, объединяя предсказания многих
моделей, а бустинг уменьшает смещение, последовательно
исправляя ошибки слабых алгоритмов.
16. Проклятие размерности
С ростом числа признаков экспоненциально растётобъём данных, необходимый для обучения качественной
модели. В многомерном пространстве все точки становятся
одинаково далёкими друг от друга, и понятие близости теряет
смысл. Текстовые данные с миллионами признаков-слов или
геномные данные страдают от этой проблемы.
Методы снижения размерности, отбор важных признаков
и регуляризация помогают справиться с проклятием. Глубокие
нейросети частично решают проблему, автоматически выделяя
информативные представления из высокоразмерных данных.
17. Этика и предвзятость
Этика и предвзятостьМодели наследуют предвзятости из данных, на которых
обучаются. Алгоритм найма Amazon дискриминировал женщин,
потому что учился на резюме из прошлого, где большинство принятых
кандидатов были мужчинами. Системы оценки риска в судах США
давали завышенные оценки для афроамериканцев.
Предвзятость возникает из-за нерепрезентативных выборок,
исторических предрассудков в данных или некорректной постановки
задачи. Решение требует аудита данных на справедливость,
балансировки выборок, использования метрик fairness и привлечения
разнообразных команд к разработке.
Эти проблемы универсальны для машинного обучения
независимо от инфраструктуры. Но правильный выбор платформы
может существенно упростить их решение.
18. Популярные инструменты и библиотеки ML
Популярные инструменты и библиотеки MLЯзык программирования Python™ выбирают 51%
специалистов по машинному обучению — результаты
опроса Stack Overflow Developer Survey 2024 года. Язык
R остаётся популярным в академической среде и статистическом
анализе благодаря богатому набору специализированных
пакетов.
Выбор инструментов зависит от конкретной задачи:
Scikit-learn
подходит
для
классических
алгоритмов
на структурированных данных, PyTorch — для исследований
в глубоком обучении, а XGBoost — для достижения максимальной
точности на табличных данных.
19. Таблица популярных инструментов и библиотек
Таблица популярных инструментови библиотек
NumPy
Фундаментальная библиотека Python для научных вычислений
с поддержкой многомерных массивов и матричных операций
Pandas
Высокопроизводительные структуры данных Python
(DataFrame/Series — табличные структуры) для обработки
табличных данных
Matplotlib и Seaborn
Библиотека Python для построения графиков и визуализации
результатов анализа
Scikit-learn
Универсальный набор алгоритмов с единообразным API для
классификации, регрессии, кластеризации и предобработки
данных
XGBoost и LightGBM
Градиентный бустинг для работы с табличными данными,
доминирует в соревнованиях Kaggle
TensorFlow и PyTorch
Фреймворки глубокого обучения для создания и обучения
нейросетей
20. Таблица популярных инструментов и библиотек
Таблица популярных инструментови библиотек
®
Jupyter Notebook
Интерактивная среда, ставшая стандартом для экспериментов
и обучения
Hugging Face
Экосистема для работы с трансформерами и NLP-моделями
OpenCV
Библиотека Python для компьютерного зрения и обработки
изображений
™
Spark MLlib
Распределённые ML-алгоритмы для работы с большими
данными
Google Colab
Бесплатные облачные Jupyter -ноутбуки с доступом к GPU/TPU
Yandex DataSphere
Наш сервис с полным набором инструментов для разработки
машинного обучения. Предоставляет динамически
масштабируемые облачные ресурсы для всего цикла разработки
Yandex Vision OCR
Наш сервис для распознавания текста на изображениях.
Извлекает текст из документов, распознаёт рукописный текст
на 48 языках, структуру таблиц и автомобильные номера
®
21. Машинное обучение и облако
Машинное обучение и облакоОблачные платформы кардинально изменили подход к разработке ML-решений. Вместо
закупки дорогостоящего оборудования и настройки инфраструктуры команды получают готовые
инструменты и масштабируемые ресурсы по требованию.
Обучение современных моделей требует значительных вычислительных мощностей — GPU
для нейросетей, большие объёмы памяти для обработки данных, распределённые системы для
параллельных вычислений. Облако предоставляет эти ресурсы за минуты: можно арендовать
кластер из сотен GPU на время обучения модели и отключить после завершения, платя только
за использованное время.
Yandex
DataSphere
объединяет
привычный
интерфейс
Jupyter®
Notebook
с масштабируемой инфраструктурой. Разработчики пишут код в браузере, а вычисления
выполняются на мощных серверах в облаке. Сервис автоматически настраивает окружение,
устанавливает библиотеки и предоставляет доступ к GPU. Обученные модели разворачиваются как
API одной кнопкой, без настройки серверов и балансировщиков нагрузки.
Кроме инфраструктуры, облако упрощает работу с данными. Объектные хранилища
вмещают петабайты информации, управляемые базы данных обеспечивают быстрый доступ,
а сервисы потоковой обработки позволяют обучать модели на данных в реальном времени.
Встроенные инструменты мониторинга отслеживают качество моделей в продакшне
и сигнализируют о деградации.
22. Домашнее задание
■ Из таблицы популярных инструментов и библиотек (слайды 19 и 20) опишитеодин пример (не менее 15 предложений)