Машинное обучение для среднего бизнеса: что реально, что нет
Честный разбор того, какие задачи машинное обучение решает для компаний без исследовательских лабораторий, а какие остаются академическими.
Разговоры про машинное обучение становятся громче. После результатов конкурса ImageNet в 2012 году, после роста интереса к предсказательной аналитике, после того как несколько крупных компаний начали публично говорить о том, как алгоритмы помогают им принимать решения - тема вышла из академических кругов в деловую прессу.
Если вы руководите компанией среднего размера и читаете об этом, первый вопрос обычно звучит так: "А нам это надо? И с чего начать?" Я попробую ответить честно.
Что машинное обучение умеет делать сейчас
Без преувеличений: есть несколько классов задач, в которых оно работает надёжно и даёт измеримый результат.
Классификация и категоризация. Если у вас есть поток объектов - заявок, транзакций, писем, обращений - и вы хотите автоматически относить их к категориям, алгоритмы справляются с этим хорошо при достаточном количестве размеченных примеров.
Прогнозирование на исторических данных. Предсказание оттока клиентов, прогноз продаж по сегментам, оценка вероятности дефолта - задачи, где у компании накоплены данные за несколько лет, решаются значительно точнее, чем экспертными оценками.
Обнаружение аномалий. Выявление подозрительных транзакций, отклонений от нормы в производственных данных, нестандартных паттернов в поведении - область, где алгоритмы дополняют человеческое внимание там, где его физически не хватает.
Где граница реалистичных ожиданий
Три предположения, которые чаще всего оказываются ошибочными.
"Алгоритм сам найдёт закономерности в данных." Отчасти верно, но данные должны существовать, быть структурированными и достаточно чистыми. Алгоритм, обученный на трёх годах хаотичных выгрузок из разных систем с несовместимыми форматами, выдаст хаотичные результаты.
"Это заменит аналитика." Нет. Это изменит то, чем аналитик занимается - меньше ручной обработки, больше интерпретации и контроля качества. Человек по-прежнему нужен.
"Один раз обучили - работает само." Модели стареют. Если бизнес-среда меняется - меняется и то, что модель должна предсказывать. Без регулярного переобучения и мониторинга качество падает незаметно. Противоречие между качеством модели и свежестью данных стоит понять до того, как выбирать подход.
Что нужно, чтобы начать
Прежде чем думать об алгоритмах, нужно ответить на несколько вопросов о данных и задаче.
Есть ли у вас конкретная бизнес-задача, для которой понятно, что считать успехом? Не "сделать что-нибудь умное", а "снизить отток в этом сегменте на X процентов" или "автоматически обрабатывать Y процентов входящих заявок".
Есть ли исторические данные в достаточном объёме? Для большинства задач нужны тысячи или десятки тысяч примеров, желательно размеченных. Если данных нет - сначала нужно их накопить.
Есть ли в команде кто-то, кто понимает в статистике и может работать с такими инструментами? Или есть бюджет на внешнего специалиста?
Практический фильтр
Я предлагаю простой тест для оценки готовности задачи к машинному обучению.
Запишите задачу одним предложением: что алгоритм должен предсказывать или классифицировать, и как будет измеряться качество его работы. Если предложение не получается - задача ещё не сформулирована достаточно чётко.
Если предложение получилось - проверьте: есть ли у вас данные для обучения, есть ли механизм сбора обратной связи о качестве результата, есть ли человек, который будет владеть этим процессом.
Если все три ответа "да" - задача, скорее всего, реально решаемая. Если хотя бы один "нет" - начинать надо с устранения этого пробела, а не с выбора алгоритма.