▮ Оценка вашей модели

Как узнать, хороша ли ваша модель машинного обучения?

Отсутствие четкого понимания того, как оценивать вашу модель, может не сразу означать, что ваш проект машинного обучения потерпит неудачу, но делает практически невозможным поиск наилучшего решения для ваших нужд, а тем более убедить вашего клиента.

В идеале методы оценки как для этапа разработки, так и для этапа производства должны быть одинаковыми. Однако это маловероятно, потому что у вас есть данные аннотаций на этапе разработки, но их нет на этапе производства. . Поэтому в этом посте я хотел бы поделиться несколькими методами оценки вашей модели перед производством.

Ссылка: Проектирование систем машинного обучения

▮ Создание базовых показателей

Во-первых, нам нужно создать базовый уровень для оценки.

Показатели оценки сами по себе не так информативны, потому что вы не можете сказать, насколько они хороши. Если кто-то сказал, что он получил 95 баллов на экзамене, вы не можете сказать, хорошо это или нет, потому что вы не знаете, выходит ли тест из 100 баллов. Может быть, это из 1000 баллов. Важно помнить, что у вас всегда должен быть базовый уровень для оценки при оценке вашей модели.

Какие базовые показатели следует использовать, зависит от вашего конкретного случая, поэтому вот несколько примеров для установки базовых показателей.

Случайная базовая линия

Насколько хорошо это будет работать, если вы просто выберете результат случайным образом?

Простая эвристика

Если вы просто делаете прогнозы на основе простых эвристик, насколько хорошо это будет работать?

Например, если вы хотите создать систему ранжирования для ранжирования элементов в новостной ленте пользователя, чтобы он проводил больше времени, что произойдет, если вы просто ранжируете все элементы в обратном хронологическом порядке?

Исходный уровень человека

В большинстве случаев ML цель состоит в том, чтобы автоматизировать задачи, в противном случае их выполняли бы люди. Вы можете сравнить производительность вашей модели с результатами экспертов-людей.

Существующие решения

Если ваша система машинного обучения предназначена для замены существующих решений, очень важно сравнить вашу новую модель с этими решениями. Было бы неправильно, если бы ваша система машинного обучения работала отлично, учитывая другие базовые показатели, но не очень хорошо по сравнению с текущим решением.

▮ Методы оценки

В отличие от академических условий, где в большинстве случаев показатели производительности фиксированы, в производственной среде мы хотим, чтобы наша модель была надежной и в определенной степени справедливой.

После того, как вы определились с базовым уровнем, вот несколько методов оценки вашей модели.

Тест возмущения

Способность хорошо работать с обучающими наборами данных — это одно, а хорошо работать с зашумленными данными — это другое.

Модели машинного обучения, слишком чувствительные к шумам, могут затруднить дальнейшее обслуживание, поскольку данные всегда будут слегка меняться после развертывания модели.

Чтобы оценить, насколько хорошо работает ваша модель даже в таких ситуациях, вы можете немного изменить тестовые разбиения, чтобы понять, насколько сильно меняется производительность.

Тест на инвариантность

В большинстве случаев при изменении входных данных изменяется и выходной сигнал. Однако есть некоторые входные данные, даже если они изменятся, которые не должны изменить выход.

Например, информация о расе не должна влиять на результат среднегодового дохода.

Чтобы избежать этих предубеждений, вы можете изменить только входные данные с конфиденциальной информацией и посмотреть, как изменится результат. Кроме того, удаление конфиденциальной информации из обучающих наборов данных может быть еще лучшим подходом.

Тест направленного ожидания

Ожидается, что некоторые выходные данные будут увеличиваться или уменьшаться в зависимости от входных данных.

Например, при прогнозировании цен на жилье, если ПЛОЩАДЬ дома увеличивается, цена, вероятно, также увеличится.
Если модель выводит что-то другое, это может быть проблема с данными или процедурами обучения.

Оценка на основе срезов

При оценке модели чрезмерное внимание к общей производительности метрик может привести к неправильной интерпретации производительности модели.

Например, предположим, что компания хочет оценить производительность своей модели, а доступные в настоящее время данные имеют 2 подгруппы. Большинство занимает 90% данных, а меньшинство — 10%.

Как и в таблице, если вы рассматриваете ТОЛЬКО общие показатели, модель A выглядит лучше, но если вы смотрите на показатели для каждой подгруппы, это может быть не так.

Рассматривая каждую подгруппу (оценка на основе срезов), вы не только можете оценить общую производительность, но также можете найти потенциальную погрешность в зависимости от критических данных.

Калибровка модели

Этот метод оценки может быть наиболее важным, когда речь идет о прогнозировании.

Проверка правильности калибровки модели означает, что если модель предсказывает, что A с вероятностью 40 %, фактическая частота появления A также должна быть близкой. до 40%.

Вот сюжет из Scikit-Learn.

Чтобы измерить калибровку модели, подсчитайте, сколько раз ваша модель выводит вероятность X по оси X и частоту Y этого прогноза по оси Y. Вы можете легко построить это с помощью таких инструментов, как sklearn.dication.dication_curve.