Решение проблемы машинного обучения никогда не означает прыгать прямо от данных и начинать применять линейную регрессию или случайный лес к данным. Речь идет о том, чтобы задавать правильные вопросы, чтобы выяснить, что требуется для решения.
Большинство книг по машинному обучению дают отличную теоретическую информацию, но лишь немногие действительно рассказывают о том, как решить комплексную проблему машинного обучения.
Чарльз Кеттеринг, знаменитый изобретатель и глава исследовательского отдела GM, сказал: «хорошо сформулированная проблема решена наполовину». То же самое относится и к решению задач машинного обучения. Это все о:
- задавать правильные вопросы о проблеме и бизнесе.
- Изучение данных и функций, которые вы хотели бы разработать для своей бизнес-задачи
- Выбор правильной модели оценки на основе бизнеса
- Контекстуализация производительности модели с точки зрения бизнеса
Выше приведены несколько пунктов, вращающихся вокруг бизнеса. Это стратегия решения ЛЮБОЙ проблемы машинного обучения!
Шаг 1: Выяснение проблемы и ограничений
Теперь, как было сказано ранее; правильно ли вы формулируете свою бизнес-задачу; вы наполовину сделали! После этого так просто использовать sklearn в Python, создавать модели (в зависимости от вашей конечной проблемы) и оценивать результаты.
Мы должны обязательно найти ответы на; бизнес-процесс и контекст, связанный с той проблемой, которую мы пытаемся решить, любые предположения, сделанные в отношении данных, и любые опасения заинтересованных сторон, а также помня о том, как наша модель будет использоваться в конце. Последний пункт довольно важен, так как мы бы не хотели, чтобы модель нейронной сети была интегрирована, как в мобильное приложение, это слишком затратно в вычислительном отношении.
Несколько важных вопросов, о которых следует помнить:
- Существуют ли какие-либо предыдущие решения той же проблемы; как это может отличаться или быть похоже на вашу бизнес-проблему?
- Какую выгоду от решения получат конечные пользователи?
- Если будет сделан неверный прогноз, как это повлияет на бизнес или пользователей?
Например, вы разрабатываете модель для прогнозирования наличия у человека рака? Теперь, если модель предсказывает ее ложное срабатывание (модель предсказала, что у человека рак, но на самом деле у него его нет), t; человек потратит свое время, усилия и деньги на дальнейшие тесты, что вызовет эмоциональный и финансовый стресс. На противоположной стороне; модель предсказывает False Negative (модель предсказывала, что у человека нет рака, но на самом деле он есть), это создаст человеку массу проблем в будущем; он пойдет домой счастливым, но в будущем рак может вырасти и вызвать серьезные проблемы со здоровьем в будущем.
Хотя решение правильной проблемы поначалу кажется утомительным, но на самом деле разработка правильного решения для правильной проблемы может сэкономить недели технической работы и усилий.