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

В задачах классификации мы часто предполагаем, что все ошибки в классификации одинаково плохи. Однако иногда это не так. Рассмотрим пример попытки определить, существует ли террористическая угроза или нет. Существует два типа неправильной классификации: либо мы прогнозируем, что угроза есть, но на самом деле угрозы нет (ложное срабатывание), либо мы прогнозируем, что угрозы нет, но действительно существует (ложноотрицательный). Ясно, что ложноотрицательный результат намного опаснее ложного срабатывания - мы можем потратить зря время и деньги в случае ложного срабатывания, но люди могут умереть в случае ложноотрицательного результата. Мы называем такие проблемы классификации чувствительными к затратам.

Итак, как мы можем изменить обычную классификацию, при которой ложные срабатывания и ложные отрицания рассматриваются одинаково, чтобы учесть чувствительность к затратам? Есть несколько основных подходов. Первый называется пороговым значением. В обычной классификации мы прогнозируем положительный случай, если наша выходная вероятность больше 50%, и отрицательный случай, если выходная вероятность меньше 50%. Что делает порог, так это меняет число 50%. Возвращаясь к примеру с террористами, можно сказать, что стоимость ложных срабатываний больше, чем стоимость ложных срабатываний. Поэтому мы хотим, чтобы алгоритм был более уверен в отрицательных предсказаниях, чем в положительных, поэтому мы перемещаем порог 50% на меньшее число, возможно, на 30%. Если бы у нас была проблема наоборот, когда ложные срабатывания обходились дороже, мы бы пошли в другом направлении, подняв порог 50% выше, возможно, до 70%.

Конечно, мы могли бы быть более конкретными с нашим порогом. Вместо того, чтобы делать приблизительную оценку и говорить «да, снижение до 30% звучит хорошо», мы можем быть более точными. Мы можем определить числовую стоимость для каждого ложноположительного (FP) и ложноотрицательного (FN), например 1 и 3 в террористическом случае. Начиная с цели минимизировать общую чувствительную к стоимости ошибку (сумма всех ложных срабатываний и ложных отрицательных результатов в наборе данных, взвешенная по числовым затратам, которые мы только что определили), можно вывести выражение для того, каким должен быть идеальный порог. : FP / (FP + FN). В нашем примере порог будет 1 / (1 + 3) = 25%. Интуитивно мы видим, что это выражение имеет смысл. Чем важнее ложноотрицательные результаты, тем больше будет знаменатель. Затем порог будет уменьшаться, что означает, что наши критерии для отрицательных прогнозов более строгие, чего мы и хотели.

Помимо установления пороговых значений, еще одним подходом к проблемам классификации, чувствительной к стоимости, является повторная выборка данных. Идея состоит в том, что, поскольку мы больше заботимся о ложных отрицательных результатах, чем о ложных срабатываниях, мы должны уменьшить количество отрицательных результатов в обучающей выборке. Это заставит алгоритм больше склоняться к ложным срабатываниям, что мы предпочитаем. Также есть точная математическая формулировка - количество негативов в обучающем наборе умножаем на FP / FN. Мы видим, что чем больше FN, тем меньше это число, как и ожидалось.

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

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

Например, рассмотрим функцию среднеквадратичной ошибки. Для двоичной классификации, если прогноз неверен, ошибка будет либо (1–0) ² = 1, либо (0–1) ² = 1. Другими словами, эта функция ошибок дает одинаковое значение для ложных срабатываний и ложных отрицаний. Мы могли бы изменить эту функцию ошибок, чтобы она возвращала два разных значения для ложных срабатываний и ложных отрицаний, а затем использовать новую функцию ошибок в нашем алгоритме. Нам больше не нужно устанавливать пороговые значения или повторную выборку, поскольку теперь встроена чувствительность к стоимости.

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

В этой статье мы сделали обзор экономичных методов обучения. Сначала мы рассмотрели чувствительные к стоимости методы метаобучения, такие как пороговая обработка и повторная выборка. Это методы, которые используют обычный алгоритм обучения и преобразуют его в экономичный. Мы также ввели прямые методы, например, изменив функцию стоимости напрямую, чтобы включить в нее чувствительность к стоимости. Пожалуйста, оставьте любые вопросы / комментарии, и спасибо за чтение!