У нас есть четыре главных этапа в решении задач машинного обучения. Каждый этап несет свою индивидуальную ценность и имеет право быть детально рассмотренным. И так, какие же они эти этапы?
- Бизнес-требования
- Предобработка
- Разработка модели
- Тестирование и внедрение
Рассмотрим более детально:
1 этап. Определение бизнес-требований, то есть выяснить что же в итоге хочет заказчик.
О чём мы здесь можем поговорить? В первом этапе мы можем обсудить цель этапа. Рассмотрим минимальный жизнеспособный продукт, выбор метрики и погружение в предметную область
Выбор цели - важно определиться с тем, что необходимо сделать и убедиться, а действительно ли нам необходимо использовать ML. Часто бывает так, что машинное обучение нам совсем и не нужно. Дальше нужно подумать не о большой нашей цели, а о том какое небольшое решение задачи может нам подходить - это и есть минимальный жизнеспособный продукт (MVP - minimum viable product). Цель должна обладать следующими характеристиками - конкретная; измеримая; достижимая; значимая; ограниченная по времени. Так же здесь необходимо определиться по каким параметрам будет измеряться результат - это выбор метрики. Не менее важный момент заключается в том, что DS-разработчики специалисты в алгоритмах ML - это значит, что именно на этапе определения бизнес-требований, мы с заказчиком должны определиться со словарем проекта. Это необходимо, что бы вести разговор на одном языке.
2 этап. Предобработка, то есть сбор и подготовка данных.
Рассмотрим что такое данные и как с ними работать.
- плохие данные - плохой результат
- чем больше данных, тем лучше
- более целесообразно уделить побольше времени предобработке, чем в итоге увидеть ошибочный результат
Данные это самое главное для любого алгоритма. Что необходимо для данных:
- надёжно их хранить!
- логировать изменения данных
- обогащать данные новой информацией
- уточнять всю-всю-всю информацию о данных у заказчика.
Обогащение данных данных происходит путём взятия всех-всех-всех данных у заказчика и дополнение их данными из вне.
3 этап. Разработка модели.
На третьем этапе будем говорить о модели ML, как её выбрать и как провести её обучение.
Модель ML - программа, принимает на вход данные и выдает прогноз. Приближение реальности. Моделей может существовать огромное множество, тем не менее выбрать одну лучшую не представляется возможным. Каждая модель уникальна и имеет свои плюсы, но так же имеет и свои минусы.
В процессе выбора модели выделяют 4 основных этапа:
- гипотеза о параметрах модели
- проверка гипотезы
- обучение и валидация
- изменение параметров или построение новой модели
В проведении обучения модели так же можно выделить несколько шагов:
- первым делом нужно выбрать гиперпараметры модели
- вторым шагом необходимо выбрать и построить алгоритм оптимизации
- затем подаём алгоритму на вход данные и модель
- дальше мы ждём завершения оптимизации и валидации модели
- заключительным этапом является то, что мы повторяем процесс до получения нужного результата по выбранной метрике
4 этап. Тестирование и внедрение модели.
Здесь мы поговорим о том, какие бывают виды тестирования.
Стандартные способы:
- unit-тесты
- интеграционные тесты
- нагрузочные тесты
Способы специфичные для ML:
- валидация моделей
- проверка данных
P.S. Если, нашли ошибки, недочёты или хотите дополнить сказанное, всегда рада конструктивному мнению специалистов.