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

Материал из Викиконспекты
Перейти к: навигация, поиск
Строка 1: Строка 1:
'''Интерпретируемая модель''' - модель обладающая свойством '''интерпретируемости'''
+
'''Интерпретируемая модель''' - модель обладающая свойством '''интерпретируемости'''.
  
 
'''Интерпретируемость''' - это свойство модели, которое показывает, что структуру данной модели может объяснить человек.
 
'''Интерпретируемость''' - это свойство модели, которое показывает, что структуру данной модели может объяснить человек.
Строка 8: Строка 8:
  
 
Если модель машинного обучения работает хорошо, почему мы просто не доверяем модели и игнорируем факторы, из-за которых она приняла то или иное решение?
 
Если модель машинного обучения работает хорошо, почему мы просто не доверяем модели и игнорируем факторы, из-за которых она приняла то или иное решение?
"Проблема в том, что только одна метрика измерения, такая как, точность классификации, это неполное описание большинства реальных задач"  
+
"Проблема в том, что только одна метрика измерения, такая как, точность классификации, это неполное описание большинства реальных задач".
 
<ref name="inv">Doshi-Velez and Kim "Towards A Rigorous Science of Interpretable Machine Learning" 2017 Page 5</ref>
 
<ref name="inv">Doshi-Velez and Kim "Towards A Rigorous Science of Interpretable Machine Learning" 2017 Page 5</ref>
  
 
=== Когда нужна интерпретируемость ===
 
=== Когда нужна интерпретируемость ===
  
* Когда целью является получение каких либо знаний с помощью изучения построенной модели
+
* Когда целью является получение каких либо знаний с помощью изучения построенной модели.
  
 
* Когда алгоритм оптимизировал неполную цель. Например, когда автомобильный инженер получает предсказания об параметрах двигателя, но ему нужно построит в целом наилучший автомобиль.
 
* Когда алгоритм оптимизировал неполную цель. Например, когда автомобильный инженер получает предсказания об параметрах двигателя, но ему нужно построит в целом наилучший автомобиль.
  
* Для безопасности сложных систем. Такие системы, в большинстве случаев, нельзя протестировать от начала до конца. Нельзя просмотреть все возможное входные данные и сценарии развития событий.
+
* Для безопасности сложных систем. Такие системы, в большинстве случаев, нельзя протестировать от начала до конца. Вычислительно тяжело просмотреть все возможное входные данные и сценарии развития событий.
  
 
=== Когда интерпретируемость не требуется ===
 
=== Когда интерпретируемость не требуется ===
  
* Влияние модели мало, а сама интерпретация стоит денег (мл в онлайн магазинах / предложение новых покупок на основе предыдущих)  
+
* Влияние модели мало, а сама интерпретация стоит денег (мл в онлайн магазинах / предложение новых покупок на основе предыдущих).
  
* проблема хорошо разработана и люди и так все понимают (специалистов обучают ещё в университетах)  
+
* проблема хорошо разработана и люди и так все понимают (специалистов обучают ещё в университетах).
  
* класс модели широко применяется: линейные модели (стоимость квартиры: очевидно это метраж, расстояние до метро, школы, детского сада и т. д., но когда параметром много, то уже сложно всё это держать в голове)
+
* класс модели широко применяется: [[Линейная регрессия|линейные модели]] (стоимость квартиры: очевидно это метраж, расстояние до метро, школы, детского сада и т. д., но когда параметром много, то уже сложно всё это держать в голове).
  
* обман системы (кому давать кредит, качество работы сотрудника, поисковое ранжирование)
+
* обман системы (кому давать кредит, качество работы сотрудника, поисковое ранжирование).
  
 
== Примеры моделей ==
 
== Примеры моделей ==
Строка 34: Строка 34:
 
=== Пример эффективной в предсказании но не интерпретируемой модели ===
 
=== Пример эффективной в предсказании но не интерпретируемой модели ===
  
Допустим есть данные и задача бинарной классификации, и 99% объектов имеют класс 1, остальные 0.
+
Допустим есть данные и задача бинарной [[Общие_понятия#.D0.A2.D0.B8.D0.BF.D1.8B_.D0.B7.D0.B0.D0.B4.D0.B0.D1.87|классификации]], и 99% объектов имеют класс 1, остальные 0.
 
Модель a(x) = 1, имеет точность 99%, но проинтерпретировать ее нельзя для каких-то наших исследований, особенно если нас интересуют, как возникает класс 0. Такая модель не интерпретируема, так как не информативна.
 
Модель a(x) = 1, имеет точность 99%, но проинтерпретировать ее нельзя для каких-то наших исследований, особенно если нас интересуют, как возникает класс 0. Такая модель не интерпретируема, так как не информативна.
  
Строка 41: Строка 41:
 
* Предсказуемость и моделируемость: свойства при которых человек способен предсказывать поведение и ошибки модели, а так же умение "симулировать" их. Например TODO
 
* Предсказуемость и моделируемость: свойства при которых человек способен предсказывать поведение и ошибки модели, а так же умение "симулировать" их. Например TODO
  
* Разложимость и модульность: свойства при которых человек способен декомпазировать модель на интепретируемые компоненты. Например TODO
+
* Разложимость и модульность: свойства при которых человек способен декомпазировать модель на интепретируемые компоненты. Например [[Дерево решений и случайный лес| деревья решений]] или [[Линейная регрессия|линейный модели]] для небольшой размерности.
  
* Доверие: TODO
+
* Доверие:  
  
 
* Информативность: из модели можно выявить вспомогательную информацию полезную для принятия какого-либо решения.
 
* Информативность: из модели можно выявить вспомогательную информацию полезную для принятия какого-либо решения.

Версия 04:09, 4 января 2021

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Примечания

  1. Doshi-Velez and Kim "Towards A Rigorous Science of Interpretable Machine Learning" 2017 Page 5

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

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