Русский
Русский
English
Статистика
Реклама

Fairness

Заметки Дата Сатаниста честность модели

20.10.2020 12:19:01 | Автор: admin
Один из ключевых фундаментальных принципов обработки данных, согласно GDPR, это право человека на объяснение принятого решения и честность этого решения.

И сегодня мы поговорим о том, что же такое честность модели машинного обучения.


Картинка взята отсюда

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

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



Самый важный вывод из всей статьи (бесплатно и без смс):

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


Следствие: если спросить мнение пяти экспертов по этому вопросу, то вполне можно получить пять разных мнений.
Вывод: всё очень сложно.

Разбираем на примере

Здесь и далее мы следуем работе гугла по честности регрессионной модели, оценивающей вероятность дефолта кредита (у них там все интерактивно).

Два сценария: идеальный и реалистичный



Потенциально, у нас две ситуации: когда группа дефолта (которая не выплатила кредит) и группа успешно успешно выплатившая не пересекаются то есть классификатор успешно отделяют обе группы. Т.е. если человек в группе дефолта, то вероятность выплаты кредита меньше 0.5, и наоборот для второй группы.

Очевидно, что такой идеальный сценарий в жизни никогда не реализуется и идеальных классификаторов в жизни не существует, а значит куда более реалистичен второй сценарий (на картинке справа):



Граница решения и профит модели


Соответственно и что же мы делаем в такой ситуации? Для каждого клиента (из прошлого, по которому мы знаем правильный ответ) модель дает вероятность успешной выплаты кредита так же мы знаем, кто выплатил, а кто нет. Создателям модели известны риски ложноположительных и ложноотрицательных предсказаний (domain knowledge).

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



Смещение границ решения под нужное определение честности



Далее представим, что у нас есть группа, с которой мы подозреваем происходит что-то неладное определений честно много разных и мы обсудим их ниже. Сейчас важно, что они определяются через true positive, true negative, etc. То есть через предсказания модели и их отношением с настоящими метками класса.

Как правило, все определения это форма равенства определенных показателей в духе, равенства true positive rate. И движением границ, мы с одной стороны двигаем профит (как правило вниз), с другой приближаемся к нужным границам определения честность (как правило там задают некоторый отрезок допустимых значений).



Типы метрик


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

  1. Независящий от групп (Group unaware): Никаких границ, система считает, что нужно давать кредит значит достойны, а если система не считает, что нужно значит так честно, ибо ваши данные хуже вписываются в то, что мы верим, кредитоспособный клиент.
  2. Групповые границы (Group thresholds): Второй эксперт вообще не согласен с первым. Так как есть исторические перекосы в данных, то например, женщины могут выглядеть менее кредитоспособными, чем мужчины. Например, у них может быть куда больше перерывов в работе из-за декрета, но машине все равно почему у вас был перерыв она может посчитать вам это в минус. Поэтому мы поправим границы, чтобы это поправить.
  3. Демографический паритет (Demographic parity): Не-не, скажет третий, вот если у нас 30% заявок от женщин, то и 30% кредитов должно пойти им.
  4. Равные возможности (Equal opportunity): Четвертый скажет, что это чушь потому что у них по-прежнему разные риски и с чего бы должны быть равные пропорции? Должно быть так: равные пропорции среди тех, кто их исторически выплатил. То есть, если 90% среди выплативших мужчин получили кредиты, то и 90% среди выплативших женщин должны их получить. (Если вы запутались, то модели строятся на исторических данных, где мы знаем правильные ответы.)
  5. Равная точность (Equal accuracy): Эксперт номер пять скажет, что четвертый на правильном пути, но не до конца: ибо оно не учитывает тех, кому их не выдали! А значит, что метрика должна учесть точность в целом, а не только положительные примеры.

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

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

Невозможно следовать всем метрикам честности


Даже двум! Рассмотрим контр пример, подробнее об этом можно прочитать здесь.

Возьмем базовый уровень заражения по двум группам (base rate):



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



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

Еще пара нюансов


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

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

Выводы


Честность модели это вещь непростая и контекстная.

Невозможно удовлетворять все метрикам честности одновременно (даже двум математически нельзя).

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

Ссылки по теме:


  1. research.google.com/bigpicture/attacking-discrimination-in-ml
  2. research.google/teams/brain/pair
  3. pair-code.github.io/what-if-tool/ai-fairness.html
  4. pair.withgoogle.com/explorables/measuring-fairness
  5. Context-conscious fairness in using machine learning to make decisions
  6. Inherent Trade-Offs in the Fair Determination of Risk Scores




Подробнее..

Заметки Датасатаниста что делать, если перед вами оказалась NP-полная задача

25.11.2020 16:04:07 | Автор: admin


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

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

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

Убедиться, что перед вам действительно она


Как понять, что перед вами оказалась NP-полная задача? Во-первых, самая простая эвристика на обнаружение поиск по уже известным NP-полным задачам с целью определить что-то похожее, таких списков немало например.
Второе, рассмотреть следующие свойства задач:
  • Нужно выбрать решение, в котором n элементов из пространства exp(n)
  • Если у вас уже есть решение длины n из этого пространства оно легко (полиномиально) проверяется
  • Выбор одного из элементов решения (может) влияет на выбор всех остальных (не обязательно всех).
  • В худшем случае варианты всегда можно перебрать, рассмотрев все экспоненциальное пространство простым перебором.
  • Параметры n длина решения или само пространство не имеют фиксированного значения, то есть речь не идет о всегда фиксированной шахматной доске 8 на 8, а об общем виде задачи N-на-N.

Подробнее про свойства NP-полных задач тут и тут.

Пример работы по данному списку


Приведем простой пример на задаче, которую недавно утвердили как NP-полную!

По материалам статьи. Нужно расставить N ферзей на доске размера N на N, при условии, что уже K <= N расставлены на доске (картинка из оригинальной научной статьи)



Во-первых, заметим, что очень похожая задача с частично заставленным латинским квадратов NP полна.
А далее идем по списку:
  • Нужно найти N ферзей на из пространства exp(N) (=N^2 * (N^2-1) *....).
  • Решение из N ферзей тривиально проверяется для каждого ферзя надо проверить диагонали, вертикали и горизонтали.
  • Постановка одного делает выбор ряда других невалидным т.е. есть зависимости между элементами решения (нельзя расставить ферзей независимо).
  • Здесь можно решить задачу перебором для произвольно выбранной доски за exp(N) ставим первого в первого на (i,j) позицию, второго на любую другую незанятую, и тд. Перебор с возвратом гарантированно найдет решение.
  • Задача не имеет фиксированных параметров то есть сформулирована в общем виде и по мере роста N растет и сложность.

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

И более того, это условный практический подход эвристика по обнаружению NP-полных задач (со всеми плюсами и минусами).

Сведение



Источник

Почему имея на руках аналогичные задачи бывает непросто понять формально, что перед нами NP-задача? По-настоящему мы должны свети NP задачу к нашей, тогда мы точно будет знать, что наша задача NP-трудная! И если мы смогли ее смоделировать, как в списке выше, то она полная то есть по крайней мере NP и не более чем NP, фактически самая трудная среди NP задач (как и остальные NP-полные).

Окей, надо ли оно нам? Не совсем, если вы прям уверены, после всех проверок, что перед вами NP-задача, то вам не нужно ничего доказывать, если вы не пишите научную статью.
А нужно либо (об этом всем мы поговорим ниже):
  • смоделировать свою задачу с помощью систем, которые решают такие задачи;
  • найти решение, который будет работать достаточно быстро в вашем случае;
  • найти приближенное решение, которое удовлетворит нас.


Не опускать руки!


Самое важное это оценить размеры-параметры и реалистичные сценарии!


xkcd.com/287

Например, вы знаете, что несмотря на то, что значения параметров не фиксированы, но условный N < 100 на всех практических сценариях не реализуется значит, что условный перебор может для вас быть реальным решением.

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

Распределение входных данных


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

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



Вот пример, того как оценивалось решение для очень специализированной задачи NP-полной tiling против общего метода моделирования целого класса таких задач с помощью методов логического программирования:


(из статьи Relational Data Factorization (Paramonov, Sergey; van Leeuwen, Matthijs; De Raedt, Luc: Relational data factorization, Machine Learning, volume 106))

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

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

Эвристики и аппроксимация




Последний и самый мощный инструмент это использовать системы моделирования NP-полных задач, такие как например Answer Set Programming.



Подробнее про языки логического программирования.
Например решение задачи о расстановке ферзей будет выглядеть вот так:

% domainrow(1..n).column(1..n).% alldifferent: guess a solution1 { queen(X,Y) : column(Y) } 1 :- row(X).1 { queen(X,Y) : row(X)    } 1 :- column(Y).% remove conflicting answers: check this solution:- queen(X1,Y1), queen(X2,Y2), X1 < X2, Y1 == Y2.:- queen(X1,Y1), queen(X2,Y2), X1 < X2, Y1 + X1 == Y2 + X2.:- queen(X1,Y1), queen(X2,Y2), X1 < X2, Y1 - X1 == Y2 - X2.

Проведя простой эксперимент по поиску решений для разного количества ферзей N мы получим следующее: по оси Х ферзи, по Y время в секунда по поиску решения:



Мы видим, что несмотря на то, что рост времени явно не полиномиальный (что и логично) мы хорошо справляемся с адекватным количеством ферзей и размерами доски.

Тогда, если мы знаем, какие размеры доски являются для нас реальным, мы можем понять насколько это точное решение приемлемо для нас в настоящей системе.

Выводы



Тезисно пройдемся, по идеям из статьи в виде чек листа

  • Определить, что перед вами действительно NP задача.
  • Понять какие реалистичные значения параметров и распределение данных.
  • Попробовать написать (порядок зависит от разработчика и/или задачи):
    • Точное решение на эвристиках (на основе нашего анализа) будет ли достаточно быстро?
    • Приближенное решение на эвристиках будет ли достаточно точно?
    • Точное общее решение с помощью систем моделирования NP-задач будет ли удовлетворять ресурсам системы и задачи? Потребление памяти, CPU и время работы? Часто они очень прожорливы.
  • Провести эксперименты и сравнить решения: качество, время и корректность найденных решений.
  • Тестирование на реальной системе эксперименты экспериментами, а как будут вести себя библиотеки и системы разработанные в университетах в боевых условиях еще та загадка. Надо проверять!

Другие заметки Дата Сатаниста:


  1. Что может пойти не так с Data Science? Сбор данных
  2. Заметки Дата Сайентиста: как измерить время забега марафона лежа на диване
  3. Заметки Дата Сайентиста: маленькие утилиты большая польза
  4. Заметки Дата Сайентиста: персональный обзор языков запросов к данным
  5. Заметки Дата Сайентиста: на что обратить внимание при выборе модели машинного обучения персональный топ-10
  6. Заметки Дата Сайентиста: с чего начать и нужно ли оно?
  7. Заметки Дата Сатаниста: честность модели



Подробнее..

Дискриминация в алгоритмах ML существует и нет, это не либеральные сказки

26.03.2021 18:19:00 | Автор: admin

Человеческий мозг, как мы все знаем, полон предрассудков. Возникает вопрос: если машинное обучение "живет" за счет того, что очень близко имитирует этот наш мозг, то почему его алгоритмы не могут быть такими же необъективными и проявлять такую же несправедливость? К сожалению, они частенько это и делают.

Давайте расскажем вам как именно.

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

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

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

Так какая предвзятость (bias) есть в алгоритмах машинного обучения?

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

  • Хороший пример необъективности распознавания естественного языка (NLP) можно увидеть в социальных сетях: твиты, написанные афроамериканцами, в среднем отмечены алгоритмами ИИ как оскорбительные (хотя на самом деле таковыми не являются, показатель false positive) в 1,5 раза чаще, чем такие же твиты белых.

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

Почему эти признаки необъективности существуют?

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

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

  • Использование данных, которые навязывают стереотип привязанности одного из полов к ряду обязанностей или занятий. Некоторые модели глубинного обучения связывают мужчину с доктором, а женщину с медсестрой из-за вектора представления слов, отображающего социальные стереотипы (word embedding).

  • Использование данных, которым не хватает разнообразия. Да, той самой любимой дайвёрсити. Многие модели распознавания лиц обучаются на данных, которые включают больше белых людей, чем черных. Исследование Тимнит Гебру и Джой Буоламвини показало, что 3 инструмента для распознавания лиц от крупных технологических компаний смогли почти идеально определить пол белых мужчин, а темнокожих женщин определили неверно в 35% случаев. Это может привести к очень серьезным ошибкам правоохранительных органов.

Откуда мы знаем о существовании этой предвзятости?

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

Какие возможные способы решения этой проблемы существуют?

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

  • Ликвидация необъективности наборов данных, используемых моделями это влечёт за собой удаление существующих наборов данных, содержащих стереотипные данные, и создание репрезентации и дайверсити в них, в попытках сделать их более точными.

  • Устранение необъективности моделей. Это влечёт за собой изменение фактических векторных представлений слов для удаления стереотипной привязки (мужчина = доктор, и женщина = медсестра) при сохранении нужной гендерной информации (мужчина = король, и женщина = королева).

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

Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru