Смотреть оригинал статьи здесь

В этой статье предлагаются два алгоритма:
◦ 1. Находит минимаксную групповую справедливую модель из заданного статистического класса
◦ 2. Ищет компромисс между упрощенной минимаксной моделью справедливой справедливости и общей точностью.

Оба алгоритма сходятся и являются эффективными для Oracle, поэтому мы можем протестировать несколько типов моделей, чтобы увидеть, как они работают с различными наборами данных. Существует два алгоритма: MinimaxFair и MinimaxFairRelaxed. Итак, в чем разница?

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

Сначала мы запускаем MinimaxFair, чтобы определить значения двух величин γ_min, максимальной групповой ошибки рандомизированной минимаксной модели, и γ_max, максимальной групповой ошибки модели минимизации ошибок совокупности. Первое — это минимально допустимое значение γ, а второе — максимальное значение γ, которое мы когда-либо хотели бы принять.

Затем мы запускаем MinimaxFairRelaxed для выбранных значений гаммы в [γmin, γmax], чтобы проследить достижимый компромисс между честностью и точностью и построить соответствующую кривую Парето.

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

Некоторые важные настройки выделены ниже:

models = {1: 'LinearRegression', 2: 'LogisticRegression', 3: 'Perceptron', 4: 'PairedRegressionClassifier', 5: 'MLPClassifier'} # ВНИМАНИЕ: MLPClassifier не оптимизирован для графического процессора и может работать медленно

numsteps = 2000 # количество шагов для обучения/игры

error_type = '0/1 Loss' # 'MSE', '0/1 Loss', 'FP', 'FN', 'Log-Loss', 'FP-Log-Loss', 'FN-Log- Потеря'

# ПРИМЕЧАНИЕ: eta = a * t^(-b) в t-м раунде игры

a = 1 # Мультипликативный коэффициент для параметризованной скорости обучения

b = 1/2 # Отрицательный показатель параметризованной скорости обучения

gamma = 0.0 # Максимальная ошибка групп при использовании упрощенного варианта

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

Регрессия

Эта модель оптимизирована для модели линейной регрессии с MSE в качестве функции потерь. Алгоритм фактически определяет, какие γ_min и γ_max появляются при запуске MinimaxFairRelaxed, поскольку он определяет количество используемых гамм. Мы начнем с набора данных Communities.

Точный диапазон: [0,10795892100437832, 0,1434128617155597].

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

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

Классификация

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

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

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

Ложноположительные/ложноотрицательные результаты

Эта модель также дает нам возможность увидеть, как наша модель справляется с частотой ложных срабатываний (FP). Ниже мы используем набор данных COMPAS, так как здесь частота ложноположительных результатов чрезвычайно важна для обеспечения того, чтобы решения с тяжелыми последствиями принимались с осторожностью. Ошибки, такие как осуждение невиновного человека, имеют серьезные последствия. Давайте посмотрим наши реплики ниже. Обратите внимание, что когда мы делаем это, можно получить нулевую долю ложноположительных результатов, используя постоянный классификатор, который слепо делает отрицательные прогнозы для всех выходных данных, поэтому вместо этого мы пытаемся изучить компромисс между общей ошибкой и максимальными ложноположительными показателями. Они напрямую переводятся в False Negative.

Ясно, что мы можем видеть, как кривая компромисса идеально ложится на почти выпуклую кривую компромисса.

Обобщение

Мы хотим показать, что эта модель работает и при обобщении. Сначала мы воспроизведем это в регрессии. Обратите внимание, что набор классификационных данных был недоступен для репликации, поэтому мы перейдем к собственному тестированию позже. Как и в статье, мы будем хранить 25% данных для проверки теста. Здесь мы ищем тестовые и тренировочные данные с похожими ошибками с небольшими различиями между ними. Будем надеяться, что мы сможем определить, объясняются ли эти небольшие поля общим свойством линейных классификаторов в наборе данных, наблюдая за различиями между невзвешенной моделью и минимаксной моделью.

Регрессия

Здесь мы сначала смоделируем то, что они сделали в статье, с набором данных Bike с разделением 75/25 для проверки.

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

Мое тестирование

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

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

Сначала мы рассмотрим набор данных COMPAS, набор данных Fire и набор данных Student для задач классификации и регрессии. .

Регрессия в наборе данных учащихся

В наборе данных учащихся учитываются такие сведения, как образование матери или отца, семейные отношения и поведение учащихся. С целью регрессии от 0 до 20 для определения окончательной успеваемости учащихся мы будем использовать модель линейной регрессии с MSE в качестве функции потерь и с коэффициентом обучения, установленным с a = 1, 5 и 10 с b = 0,5. и количество шагов установлено на 5000.

С помощью этих графиков мы можем видеть, как ошибка группы уменьшается по мере увеличения ошибки совокупности в этом компромиссе между ошибкой совокупности и максимальной ошибкой группы. Мы продолжаем получать новые доказательства того, как модель способна проецировать компромисс между двумя целями. Мы также можем видеть, что a = 10 дает график, который выглядит наиболее близким к сходимости, подразумевая, что более высокое значение a для этой модели может лучше соответствовать наилучшей скорости обучения. Проверив значения с шагом 25 от 1 до 100, я обнаружил, что приблизительное значение a = 25 позволяет нам лучше всего определить ошибки модели.

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

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

Регрессия в наборе данных о пожарах

В наборе данных Fire учитываются такие данные, как местоположение и погода, при прогнозировании площади леса, который в итоге был сожжен. Мы будем следовать той же процедуре, что и раньше, чтобы определить, какое значение a будет работать здесь. Запустив a = 25, я понял, что нужно попробовать меньший диапазон значений a. Вместо этого я попробовал a = 1, 5, 10, 15 и 20. Остановившись на 20, мы получили следующие результаты.

Интересно, что максимальная групповая ошибка изначально значительно снижается при небольшом изменении ошибки генеральной совокупности. Это четкая позиция, в которой можно выбрать около 0,0034 для ошибки совокупности ради снижения максимальной групповой ошибки. Мы видим, что самая большая ошибка групп, 0,006 сентября, уменьшается по мере работы алгоритма. В то время как некоторые группы резко увеличиваются (май и апрель), это легко объяснить небольшим количеством образцов для каждой группы. Это небольшое количество выборок на группу может дополнительно объяснить разницу в результатах групповой ошибки и ошибки совокупности, которую мы видим. Этим изменениям ошибок непосредственно соответствуют групповые веса.

Классификация по набору данных COMPAS

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

Для дальнейшего сравнения между равной ошибкой и нашей минимаксной моделью мы использовали функцию потерь 0/1 с классификатором парной регрессии. Мы видим, что наша минимаксная модель продолжает доминировать по Парето над моделью с равными ошибками. Каждая группа имеет меньшую ошибку по сравнению со своим аналогом. Как мы и ожидали, ошибки в модели с равными ошибками завышены примерно до 0,365, что значительно выше, чем все другие групповые ошибки, которые мы наблюдаем в минимаксной модели.

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

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

Обобщение

Теперь мы хотим показать обобщение с одним из других наборов данных. Сначала мы будем использовать наборы данных Student и Fire для регрессии и набор данных Credit для классификации. Мы будем использовать разделение обучения/тестирования 80/20 и попробуем посмотреть, что произойдет.

Регрессия

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

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

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

Классификация

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

Вывод

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

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