Техники объяснения модели показывают, что изучает модель, а знание о том, что происходит внутри модели имеет большое значение.
На протяжении последних десяти лет я общался со многими специалистами по Data Science, а техники объяснения модели — это моя любимая тема, с помощью которой можно отличить хорошего ученого.
Некоторые считают, что модели машинного обучения — это черные ящики, необходимые для создания предсказаний, но не доступные для понимания в остальном. Однако лучшие специалисты по Data Science знают, как извлечь реальные идеи из любой модели. Для любой модели они могут ответить на следующие вопросы:
- Какие функции данных, по мнению модели, наиболее важны?
- Как повлияла каждая функция данных на конкретное предсказание?
- Какие взаимодействия функций оказывают большее влияние на предсказания модели?
Почему эти идеи так важны?
Пять способов применения идей модели:
- Debugging
- Informing feature engineering
- Directing future data collection
- Informing human decision-making
- Building Trust
Debugging
В мире существует множество недостоверных и неорганизованных данных. При написании препроцессорного кода вы добавляете потенциальный источник ошибок. Ошибки в реальных проектах по data science скорее норма, чем исключение.
Учитывая частоту возникновения ошибок и их потенциально катастрофические последствия, отладка — это один из наиболее значимых навыков в data science. Разобравшись в шаблонах, которые находит модель, можно установить, когда они расходятся с вашими знаниями о реальном мире. Как правило, это первый шаг в поиске ошибок.
Informing Feature Engineering
Feature engineering — самый эффективный способ улучшения достоверности модели. Feature engineering обычно предполагает многократное создание новых функций с использованием трансформаций необработанных данных (raw data) или ранее созданных функций.
Иногда для прохождения этого процесса достаточно лишь интуиции. Однако при наличии сотни необработанных функций или отсутствии базовых знаний о предмете, над которым вы работаете, понадобится больше указаний.
Исключительный пример — соревнования Kaggle по предсказанию loan defaults. Соревнование обладает сотней необработанных функций. Из соображений конфиденциальности функции названы f1, f2, f3, вместо распространенных английских имен. В результате, сценарий содержит малое количество интуитивно понятной информации о необработанных данных.
Один из соперников обнаружил, что разница между двумя функциями, а именно f527 — f528, создает новую мощную функцию. Модели, включающие эту разницу в качестве функции, превосходили модели без нее. Но как можно думать о создании этой переменной, когда все начинается с сотен переменных?
Функции f527 и f528 обладают важным значением и их роли тесно переплетены. При рассмотрении трансформации этих двух переменных есть возможность найти “золотую функцию” f527 — f528.
С ростом количества наборов данных с сотнями и тысячами необработанных функций, этот подход приобретает все большее значение.
Directing Future Data Collection
Невозможно контролировать наборы данных, скачанных из сети. Однако многие предприятия и организации, использующие data science, обладают возможностью расширения типов данных для сбора. Сбор новых типов данных может оказаться дорогостоящим или неудобным, поэтому это делается лишь в случае целесообразности. Основанные на модели идеи помогут разобраться в значении имеющихся функций, а также в том, какие новые значения могут оказаться более полезными.
Informing Human Decision-Making
Некоторые решения модели принимают автоматически. В Amazon нет людей (или эльфов), решающих, что отобразить при входе на сайт. Однако многие важные решения принимают люди. Для таких решений идеи могут иметь большее значение, чем предсказания.
Building Trust
Многие считают, что не стоит доверять модели принятие важных решений без проверки основных фактов. Это разумная мера предосторожности, учитывая частоту ошибок в данных. Однако в действительности демонстрация идей, соответствующих их общему пониманию проблемы, поможет построить доверие, даже среди людей с неглубоким знанием data science.
Отрывки взяты из model explainability micro-course на Kaggle Learn
Специально для сайта ITWORLD.UZ. Новость взята с сайта NOP::Nuances of programming