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

Материал из Викиконспекты
Перейти к: навигация, поиск
Строка 1: Строка 1:
 
'''Интерпретируемая модель''' - модель обладающая свойством '''интерпретируемости'''.
 
'''Интерпретируемая модель''' - модель обладающая свойством '''интерпретируемости'''.
  
'''Интерпретируемость''' - это свойство модели, которое показывает, что структуру данной модели может объяснить человек.
+
'''Интерпретируемость''' {{---}} это свойство модели, которое показывает, что структуру данной модели может объяснить человек.
 
При этом структура модели не противоречит данным, на которых данная модель построена и сохраняет некоторые свойства предоставленных данных.
 
При этом структура модели не противоречит данным, на которых данная модель построена и сохраняет некоторые свойства предоставленных данных.
 
При интерпретации модели могут быть объяснены принципы и закономерности, которые использует сама модель для предсказания на конкретных данных.
 
При интерпретации модели могут быть объяснены принципы и закономерности, которые использует сама модель для предсказания на конкретных данных.
Строка 75: Строка 75:
 
Одна из возможностей проанализировать модель — оценить, насколько её решение зависит от отдельных признаков.  
 
Одна из возможностей проанализировать модель — оценить, насколько её решение зависит от отдельных признаков.  
  
'''SHAP''' - (англ. SHapley Additive exPlanations) Важность i-го признака здесь вычисляется по такой формуле:<ref name="exp"> Реализация Shap [https://github.com/slundberg/shap]</ref>.
+
'''SHAP''' {{---}} (англ. SHapley Additive exPlanations) Важность i-го признака здесь вычисляется по такой формуле:<ref name="exp"> Реализация Shap [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>
 
<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>.
+
где '''f(S)''' {{---}} ответ модели, обученной на подмножестве '''S''' множества '''n''' признаков (на конкретном объекте — вся формула записывается для конкретного объекта).<ref name="habr">Павел Трошенков "Как интерпретировать предсказания моделей в SHAP" [https://habr.com/ru/post/428213]</ref>.
  
 
Видно, что вычисление требует переобучения модели на всевозможных подмножествах признаках, поэтому на практике применяют приближения формулы.
 
Видно, что вычисление требует переобучения модели на всевозможных подмножествах признаках, поэтому на практике применяют приближения формулы.
Строка 85: Строка 85:
 
=== Суррогатные модели ===
 
=== Суррогатные модели ===
  
'''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>
+
'''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 понятны достоинства и недостатки такого подхода.<ref name="lime_exp>Реализация Lime [https://github.com/marcotcr/lime]</ref>
 
Даже если простая модель не сможет смоделировать сложную во всём пространстве, в окрестности конкретной точки это вполне возможно. Локальные модели объясняют конкретный ответ чёрного ящика. Эта идея показана на рис. w. У нас есть чёрный ящик (ЧЯ), который построен на данных. В некоторой точке он выдал ответ, мы генерируем выборку в окрестности этой точки, узнаём ответы ЧЯ и настраиваем обычный линейный классификатор. Он описывает ЧЯ в окрестности точки, хотя во всём пространстве он сильно отличается от ЧЯ. Из рис. 2 понятны достоинства и недостатки такого подхода.<ref name="lime_exp>Реализация Lime [https://github.com/marcotcr/lime]</ref>
  

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Но не всё хорошо описывается этими моделями.

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

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

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

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

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

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 понятны достоинства и недостатки такого подхода.[5]

Lime.png

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

Примечания

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

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

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