Записки из промышленности
Стоит ли продолжать повышать точность модели машинного обучения?
Знайте, когда прекратить улучшать свои модели, чтобы максимизировать ценность продукта
Алгоритмы машинного обучения (ML), без сомнения, улучшили нашу жизнь, предоставив нам очень полезные продукты во всех возможных областях или областях. В каждом случае или продукте прогноз не всегда точен на 100% или не должен быть таковым. Было бы чрезвычайно сложно или невозможно достичь почти 100% точности предсказания. Итак, что является хорошей точкой остановки или когда мы должны прекратить улучшать алгоритм?
Для создания хорошей модели машинного обучения существует множество хорошо известных методов, таких как очистка данных (наиболее важная), регуляризация, проектирование данных, уменьшение размерности, выбор признаков и т. д. Можно построить хороший алгоритм машинного обучения с вероятностью 80%– 85% точности с использованием вышеупомянутых методов, однако для достижения более высокой точности (85–95%) требуется значительное количество времени, усилий, более глубокое знание предметной области, экстремальная обработка данных, сбор большего количества данных и так далее. Во многих случаях это может не стоить времени или усилий, поскольку это будет иметь два основных последствия: 1. задержку выпуска продукта (конкурент может взять на себя инициативу и завоевать лидерство на рынке) и 2. увеличение стоимости разработки. Мы всегда могли выпустить алгоритм с хорошей точностью (75–85 %), а потом импровизировать — один-единственный раз, если потребуется. Обратите внимание, что я не говорю об исправлении ошибок и обработке некоторых пограничных случаев, которые являются частью процедуры обслуживания модели. Для определенных доменов или продуктов на самом деле очень важно достичь точности >95%, таких как автономная система вождения, распознавание лиц и т. д., и в таких случаях важно постоянно повышать точность прогнозирования.
Как правило, разработка любого алгоритма ML (или продукта) следует приведенной ниже тенденции для точности модели (прогноза).
- Первоначально область прыжок, где точность просто подскакивает до › 50 % в случае алгоритмов классификации без каких-либо усилий или с небольшими усилиями по очистке данных и выбору признаков. Аналогично для алгоритмов регрессии, в которых точность модели заменяется оценкой, которая находится между 0 и max в зависимости от используемой метрики.
- За областью скачка следует линейная область, где на каждую единицу затраченных усилий или времени алгоритмы улучшаются в той же пропорции. Простой линейный тренд между точностью модели и затратами, усилиями или временем.
- За линейной областью следует экспоненциальная(ожидаемая точность модели) или асимптотическая (экономически перспективная) область, где по мере повышения точности модели требуется все больше и больше усилий (экспоненциально) для достижения той же пропорции увеличения точности. Например — Скажем, для улучшения, попадающего в линейную область, 70% --› 75% мы тратим 2 единицы времени или стоимости. Тогда для улучшений в экспоненциальной/асимптотической области — для 85 % –› 90 % нам может потребоваться потратить 10 единиц времени или стоимости, а для улучшения с 90 % –> 95 % нам может понадобиться потратить 100–1000 единиц времени или средств.
Чтобы улучшить алгоритм, выходящий за рамки 90 % диапазона (в зависимости от приложения или продукта), попадающего в экспоненциальную область, нам может потребоваться нанять экспертов в этой области (специалистов по данным, специалистов по разработке, менеджеров по продуктам и т. д.), предоставить дорогие вычислительные узлы и купить или подписаться на дополнительные необходимые инструменты и программное обеспечение, участвовать в обширных исследованиях и т. д., что значительно увеличит стоимость создания и обслуживания алгоритма. Для некоторых продуктов имеет смысл потратить значительную сумму денег на повышение точности и производительности, чтобы опередить конкурентов (автономная система вождения или прогнозирование цен на акции), тогда как для некоторых потребительских товаров (рекомендации товаров для покупок и классификация изображений) это может не иметь смысла. смысл.
«Ценность продукта — это выгода, которую клиент получает, используя продукт для удовлетворения своих потребностей, за вычетом связанных затрат. Сложность — это усилия, связанные с доставкой такого продукта покупателю». - Хьюберт Палан
Ценность продукта = польза — стоимость
Дополнительные затраты на повышение точности моделей напрямую влияют на стоимость продукта. Хотя польза увеличивается, затраты будут увеличиваться в несколько раз, поскольку мы повышаем точность все выше и выше. На мой взгляд, различные тенденции между стоимостью продукта и точностью модели будут выглядеть так, как показано на рисунке ниже. Тенденции зависят от различных факторов, таких как составляющая область или область, тип продукта, спрос, конкуренция и т. д.
- Экспоненциальный тренд. Ценность таких продуктов, как системы автономного вождения, прогнозирование запасов, системы текстовых рекомендаций и т. д., возрастает экспоненциально с повышением точности прогнозирования модели. Никому не будет интересно управлять автономным транспортным средством с большим количеством FP и FN, что делает его совершенно ненадежным и представляет значительный риск для жизни на борту. Аналогично, текстовые рекомендации будут пропущены или проигнорированы, если они не точны, а прогноз запасов будет проигнорирован, если прогнозируемый диапазон широк. По мере того, как мы подталкиваем алгоритм к получению точных результатов, продукт приобретает клиентов и становится лидером рынка.
- Асимптотическая тенденция. Для других типов продуктов, таких как прогнозирование энергопотребления, прогнозирование спроса, рекомендации по продуктам, рекомендации по фильмам, классификация изображений и т. д., ценность продукта увеличивается по мере повышения точности алгоритма — даже при При точности 60–80% люди по-прежнему будут заинтересованы в использовании продукта по сравнению с другим набором продуктов, которые мы обсуждали ранее и которые следуют экспоненциальному тренду.
- Другое: Определенно могут быть и другие тенденции в зависимости от факторов, упомянутых выше, но эти две будут обычно наблюдаемыми тенденциями между ценностью продукта и точностью/стоимостью/временем/затратами модели.
Если вы собираетесь разрабатывать алгоритмы с учетом всех этих факторов (ценность продукта, стоимость, точность, время и усилия), вы обязательно создаете очень ценные продукты в короткие сроки.
Спасибо за прочтение! Я надеюсь, что это было полезно. Пожалуйста, оставьте свой отзыв и помогите в дальнейшем улучшении контента.