Интерпретируемые модели — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
Строка 48: Строка 48:
  
 
* Cтабильность: статисические и оптимизационные свойства
 
* Cтабильность: статисические и оптимизационные свойства
 +
 +
== Как создать интерпретируемую модель? ==
 +
 +
=== Использовать только интерпретируемые модели (англ. Transparent Models): ===
 +
 +
* [[Линейная регрессия|Линейные модели]]
 +
 +
* [[Дерево решений и случайный лес| Деревья решений]], списки правил, наборы правил
 +
 +
* Модели основывающиеся на предыдущем опыте
 +
 +
=== Построить интерпретируемую модель поверх эмбендинга ===
 +
 +
Пример: у нас есть лук. Если “лук” находится рядом с “чесноком”, то модель думает о “луке” как о овоще, если “лук” находится рядом с “пистолетом”, “рогаткой”, то модель думает о “луке” как о оружии. Но модель теперь интерпретируема, но сами признаки перестают быть таковым
 +
 +
=== Важность признаков ===
 +
 +
Одна из возможностей проанализировать модель — оценить, насколько её решение зависит от отдельных признаков.
 +
 +
'''SHAP''' - (англ. SHapley Additive exPlanations) Важность i-го признака здесь вычисляется по такой формуле:<ref name="exp"> Пример реализации [https://github.com/slundberg/shap]</ref>
 +
 +
<math>\begin{equation*} \phi_{i}(p) =\sum_{S \subseteq \{1,2..n\} / \{i\}} \frac{|S|!(n - |S| -1)!}{n!}(p(S \cup \{ i \}) - p(S)) \end{equation*}</math>
 +
 +
где f(S) — ответ модели, обученной на подмножестве S множества n признаков (на конкретном объекте — вся формула записывается для конкретного объекта).<ref name="habr">Павел Трошенков "Как интерпретировать предсказания моделей в SHAP" [https://habr.com/ru/post/428213]</ref>
 +
 +
Видно, что вычисление требует переобучения модели на всевозможных подмножествах признаках, поэтому на практике применяют приближения формулы.
 +
 +
=== Суррогатные модели ===
 +
 +
'''LIME''' - (англ. Local Interpretable Model-agnostic Explanations) <ref name="Lime">Marco Tulio Ribeiro, Sameer Singh, Carlos Guestrin "Explaining the Predictions of Any Classifier" [https://www.kdd.org/kdd2016/papers/files/rfp0573-ribeiroA.pdf]</ref>
 +
Даже если простая модель не сможет смоделировать сложную во всём пространстве, в окрестности конкретной точки это вполне возможно. Локальные модели объясняют конкретный ответ чёрного ящика. Эта идея показана на рис. w. У нас есть чёрный ящик (ЧЯ), который построен на данных. В некоторой точке он выдал ответ, мы генерируем выборку в окрестности этой точки, узнаём ответы ЧЯ и настраиваем обычный линейный классификатор. Он описывает ЧЯ в окрестности точки, хотя во всём пространстве он сильно отличается от ЧЯ. Из рис. 2 понятны достоинства и недостатки такого подхода.
 +
 +
рис. 2. Построение локальной суррогатной модели.
 +
  
 
== Примечания ==
 
== Примечания ==

Версия 14:14, 5 января 2021

Интерпретируемая модель - модель обладающая свойством интерпретируемости.

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

Практическая польза

Если модель машинного обучения работает хорошо, почему мы просто не доверяем модели и игнорируем факторы, из-за которых она приняла то или иное решение? "Проблема в том, что только одна метрика измерения, такая как, точность классификации, это неполное описание большинства реальных задач". [1]

Когда нужна интерпретируемость

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

Когда интерпретируемость не требуется

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

Примеры моделей

Пример интерпретируемой модели

Пример эффективной в предсказании но не интерпретируемой модели

Допустим есть данные и задача бинарной классификации, и 99% объектов имеют класс 1, остальные 0. Модель a(x) = 1, имеет точность 99%, но проинтерпретировать ее нельзя для каких-то наших исследований, особенно если нас интересуют, как возникает класс 0. Такая модель не интерпретируема, так как не информативна.

Другие свойства моделей

  • Предсказуемость и моделируемость: свойства при которых человек способен предсказывать поведение и ошибки модели, а так же умение "симулировать" их. Например TODO
  • Разложимость и модульность: свойства при которых человек способен декомпазировать модель на интепретируемые компоненты. Например деревья решений или линейный модели для небольшой размерности.
  • Доверие:
  • Информативность: из модели можно выявить вспомогательную информацию полезную для принятия какого-либо решения.
  • Cтабильность: статисические и оптимизационные свойства

Как создать интерпретируемую модель?

Использовать только интерпретируемые модели (англ. Transparent Models):

  • Модели основывающиеся на предыдущем опыте

Построить интерпретируемую модель поверх эмбендинга

Пример: у нас есть лук. Если “лук” находится рядом с “чесноком”, то модель думает о “луке” как о овоще, если “лук” находится рядом с “пистолетом”, “рогаткой”, то модель думает о “луке” как о оружии. Но модель теперь интерпретируема, но сами признаки перестают быть таковым

Важность признаков

Одна из возможностей проанализировать модель — оценить, насколько её решение зависит от отдельных признаков.

SHAP - (англ. SHapley Additive exPlanations) Важность i-го признака здесь вычисляется по такой формуле:[2]

[math]\begin{equation*} \phi_{i}(p) =\sum_{S \subseteq \{1,2..n\} / \{i\}} \frac{|S|!(n - |S| -1)!}{n!}(p(S \cup \{ i \}) - p(S)) \end{equation*}[/math]

где f(S) — ответ модели, обученной на подмножестве S множества n признаков (на конкретном объекте — вся формула записывается для конкретного объекта).[3]

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

Суррогатные модели

LIME - (англ. Local Interpretable Model-agnostic Explanations) [4] Даже если простая модель не сможет смоделировать сложную во всём пространстве, в окрестности конкретной точки это вполне возможно. Локальные модели объясняют конкретный ответ чёрного ящика. Эта идея показана на рис. w. У нас есть чёрный ящик (ЧЯ), который построен на данных. В некоторой точке он выдал ответ, мы генерируем выборку в окрестности этой точки, узнаём ответы ЧЯ и настраиваем обычный линейный классификатор. Он описывает ЧЯ в окрестности точки, хотя во всём пространстве он сильно отличается от ЧЯ. Из рис. 2 понятны достоинства и недостатки такого подхода.

рис. 2. Построение локальной суррогатной модели.


Примечания

  1. Doshi-Velez and Kim "Towards A Rigorous Science of Interpretable Machine Learning" 2017 Page 5
  2. Пример реализации [1]
  3. Павел Трошенков "Как интерпретировать предсказания моделей в SHAP" [2]
  4. Marco Tulio Ribeiro, Sameer Singh, Carlos Guestrin "Explaining the Predictions of Any Classifier" [3]

Источники информации

  • Doshi-Velez and Kim "Towards A Rigorous Science of Interpretable Machine Learning" 2017[4]
  • Sanmi Koyejo "Interpretability" MACHINE LEARNING SUMMER SCHOOL 2019 [5]