Объяснимость - горячая тема. Модели Data Science используются для инициирования таких рекомендаций, как «принять» или «отклонить» ссуду, и возникает необходимость ответить «почему эта рекомендация?». Клиенты, которых затрагивают рекомендации, спрашивают «почему», и поэтому некоторые компании готовы ответить, а в некоторых регионах правила даже запрещают использование приложений в некоторых областях, когда объяснимость недоступна.

Хотя для моделей машинного обучения начинают появляться некоторые методы объяснения, мы проиллюстрируем здесь, как объяснимость работает с моделями оптимизации решений.

Пояснения

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

«Если возраст меньше 25 лет, тогда в ссуде отказано»

Когда 22-летний Джон просит ссуду, ему отказывают, и это правило можно использовать вместе с его возрастом в качестве объяснения рекомендации. Такое объяснение очень легко получить, если рекомендация была дана системой правил прямой цепочки.

С другими типами алгоритмов это сложнее. Давайте теперь рассмотрим пример кратчайшего пути с графиком, представленным ниже. Нам нужен кратчайший путь от A до G. Алгоритм, подобный алгоритму Дейкстры, легко предоставит оптимальное решение A-B-D-G. Но «почему эта рекомендация?» В этом случае нет такого правила причинности, которое вы могли бы использовать в качестве объяснения. Однако вы можете легко объяснить, что «Если путь начинается с AC, мы никогда не достигнем G», и «если путь начинается с« ABE », то путь к G будет таким: длиннее ».

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

Оптимизация решений

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

Оптимизация решений - это метод предписывающей аналитики, который предписывает решения для решения проблем, когда модели формулируются с ограничениями и целями. Вы предоставляете механизму DO некоторые входные данные вместе с моделью и получаете решение. Если мы дадим двигателю достаточно времени, он может сказать вам, что возвращенное решение является оптимальным. Тот, кто не знаком с базовыми технологиями, спросит «почему?» И попросит пояснений. Способ, которым движок DO «решает» проблему, может показаться довольно неясным, и его практически невозможно указать в явном виде в виде списка отдельных причин решения. Но, с другой стороны, очень легко ответить на такие вопросы, как «почему не это другое решение?», взаимодействуя с проблемой и движком.

Пример распределения портфеля

Давайте рассмотрим пример и проиллюстрируем, как это работает.

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

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

Используя такой инструмент, как Modeling Assistant, доступный в Decision Optimization for Watson Studio, вы можете сформулировать эту проблему на естественном языке, выбрав область выбора. У вас получится модель, похожая на эту:

Обратите внимание, что здесь мы отключили другую цель - минимизировать зависимости между инвестициями. Особенно полезно включать и отключать ограничения и цели, когда вы хотите провести интерактивный анализ «что, если», как мы делаем здесь.

Если вы решите эту проблему (используя эти входные данные и эту модель), вы получите оптимальное решение с ожидаемым возвращаемым значением 1770,58.

Подскажите зачем инвестировать в Invest11?

Во вкладке решения мы видим, что на Invest11 выделено 259,6 евро.

Кто-то может спросить: «Почему я должен инвестировать в Invest 11?» «Каково объяснение?».

Чтобы ответить на этот вопрос с помощью оптимизации, можно решить другую проблему со всеми теми же ограничениями, за исключением дополнительного ограничения, в котором говорится, что я НЕ буду вкладывать средства в Invest 11. С помощью помощника по моделированию легко выполнить некоторый запрос на естественном языке, чтобы получить и добавьте это ограничение в модель:

Если я решу эту модель, я получу худшее оптимальное решение (1723,36 вместо 1770,58).

Так что, если вы не инвестируете в Invest11, вы получите меньшую ожидаемую прибыль. И поэтому ответ на вопрос «почему» таков: «вы инвестируете в Invest11, потому что вы максимизируете ожидаемую доходность, и отказ от инвестирования в Invest11 приведет к худшему ожидаемому доходу».

Подскажите, почему бы не вкладывать больше в Invest7?

В это новое решение инвестирование Invest 7 составляет 108,74 евро.

Тогда можно задать другой вопрос: "Почему бы мне не инвестировать больше в Invest7?"

Опять же, ответ на этот вопрос можно найти, решив еще одну версию проблемы (это то, что мы называем другим сценарием), где мы также указываем в модели, что инвестиции для Invest7 должны быть, например, не менее 200:

Когда мы решаем, механизм DO сообщает нам, что проблема недопустима!

Приятной особенностью Decision Optimization для Watson Studio является то, что в таком случае выполняется анализ неосуществимости, который возвращает минимальный набор ограничений в модели, делающий проблему невыполнимой. Мы называем это конфликтным набором.

В этом случае мы получаем следующий список конфликтов:

Действительно, Invest7 - это французская (FR) инвестиция, и мы не можем инвестировать 200 в Invest7, если мы также ограничим французские инвестиции в общей сложности 150. Это объяснение «, почему мы не инвестируем больше в Invest7 ».

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

Заключение

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

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

Вы можете начать прямо сейчас с Оптимизация решений для Watson Studio Cloud с помощью бета-версии ноутбука.

Обратите внимание, что показанные здесь функции Modeling Assistant в настоящее время доступны только в Decision Optimization for Watson Studio Local.

[email protected]

Https://www.linkedin.com/in/alain-chabrier-5430656/

@AlainChabrier