Справедливость классификации часто беспокоит общественность и пользователей приложений-классификаторов. Однако что такое справедливость? И как определить, является ли классификационная модель «справедливой» или нет?

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

(необязательно) Затем я сравню этот инструмент с Fairlearn от Microsoft, чтобы увидеть, какой инструмент лучше и интуитивно понятнее.

  1. Как выглядит набор данных:

Метка набора данных (наземная правда) — «Хорошая оценка», где 1 означает хорошую оценку, а 0 — плохую оценку.

Функции содержат 20 функций, начиная от пола (здесь он называется личным статусом) и заканчивая кредитной историей и целью кредита и т. д., как показано ниже. Вы можете найти более подробное описание здесь на веб-сайте UCI ML.

{
# FEATURE COLUMNS
'AccountStatus': 'qualitative',
 'Duration': 'numerical',
 'CreditHistory': 'qualitative',
 'Purpose': 'qualitative',
 'CreditAmount': 'numerical',
 'Account': 'qualitative',
 'EmploymentSince': 'qualitative',
 'PrecentOfIncome': 'numerical',
 'PersonalStatus': 'qualitative',
 'OtherDebtors': 'qualitative',
 'ResidenceSince': 'numerical',
 'Property': 'qualitative',
 'Age': 'numerical',
 'OtherInstallPlans': 'qualitative',
 'Housing': 'qualitative',
 'NumExistingCredits': 'numerical',
 'Job': 'qualitative',
 'NumMaintenance': 'numerical',
 'Telephone': 'qualitative',
 'ForeignWorker': 'qualitative',

# LABEL COLUMN
 'GoodCredit': 'quantitative' 
}
  1. Инструмент «что если»:

Пользовательский интерфейс инструмента «Что, если» интуитивно понятен и состоит из 3 вкладок:

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

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

Вопрос 1. Что, если…два профиля похожи, но классифицированы по-разному? Противоречивые примеры

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

Например, следующие контрпримеры друг друга

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

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

Глядя на результаты прогноза, как на нижних рисунках, я вижу, что балл в сторону «Хороший кредит» у первого человека выше, чем у его «двойника по профилю» (и также выше 0,5). Поэтому он пока «классифицируется» как Good Credit, а другой — нет.

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

Вот как это выглядит для автокредитов:

Ага, интересно, похоже, что мой классификатор относит все кредиты на автомобили (подержанные) к категории Good Credit. Однако это не обязательно предвзятость.

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

Вопрос 2. Что, если…. она была мужчиной? Редактор точек данных

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

Я выбрал «сложный» случай, когда оценка близка к 0,5, и сменил пол на мужской. Ниже приведен мой сложный случай, когда вероятность того, что он будет хорошим кредитом, составляет 49%. Эта дама раньше была квалифицированным работником, но теперь она безработная.

Когда я изменил этот случай на «мужской», вероятность хорошей оценки увеличилась примерно на 5% (с 49% до 54,8%). Тем не менее, достаточно, чтобы подтолкнуть это к Good Credit, если я оставлю порог на уровне 50%.

Как насчет еще одного «простого» случая, когда прогнозируемая вероятность того, что вы станете хорошей репутацией, низка. Следующий, кого я выбрал, — безработный, занявший деньги на машину. Прогнозируемая вероятность того, что у нее хороший кредит, составляет всего 33,5%.

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

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

Вопрос 3. Что, если… к разным группам относятся по-разному? Это справедливо? Как измерить справедливость?

Теперь я спрашиваю себя: справедливо ли это? Да и что такое справедливость?

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

  • Группа не знает: исключить пол из нашей модели
  • Групповой порог: потому что вполне вероятно, что женщины могут иметь «плохие» значения характеристик из-за характера их пола, например. у них есть перерывы в карьере из-за декретных отпусков, и гендера недостаточно. Они все еще могут получить худший кредитный прогноз. Мы должны изменить порог, чтобы позволить больше женщин.

Затем у нас есть другие три определения справедливости, где мы можем фактически «вычислить» порог, который нам нужно установить для каждой группы, в данном случае для мужчин и женщин.

  • Демографический паритет: набор людей, которые классифицируются как Good Credit, должен иметь ту же долю женщин, что и демографическое распределение.
  • Равные возможности: среди одних и тех же людей, которые действительно могут иметь хорошую кредитную историю, одна и та же часть мужчин и женщин должна классифицироваться как хорошая кредитная история. Другими словами, соотношение истинно положительных результатов (TPR) = истинно положительных/(истинно положительных + ложноотрицательных) должно быть одинаковым для мужчин и женщин.
  • Равная точность: это определение приближается к справедливости не только для «хороших» людей, находящихся в равных возможностях, но и для «хорошей» и «плохой» кредитной истории. Это требует, чтобы у каждого пола был одинаковый процент людей, которые правильно предсказаны. Это точность, как это обычно считают.

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

  • По умолчанию порог для мужчин и женщин составляет 50%.

По его внешнему виду я вижу, что меньшая доля женщин классифицируется как Good Credit, чем мужчин.

И, глядя на первую строку каждой матрицы, если вы сравните True Positive Rate, количество мужчин, классифицированных как Good Credit, среди реальных случаев Good Credit немного выше (85% против 84%). .

  • Когда я меняю настройку на «Равные возможности», инструмент поднимает порог для женщин и мужчин. Однако это поднимает порог женщин до гораздо более высокого уровня 74% по сравнению с 59% для мужчин. Это довольно нелогично и связано с плоской кривой ROC для женщин по сравнению с мужчинами, как показано ниже. Когда женская кривая плоская, для увеличения TPR требуется больший «скачок» порога по сравнению с мужчинами.

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

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

Благодаря этим ссылкам я могу провести этот анализ:

Игра со справедливостью ИИ, Дэвид Вайнбергер

Примеры что, если: [1] и [2]

Вот моя записная книжка, если вы заинтересованы в привязке модели sklearn к платформе What-ifs. https://github.com/huyenle/what-ifs-german-credit-score/tree/main

Следующие вопросы, на которые я хочу ответить:

Как смягчить предвзятость в моих классификаторах? Особенно когда регулировка порога не дает удовлетворительных результатов…

Другие классификаторы работают «лучше»? Компромисс между производительностью и справедливостью