Пост 2 из серии «Вероятностное машинное обучение»: Сравнение моделей

Чтобы преобразовать необработанные данные в модель машинного обучения, необходимо выполнить множество шагов. Эти шаги могут быть трудными для неспециалистов, и объем данных продолжает расти. Предлагаемое решение кризиса навыков искусственного интеллекта - использовать автоматизированное машинное обучение (AutoML). Некоторые известные проекты - это Google Cloud AutoML и Microsoft AutoML. Задача автоматизированного машинного обучения состоит из различных частей: поиск нейронной архитектуры, выбор модели, разработка функций, выбор модели, настройка гиперпараметров и сжатие модели. В этом посте нас будет интересовать выбор модели.

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

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

Как показал нам Джастин Тимберлейк в фильме In Time, время может быть валютой, поэтому следующий аспект, который мы сравним, - это время, необходимое для обучения модели. Несмотря на то, что мы будем использовать небольшой набор данных (т. Е. Классический набор данных Iris), есть много причин отслеживать время, необходимое для обучения модели. Например, некоторые методы тестирования моделей, основанные на повторной выборке (например, перекрестная проверка и бутстрап), необходимо обучать несколько раз с разными выборками данных. Таким образом, модель будет обучаться не один раз, а много раз. Когда алгоритм будет запущен в производство, мы должны ожидать некоторых неровностей на дороге (если не неровностей, надеюсь, новых данных!), И важно знать, сколько времени потребуется на переобучение и повторное развертывание модели. Хорошая оценка времени, необходимого для обучения модели, также покажет, нужны ли инвестиции в более крупную инфраструктуру.

Последним аспектом (в публикации), используемым для сравнения модели, будет способность прогнозирования / сложность модели с использованием широко применимого информационного критерия (WAIC). Критерий может быть использован для сравнения моделей одной и той же задачи с совершенно разными параметрами [1]. Это байесовская версия стандартного AIC (Another Information Criterion или Alkeike Information Criterion). Информационный критерий можно рассматривать как приближение к перекрестной проверке, которая может занять много времени [3].

Какие данные?

Используемый набор данных теперь является классикой машинного обучения: проблема классификации Ириса. Классификация основана на размерах чашелистиков и лепестков. Данные были введены британским статистиком и биологом Робертом Фишером в 1936 году. На следующем рисунке показано распределение длины и ширины в зависимости от вида. Линейный классификатор должен уметь проводить точную классификацию, за исключением бахромы видов virginica и versicolor.

Какие модели мы хотим сравнить?

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

Μ для каждого класса, который затем используется для нашей функции softmax, которая обеспечивает значение (pₖ) от нуля до единицы. Это значение (pₖ) будет вероятностью для класса, индексированного k.

В первой модели все β постоянны и равны единице. Это будет называться моделью без температур (заимствуя из терминологии физики, поскольку функция анаголична статистической сумме в статистической физике). Вторая модель будет иметь разные значения β для каждого класса, что немного усложнит модель (больше параметров), но, надеюсь, также даст лучшие результаты. Использование температуры для калибровки в машинном обучении можно найти в литературе [4] [5]. Изменение температуры повлияет на относительный масштаб для каждого μ при вычислении вероятностей. В качестве примера предположим, что μ₁ = 1, μ₂ = 2 и μ₃ = 3. Если зафиксировать все начальные температуры равными единице, мы получим вероятности p₁ = 0,09, p₂ = 0,24 и p₃ = 0,67. Давайте теперь сохраним те же температуры β₂ = β₃ = 1, но увеличим первую температуру до двух (β₁ = 2). Результирующие вероятности сместились к p₁ = 0,21, p₂ = 0,21 и p₃ = 0,58. Наконец, если мы уменьшим первую температуру до 0,5, первая вероятность сместится вниз до p₁ = 0,06, а две другие - до p₂ = 0,25 и p₃ = 0,69.

Мы представили зависимость между параметрами и наблюдениями в следующей графической модели. Заштрихованные кружки - наблюдения. Буквы z - это характеристики (длина чашелистика, ширина чашелистика, длина лепестка и ширина лепестка), а класс - это вид цветка, моделируемый с помощью категориальной переменной. Квадраты представляют собой детерминированные преобразования других переменных, таких как μ и p, уравнения которых были приведены выше. Кружки - это стохастические параметры, распределение которых мы пытаемся найти (θ и β). Прямоугольники означают, что параметры повторяются несколько раз, заданных константой в правом нижнем углу.

Какая модель дает лучшую точность?

Несмотря на то, что это не единственная важная характеристика модели, неточная модель может оказаться не очень полезной. Точность была рассчитана для обеих моделей для 50 различных поездов / тестовых участков (0,7 / 0,3). Это было сделано, потому что мы хотели сравнить классы модели, а не конкретный экземпляр изученной модели. Для одной и той же спецификации модели многие факторы обучения будут влиять на то, какая конкретная модель будет изучена в конце. Одним из таких факторов будут предоставленные данные обучения. Поскольку набор данных невелик, разделение на обучение / тест может вызвать большие изменения в полученной модели. Как видно на следующем рисунке, точность в среднем немного лучше для модели с температурами со средней точностью на тестовом наборе 92,97% (стандартное отклонение: 4,50%) по сравнению с 90,93% (стандартное отклонение: 4,68%). когда нет температур.

Каково распределение моих параметров?

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

Достоверны ли мои вероятности?

Вероятностная модель может основывать свои вероятности только на наблюдаемых данных и разрешенном представлении, заданном спецификациями модели. В нашем примере мы можем разделить классы только на основе линейной комбинации функций. Если это невозможно, не только точность, но и калибровка не должна быть хорошей. Перед использованием этих показателей другие признаки, основанные на выборках апостериорного анализа, будут указывать на то, что указанная модель не подходит для имеющихся данных. Для измерения калибровки мы будем использовать статическую ошибку калибровки (SCE) [2], определенную как

ПКЭ [2] можно понимать следующим образом. Разделите прогнозы в B интервале времени K, где B - это номер доверительного интервала, используемый для расчета (например, между 0 и 0,1, 0,1 и 0,2 и т. Д.), А K - номер класса. Для каждого из этих интервалов возьмите абсолютное отклонение между наблюдаемой точностью acc (b, k) и ожидаемой точностью conf (b, k). Возьмите взвешенную сумму бинов доверительных интервалов относительно количества прогнозов в этих бинах. Наконец, возьмите средний класс предыдущей суммы. Калибровочная кривая двух обученных моделей с одинаковой точностью 89% показана для лучшего понимания калибровочной метрики.

Зеленая линия - это идеальная калибровочная линия, что означает, что мы хотим, чтобы калибровочная кривая была близка к ней. Если мы посмотрим на прогноз с высокой достоверностью (0,70 и выше), модель без температуры имеет тенденцию недооценивать свою достоверность и переоценивать свою уверенность в более низких значениях (0,3 и ниже). Модель с температурами обычно лучше откалибрована (среднее SCE 0,042 со стандартным отклонением 0,007), чем модель без температуры (среднее SCE 0,060 со стандартным отклонением 0,006).

Как долго мне ждать?

Как и ожидалось, более сложная модель с температурами требует больше времени, чтобы сделать такое же количество итераций и выборок. В среднем, для обучения модели с температурой требовалось 467 секунд (стандартное отклонение 37 секунд) по сравнению с 399 секундами (стандартное отклонение 4 секунды) для модели без температуры.

Какая сложность добавлена?

В этом эксперименте мы сравниваем более простую модель (без температуры) с более сложной (с температурами). Интересной метрикой для использования является широко применяемый информационный критерий, который задается

где LPPD - логарифм плотности поточечного прогнозирования, а P - эффективное количество параметров. WAIC используется для оценки точности прогнозирования вне выборки без использования ненаблюдаемых данных [3]. Чем ниже WAIC, тем лучше, поскольку, если модель хорошо соответствует данным (высокий LPPD), WAIC станет ниже, а бесконечное количество эффективных параметров (бесконечное P) даст бесконечность. Модель с бесконечным количеством эффективных параметров сможет просто запоминать данные и, следовательно, не сможет хорошо обобщить новые данные. Таким образом, он вычитается, чтобы исправить тот факт, что он может хорошо соответствовать данным просто случайно. Фактор 2 исходит из исторических причин (он, естественно, происходит из первоначального вывода информационного критерия Акаике, основанного на расхождении Кульбака-Лейблера и распределении хи-квадрат). LPPD (логарифмическая плотность точечного прогнозирования) оценивается с помощью S выборок из апостериорного распределения, как определено ниже.

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

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

Заключение

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

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

Спасибо за прочтение

Ссылки и предлагаемые чтения

[1] А. Гельман, Дж. Карлин, Х. Стерн, Д. Дансон, А. Вехтари и Д. Рубин, Байесовский анализ данных (2013), Чепмен и Холл / CRC

[2] Дж. Никсон, М. Дюзенберри, Л. Чжан, Дж. Джерфель, Д. Тран, Измерение калибровки в глубоком обучении (2019), ArXiv

[3] А. Гельман, Дж. Хванг и А. Вехтари, Понимание критериев прогнозирующей информации для байесовских моделей (2014 г.), Springer Statistics and Computing.

[4] А. Вехтари, А. Гельман, Дж. Габри, Оценка практической байесовской модели с использованием перекрестной проверки с исключением по одному и WAIC (2017), Springer Statistics and Computing.

[5] А. Садат Мозафари, Х. Сикейра Гомес, В. Леао, К. Ганье, Неконтролируемое температурное масштабирование: неконтролируемый метод калибровки постобработки глубинной сети (2019 г.), Семинар ICML 2019 по неопределенности и устойчивости глубинных Обучение