За последние 10 лет я опросил многих специалистов по данным, и методы объяснения моделей - моя любимая тема, чтобы отличать лучших специалистов по данным от среднего.

Некоторые люди думают, что модели машинного обучения - это черные ящики, полезные для прогнозирования, но в остальном непонятные; но лучшие специалисты в области данных знают методы извлечения реальной информации из любой модели. Для любой конкретной модели эти специалисты по данным могут легко ответить на такие вопросы, как

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

Ответить на эти вопросы гораздо полезнее, чем многие думают. Это вдохновило меня на создание микрокурса объяснимости моделей от Kaggle. Независимо от того, изучаете ли вы методы из Kaggle или из такого всеобъемлющего ресурса, как Элементы статистического обучения, эти методы полностью изменят то, как вы строите, проверяете и развертываете модели машинного обучения.

Почему эти идеи ценны?

Пять наиболее важных приложений понимания моделей:

  • Отладка
  • Информирование функции инженерии
  • Направление будущего сбора данных
  • Информирование людей о принятии решений
  • Укрепление доверия

Отладка

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

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

Информирование Feature Engineering

Конструирование признаков обычно является наиболее эффективным способом повышения точности модели. Разработка функций обычно включает в себя многократное создание новых функций с использованием преобразований необработанных данных или ранее созданных функций.

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

Соревнование Kaggle по предсказанию дефолтов по кредитам дает крайний пример. В этом конкурсе было сотни необработанных функций. По соображениям конфиденциальности у функций были имена вроде f1, f2, f3, а не общеупотребительные английские имена. Это смоделировало сценарий, в котором у вас мало интуитивного представления о необработанных данных.

Один из конкурентов обнаружил, что разница между двумя функциями, в частности, f527 ​​- f528, создает очень мощную новую функцию. Модели, включающие эту разницу в качестве функции, были намного лучше, чем модели без нее. Но как вы можете подумать о создании этой переменной, если начнете с сотен переменных?

Приемы, которые вы изучите в этом курсе, сделают очевидным, что f527 ​​и f528 являются важными функциями и что их роль тесно взаимосвязана. Это побудит вас рассмотреть преобразования этих двух переменных и, вероятно, найти «золотую особенность» f527 ​​- f528.

Поскольку все большее количество наборов данных начинается с сотен или тысяч необработанных объектов, этот подход становится все более важным.

Направление будущего сбора данных

У вас нет контроля над наборами данных, которые вы загружаете онлайн. Но у многих предприятий и организаций, использующих науку о данных, есть возможности расширить типы данных, которые они собирают. Сбор новых типов данных может быть дорогостоящим или неудобным, поэтому они хотят делать это только в том случае, если знают, что это будет целесообразно. Анализ на основе моделей дает вам хорошее представление о ценности функций, которые у вас есть в настоящее время, что поможет вам понять, какие новые значения могут быть наиболее полезными.

Информирование людей о принятии решений

Некоторые решения принимаются моделями автоматически. У Amazon нет людей (или эльфов), которые спешат решать, что вам показывать, когда вы заходите на их веб-сайт. Но многие важные решения принимаются людьми. Для этих решений понимание может быть более ценным, чем прогнозы.

Укрепление доверия

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

Это эссе адаптировано из микрокурса объяснимости моделей по Kaggle Learn.