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

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

Продолжая думать о примере, приведенном выше, когда компания должна решить, сколько продукта нужно произвести, она хочет быть на 100 % уверенной, что она произведена в нужном количестве. Возможное перепроизводство увеличило бы затраты на склад и потери сырья, вместо этого возможное недопроизводство привело бы к потере потенциальной прибыли. Благодаря Объяснению можно заметить, что атрибутом, который больше влияет на прогноз, является количество товаров, проданных за последний период. Это объяснение помогает понять, что это число не очень надежно. На самом деле, на выбор покупателя приобрести товар влияет ряд гораздо более важных факторов, таких как сезон года, в котором он найден, тенденция момента (если мы говорим о продукте, на который влияют рыночные тенденции). ) или если это рекламировалось недавно и так далее. Если бы вы не знали причин, лежащих в основе этого числа, вы рискуете принять решение с высокой вероятностью ошибки.

Таким образом, объяснимость помогает уменьшить предвзятость, присутствующую в обучающих данных, используемых для обучения модели. Это дает нам способ понять причины ошибок, допущенных моделью, чтобы мы могли вмешаться и исправить их. Если мы сможем объяснить решения модели машинного обучения, мы также сможем проверить следующие черты (Доши-Велес и Ким, 2017):

· Справедливость: обеспечение беспристрастности прогнозов и отсутствия явной или неявной дискриминации недостаточно представленных групп.

· Конфиденциальность: обеспечение защиты конфиденциальных данных.

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

· Причинно-следственная связь: выявляются только причинно-следственные связи

· Доверие: людям гораздо легче доверять системе, которая объясняет свои решения, чем черному ящику.

До сих пор мы говорили о том, как интерпретируемость полезна для бизнеса. На самом деле, это также полезно для:

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

· Юридические аудиторы для проверки соответствия модели правовым нормам и контроля за тем, как решения, принимаемые моделью, влияют на других.

Microsoft предоставляет нам пакет SDK, с помощью которого мы можем интерпретировать модели. Имя пакета:

azureml.interpret

Благодаря этому SDK вы можете

· Объясните прогнозы, сделанные моделью, сгенерировав значения, связанные с важностью признаков как для всей модели, так и для отдельных точек данных. Важность функций очень важна для специалистов по данным, поскольку помогает им понять, как отдельные функции влияют на прогноз, сделанный моделью. Ссылаясь на пример прогнозирования продаж, некоторые функции могут быть количеством продукта, проданного за последнее время, сезоном года и стоимостью, связанной с рекламой продукта. Благодаря важности функции мы можем понять, какая из этих функций больше влияет на прогноз, сделанный моделью.

· Интерпретация моделей в наборах данных с использованием реальных данных во время обучения и логического вывода.

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

В настоящее время библиотека поддерживает следующие методы объяснения:

· Объяснитель дерева SHAP, который фокусируется на объяснимости моделей деревьев и ансамблей деревьев.

· Глубокое объяснение SHAP, помогающее объяснить модели глубокого обучения, созданные с помощью TensorFlow и Keras.

· Объяснение линейных моделей SHAP, объясняющее линейные модели.

· Объяснение ядра SHAP, использующее линейную регрессию для оценки значений любой модели.

· Имитирующий эксплейнер, основанный на идее обучения внутренне интерпретируемой модели, которая может максимально точно аппроксимировать прогнозы, сделанные моделью черного ящика.

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

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

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

Мирко Франческо Ди Лашио