Изменения

Перейти к: навигация, поиск

Интерпретируемые модели

571 байт убрано, 18:06, 9 февраля 2021
м
Важность признаков
== Классификая моделей ==
* Post-Hoc (позволяют объяснить результаты моделивоспринимает модель как "черный ящик", например, нейросеть) vs Intrinsic (накладывают ограничения на сложность самой модели).
* Специфические (работают только для конкретной архитектуры модели) vs агностические (можно применить ко всем моделям для решения конкретной задачи).
* Локальные (позволяют понять предсказание для конкретного объекта) vs глобальные (понимание в целом, какие признаки влияют на предсказание).
=== Важность признаков ===
Одна из возможностей проанализировать модель {{---}} оценить, насколько её решение зависит от отдельных признаков, какой признак внёс наибольший вес для нахождения решения модели.
Отчётливо это можно понять благодаря следующему примеру. Модель определяет кто на картинке собака или волк. Допустим выборка для обучения оказалось не самой удачной, и все картинки с волками были на снегу, а с собаками на асфальте. Соответственно модель могла начать определять собаку или волка по асфальту или снегу. Благодаря данному виду интерпретации, модель нам можешь сказать, что главным признаком для принятия решения было не само животное, а её окружение.
Одна из реализацией данной идеи является библиотека '''SHAP'''Данную идею реализуют с помощью значений Шепли.
'''SHAP''' Значения Шепли (англ. SHapley Additive exPlanationsShapley values) {{---}} это библиотекаметод из коалиционной теории игр, которая который помогает определить, как наиболее честно распределить выигрыш между игроками в зависимости от их вклада в победу. Игроки объединяются в коалиции, чтобы полуучить некоторую выгоду от этого объединения. В машинном обучении в качестве игроков выступают признаки, а в качестве выигрыша {{---}} вклад в предсказание. Подходит для оценки важности признаков рассчитываются значения Шэплизадач классификации и регрессии. Из вклада коалиций рассчитывается вклад каждого признака в итоговый прогноз. Значение Шепли {{---}} среднее между маргинальными вкладами всех возможных коалиций<ref name="ShapleyValues">Статья в википедии о значениях Шэпли Формулы смотрите здесь [https://enchristophm.wikipediagithub.orgio/wikiinterpretable-ml-book/Shapley_valueshapley.html]</ref> (происходит оценка предсказаний модели с и без данного признака).
Важность i-го признака здесь вычисляется по такой формуле:На основе значений Шепли Люндебергом и Ли предложен метод '''SHAP''' (SHapley Additive exPlanations), объясняющий индивидуальные предсказания. Доступна его реализация на Python <ref name="expSHAP"> Реализация Shap SHAP [https://github.com/slundberg/shap]</ref>.  Важность i-го признака здесь вычисляется по такой формуле:
<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><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> {{---}} это библиотека <ref name="lime_exp>Реализация Lime [https://github.com/marcotcr/lime]</ref>, которая строит локальную суррогатную модель.
 
== Значения Шепли ==
Значения Шепли (англ. Shapley values) {{---}} метод из коалиционной теории игр, который помогает определить, как наиболее честно распределить выигрыш между игроками в зависимости от их вклада в победу. Игроки объединяются в коалиции, чтобы полуучить некоторую выгоду от этого объединения. В машинном обучении в качестве игроков выступают признаки, а в качестве выигрыша {{---}} вклад в предсказание.
Подходит для задач классификации и регрессии.
 
Из вклада коалиций рассчитывается вклад каждого признака в итоговый прогноз. Значение Шепли {{---}} среднее между маргинальными вкладами всех возможных коалиций<ref name="Shapley Values">Формулы смотрите здесь [https://christophm.github.io/interpretable-ml-book/shapley.html]</ref>.
 
На основе значений Шепли Люндебергом и Ли предложен метод SHAP (SHapley Additive exPlanations), объясняющий индивидуальные предсказания. Доступна его реализация на Python <ref name="SHAP">Реализация SHAP [https://github.com/slundberg/shap]</ref>.
== См. также ==
174
правки

Навигация