вступление

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

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

Мотивация

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

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

Например… Модель имеет показатель AUC 0,9 ​​на тестовом наборе, и мы ожидаем, что показатель AUC будет равен 0,9 на невидимых будущих данных.

Но насколько хороши эти оценки? Есть ли у нас какие-либо гарантии? У нас есть оценка, которая на самом деле говорит нам о чем-то в среднем (например, точность 90% в тестовом тесте). Нас действительно волнует, насколько хорош прогноз для одной новой точки и насколько мы можем быть уверены в этом новом прогнозе?

Практический пример относительно неопределенности

Возьмем простой пример: у вас есть нейронная сеть, которая исследует МРТ, чтобы обнаружить опухоль в головном мозге. Допустим, наша нейронная сеть научилась классифицировать изображение на 3 категории/метки:

  • Нормальный
  • Обнаружена опухоль
  • Сотрясение

Нейронная сеть может иметь функцию кросс-энтропийных потерь, которая будет возвращать число от 0 до 1, и это число будет представлять собой концепцию достоверности. Для принятия очень важных решений это проблема, поскольку у нас нет уверенности в том, что наша модель хорошо откалибрована с точки зрения их предсказанных вероятностей. Это означает, что оценка 0,8 не обязательно соответствует 80-процентному уровню достоверности истинной метки.

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

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

Для нашего случая рассмотрим оба и посмотрим, что полезнее для врача.

Традиционный прогноз:

  • Нормальный 0,9
  • Обнаружена опухоль 0,05
  • Сотрясение мозга 0,05

Конформный прогноз:

Мы на ≥ 90% уверены, что у этого пациента есть один из вариантов этого набора:

[В норме, опухоль, сотрясение мозга]

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

Что такого особенного в конформных предсказаниях?

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

Понятия в контексте классификации

У нас есть классификация изображений и для конформных предсказаний нам нужно следующее:

  • Калибровочный набор размера n (где n — конечная малая часть набора данных). Этот калибровочный набор никогда не виден модели.
  • Модель, которая оценивает распределение вероятностей для каждой потенциальной метки классификации (у нас есть k меток в приведенном ниже примере).
  • Новое изображение Xₙ₊₁, которое мы будем использовать для конформного предсказания.

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

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

Вероятность можно контролировать с помощью x, который является параметром, поэтому, если мы возьмем x равным 0,1, то у нас будет 90% вероятность того, что наше изображение имеет класс классификации, который присутствует в наборе, заданном функцией T.

Давайте посмотрим на пример:

Изображение 1: мы уверены, что это белка, и набор прогнозов также содержит только одно изображение.

Изображение 2: мы менее уверены, чем на изображении 1, и наш набор прогнозов увеличивается до 4 классов.

Изображение 3. Мы совсем не уверены, и наш набор прогнозов содержит 6 классов.

Основной простой алгоритм

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

Шаг 1:

Нам нужно определить счет правильного класса. Допустим, у нас есть проблема классификации с 9 классами, тогда мы получим оценку классификации от 0 до 1 для каждого из классов при использовании вывода softmax для нейронной сети.

Только один из них является правильным в нашем примере классификации с одной меткой ниже. Мы называем значение для правильной метки Eᵢ

Когда мы делаем это для каждого образца в наборе калибровки, у нас есть набор значений E размера n (размер нашего набора калибровки).

Шаг 2:

У нас есть пакет значений E размера n, давайте отсортируем их и возьмем 10% квантили n значений E. n не бесконечно, но если бы это было так, то с вероятностью 90 % новое значение E будет иметь значение, превышающее наш 10-й квантиль.

n, конечно же, конечно, поэтому мы принимаем во внимание небольшую поправку на конечную выборку, учитывающую тот факт, что n не бесконечно. Вот почему мы не берем точный 10-й квантиль.

Шаг 3.

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

Обзор:

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

Мы хотим, чтобы наш набор прогнозов обладал следующими качествами:

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

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

Размер вашего калибровочного набора будет иметь значение, но вы можете выбрать это влияние самостоятельно. Вы можете указать размер n в приведенной выше формуле. Когда наша альфа равна 0,1, а наше n = 100, тогда вероятность того, что наше фактическое значение находится в наборе, составляет от 90% до 91%. Если вы хотите сузить этот интервал, вам нужно использовать больший калибровочный набор.

Это означает, что использование калибровочного набора размера 100 дает вам огромные статистические гарантии во многих ситуациях (бесплатное распространение для любого набора данных/алгоритма), и это впечатляет.

Общая структура

Мы можем обобщить приведенные выше понятия:

  1. Определите понятие неопределенности (например, результат вашей функции softmax в нейронной сети) в вашем прогнозе.
  2. Определите функцию оценки, которая использует это понятие неопределенности и возвращает число (в приведенном выше примере мы использовали выход мягкого максимума для истинной метки).
  3. Вычислите q̂ таким образом, чтобы скорректировать, что у нас есть конечная выборка (в приведенном ниже примере мы используем размер калибровочного набора 50 и нам нужна достоверность 90% (0,1 альфа)

4. Разверните набор прогнозов, когда результат нашей функции оценки для новой точки данных выше q̂

Регрессия

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

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

Эти две модели оценивают квантили, но опять же у нас та же проблема. Они являются оценкой…

Но мы можем использовать их как наше понятие неопределенности.

Шаг 1:

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

Шаг 2 и 3:

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

Это очень простое введение в увлекательную область, и, надеюсь, вам понравилось это введение.

Источники: