Интересная дискуссия @SlateStarCodex про алгоритмическую справедливость - то есть, про то, что делать, когда статистический анализ поддерживает точку зрения, возможно, популярную, но которая не вполне в русле линии партии и правительства. Где-то мы это обсуждали (с
ikadell?) но сейчас ссылок не найду. Оказывается, человечество изобрело для таких проблем целую отдельную науку, algorithmic fairness.
Там обсуждаются
статьи про
анализ американского алгоритма досрочного выпуска заключенных, но те же проблемы возникают, например, и при автоматизации
выдачи кредитов или продаже страховок. И вполне могут возникнуть в будущем и вообще в любых областях, включая найм на работу или инвестиции в акции.
Формализуется проблема, видимо, примерно так. Пусть мы принимаем решение о выдаче чего-то хорошего претендентам. Выдача этого хорошего 1) приятна получателю и/или нам 2) стоит нам ресурсов 3) стоимость для нас зависит от будущих событий и при выдаче точно неизвестна. Очевидно, нам хочется как-то предсказать эти будушие события и выдавать не всем претендентам, чтобы стоимость для нас была пониже. Будем называть это хорошее - кредитом, хотя исходная дискуссия и не про них. Во большинстве случаев речь идет если и не о буквальном кредите, то о кредите доверия претендентам. Стандартный подход для алгоритма принятия таких решений - минимизировать вероятность двух видов ошибок, 1 рода - выдачи кредита тому, кто его не вернет и 2 рода - невыдачи кредита тому, кто его вернет. Довольно легко уменьшить одну из этих вероятностей, увеличивая другую, так что обычно стараются найти компромисс, например, минимизировать одну из них при зафиксированной другой.
Про каждого претендента мы можем собрать информацию про некоторое количество признаков, у нас есть некоторый контроль над тем какие признаки мы собираем. Среди всех доступных признаков, есть заранее известный набор "защищенных" признаков и их значений. Если наш алгоритм в явном виде снижает вероятность выдачи кредита из-за того, что у претендента защищенное значение такого признака, то алгоритм, по определению, несправедлив. Например "негр" - защищенное значение признака раса и алгоритм, который, при всех прочих равных наблюдаемых признаках, не дает кредит негру, но дает белому, заведомо несправедлив. Избежать таких несправедливостей легко и просто, например, заведомо достаточно просто исключить защищенные признаки из нашего списка признаков. Если бы определении справедливости сводилось бы к этому, проблема была бы трививальной. Однако, алгоритмы считаются несправедливыми и во многих других случаях. По поводу этих других случаев, четкого консенсуса, видимо, нет.
Один подход, официально
рекомендуемый американской правительственной Комиссией по Равному Трудоустройству аж с 1979 года, говорит, что если вероятность выдачи при защищенном значении критерия ниже магического уровня в 80% вероятности для какого-нибудь другого значения, то это явный признак дискриминации (!). Безумие этого подхода с точки зрения статистики объяснять не нужно; именно на его основе принимаются всякие курьезные решения, типа запрета
тестирования при приеме в пожарные. Особенно хорошо в этом критерии, то, что наличие или отсутствие дискриминации защищенной группы А зависит от того, как мы разбиваем/объединяем незащищенные группы Б и Ц.
Другой подход, исходящий из
отчета про равенство обамской администрации, требует, чтобы алгоритм давал для всех защищенных признаков одинаковые ошибки первого и второго рода для всех значений. То есть, чтобы обе вероятности - дать кредит претенденту, которых потом его не вернет, и не дать кредит претенденту, который его вернет - были одни и те же и для черных и для белых. Это довольно сильное требование, которое в любой нетривиальной ситуации математически несовместно со стандартным подходом минимизации ошибки одного рода при фиксированной ошибке другого рода на всей выборке. Кроме того, алгоритм, справедливый в этом определении обычно должен в явном виде учитывать защищенный признак, то есть он не будет слеп к этому признаку - справедливость вступит в явное противоречие с простым игнорированием признака. Дополнительная проблема тут в том, что если у нас есть больше одного защищенного признака, и эти признаки между собой коррелированы, то удовлетворить этому определению может быть непросто без совсем большого искажения критериев. Можно ли подобрать нетривиальный пример, когда удовлетворить вообще невозможно, мне сейчас непонятно.
Статья одного из участников полемики предлагает третий подход. Они предлагают довольно сложный и непрозрачный алгоритм поправки, который не всегда дает вообще какой-нибудь ответ. Если сильно упростить, они предлагают для всех защищенных значений признаков заменить их на незащищенные и то же сделать с теми скоррелированными значениями других признаков, в той степени, в которой надежные эксперты не считают эти другие признаки релевантными сами по себе. Например, если мы получили много резюме и отбираем себе работника, то явно учитывать расу - нельзя, и учитывать имя тоже нельзя (потому что имена коррелируют с расой), а вот учитывать образование можно (хотя оно тоже коррелирует с расой.) Что в этом методе хорошо - это что эксперты по справедливости без работы не останутся. Статья технически довольно тяжелая даже для меня, так что я не уверен, что все понял в деталях, но пока что я не вижу, как это можно обобщить с явных линейных моделей на более сложные, или, тем более, непрозрачные глубокие сети с кучей нелинейностей.