«Единственные два случая, когда мы думаем о справедливости модели машинного обучения, — это либо в классе машинного обучения, либо когда кто-то подает иск против нашей компании».

Это заявление одного из ассистентов на моем курсе Машинное обучение в производстве здесь, в Университете Карнеги-Меллона, задело меня за живое.

Есть ли проблема?

Как специалисты по данным, мы часто зацикливаемся на точности нашей модели или на том, сколько $ наша компания зарабатывает на ней, но забываем, как это может повлиять на людей, на которых она влияет.
Обычно данные, которые мы загружаем в нашу модель, предвзяты, но способствует ли наша модель этим общественным предубеждениям? Делаем ли мы что-нибудь, чтобы сбалансировать их?
И поверьте мне, это случается с лучшими из нас. Ниже приводится недавний отрывок возмущения в Твиттере по поводу возможной гендерной предвзятости в модели кредитного лимита Apple Card.

ПОДОЖДИТЕ! Возникает вопрос: прежде чем мы попытаемся исправить наши модели, знаем ли мы, что они предвзяты?

ЭКВИТАС спешит на помощь!

Aequitas — это латинское понятие справедливости, равенства или честности, от которого произошло английское слово справедливость
Но Aequitas, с которым я собираюсь вас познакомить, — это Инструментарий аудита предвзятости и справедливости, разработанный Центром науки о данных и государственной политики при Чикагском университете. Забавный факт: основатель CDSPP Райд Гани в настоящее время является выдающимся профессором машинного обучения и государственной политики в КМУ.

Aequitas – это набор инструментов с открытым исходным кодом для проверки предвзятости, доступный как в виде веб-приложения, так и в виде пакета Python. Он предназначен для использования разработчиками, аналитиками и политиками машинного обучения для проверки моделей машинного обучения на предмет дискриминации и предвзятости. Таким образом, помогая им принимать более обоснованные и справедливые решения².

Здесь я расскажу вам о чрезвычайно простом в использовании веб-приложении Aequitas, которое создает "Отчет о предвзятости", просто загружая CSV-файл. Это отличный инструмент без кода, который позволяет любому пользователю вводить предсказанные результаты наших моделей классификации, выполнять шаги, как показано ниже, и Вуаля! всего за несколько кликов. , вы мгновенно получаете отчет, в котором сообщается, проходит ли ваша модель проверку предвзятости/справедливости или нет!

Быстро вернуться обратно в класс!

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

Помните матрицу путаницы? Да, тот, который сбивает нас с толку каждый раз, когда нас просят рассчитать метрику модели во время интервью Data Science.

Отсюда нам нужно вспомнить три термина в контексте бинарного классификатора:

Коэффициент ложных срабатываний:

Коэффициент ложноотрицательных результатов:

Коэффициент ложного обнаружения:

Знаменатель FDR — это все прогнозированные положительные результаты.

Как использовать Aequitas для получения отчета о предвзятости?

Набор данных

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

Требования Aequitas к вводу CSV

Для создания отчета веб-приложению Aequitas требуется входной CSV-файл определенного формата. Входной CSV должен иметь вид:

Здесь столбец label_value — это истинные метки для входного набора данных, а столбец оценка относится к сделанному прогнозу. по нашей модели на основе набора признаков attribute_1…n.

Модель

Чтобы соответствовать входным требованиям инструмента, мы строим модель Двоичная классификация на основе дерева, чтобы предсказать, будет ли фильм с информацией о жанре иметь высокий рейтинг (двоичный 1, если оценки ≥ 4) или низкий (двоичный 0, если ‹ 4 ) с использованием пользовательских функций Возраст, Пол (мужской/женский) и Род занятий. Однако цель этого поста — проверить модель; следовательно, мы можем обращаться с этой моделью так же, как с любой другой моделью черного ящика, с которой мы можем столкнуться.
Для получения более подробной информации о данных, очистке данных, проектировании функций, разработке модели и ее настройке, не стесняйтесь пройти репозиторий GitHub!

Загрузить CSV и выбрать защищенные группы

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

Выберите показатели справедливости

Затем мы выбираем Показатели справедливости, которые мы хотели бы вычислить, и Недопустимость неравенства, %, т. е. процентное значение, в пределах которого все наши подсовокупности должны сравниваться с эталоном. группа. Мы выбираем следующее, а затем нажимаем Generate Fairness Report:

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

Отчет о предвзятости

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

Сводка результатов аудита

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

Результаты аудита: детали по критериям справедливости

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

Давайте посмотрим на пару примеров того, как Aequitas отображает результаты, когда наша модель проходит тест, а когда нет:

Результаты аудита: значения показателей систематической ошибки

Если мы дополнительно хотим знать каждое значение для выбранных нами групп и соответствующие показатели смещения, Aequitas предоставляет нам легко интерпретируемую таблицу:

Результаты аудита: значения групповых показателей

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

Почему я призываю всех коллег по работе с данными использовать Aequitas!

Я надеюсь, что мне удалось продемонстрировать, почему Aequitas — это инструмент, который необходимо включить в конвейер машинного обучения и машинного обучения с помощью простого сценария прогнозирования рейтинга фильмов. Если вы все еще не убеждены, позвольте мне предложить более высокий сценарий прогнозирования рецидивизма. Я полагаю, что все (или, по крайней мере, большинство) из нас согласятся с тем, что при прогнозировании вероятности того, что осужденный преступник совершит повторное преступление, мы должны учитывать такие особенности, как криминальное прошлое, тяжесть преступления и т. основа расы. Таким образом, нам нужна модель, свободная от предвзятости и справедливая для всех рас. Даже если наша модель очень точна, я надеюсь, что любой, кто создаст такую ​​модель в будущем, быстро прогонит ее через Aequitas и всего несколькими щелчками мыши будет уверен, что их модель не предвзята, или, если это так, пересмотрит процесс моделирования. .

Дает ли Aequitas все, что нам нужно?

НО ПОДОЖДИТЕ!
Что, если я скажу вам, что модель, которую мы использовали для демонстрации выше, была всего лишь простой моделью, предсказывающей высокий рейтинг для каждой записи в нашем тестовом наборе? Даже такая модель поддерживает паритет FP и FN среди всех групп, потому что она никогда не делает различий. Это всего лишь пример, демонстрирующий ограничения использования такого инструмента, как Aequitas. Хотя некоторые из наших показателей справедливости могут быть приняты, Aequitas имеет дело с предвзятостью и справедливостью по отдельности. Он вообще не комментирует и не намекает на точность и надежность работы нашей модели. Следовательно, следует использовать Aequitas в качестве аудита предвзятости и справедливости своих моделей, а также оценивать его точность, находя баланс между ними на основе собственного варианта использования.

Кроме того, еще одно ограничение заключается в том, что веб-приложение ограничено требованием к специально отформатированному CSV-файлу, а размер набора данных увеличивает время, необходимое для создания отчета. Пакет Python, однако, дает вам больше свободы и возможности анализа с использованием Low-Code, как показано ниже:

fpr_disparity_fairness = aqp.plot_fairness_disparity(fdf, 
                    group_metric='fpr', attribute_name='race')

На этом все!

Да пребудет с вашей моделью справедливость!

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

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

Использованная литература:

  1. https://ru.wikipedia.org/wiki/Aequitas
  2. http://aequitas.dssg.io/
  3. https://github.com/dssg/aequitas
  4. https://aequitasresource.org/ — AEquitas — Защитники справедливости

Социальные сети:

@LinkedIn

@GitHub

@Твиттер