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

Популярные модели машинного обучения более точны, чем традиционные модели, основанные на правилах, потому что они изучают высокоуровневые представления необработанных данных. Но это затрудняет интерпретацию. Почему?

Ваш ребенок сказал вам, что она предсказала, что эта игрушка будет ее Суперменом. Когда вы спросили ее, почему она говорит это

‘’ Cz - это взвешенная комбинация привлекательной внешности, цвета волос и мужественного голоса. Вы все это знаете. Что ж, хулиган не поймет. Это сложно ». Ржу не могу.'

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

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

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

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

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

Но как это работает?

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

Теперь, как обеспечить, чтобы наряду с ограничениями положительной и отрицательной корреляции, скорость отношения уменьшения / увеличения оставалась постоянной (проверка монотонности)?

Что ж, модель XGB проверяет еще одно условие. Если усиление родительского узла для правого дочернего узла выше, чем у правого дочернего (разбиения, которое должно быть выполнено), то это означает, что больший вес был присвоен более высокому значению свойства в родительском узле. Потому что, когда деревья разделяются, отношение уровня узла также имеет значение с отношением уровня потомка, которое должно быть постоянным по всей ветви.

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

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

Вычислите ограничения монотонности, просто взглянув на знак и присвоив 1 или -1.

Модель XGB имеет параметр monotone_constraints, который соответствует ограничениям наших данных.

После тренировки вы можете проверить важность переменной.

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

Plot_importance XGB сообщает вам количество вхождений во всех разделениях для функции, когда для параметра «important_type» по умолчанию установлено значение «вес».

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

Чтобы лучше понять PDP, отрывок из книги Кристофа Мольнара:

Частичная функция сообщает нам для данного значения (значений) признаков S, каково среднее предельное влияние на прогноз. В этой формуле функции C - это фактические значения функций из набора данных для функций, которые нас не интересуют, а n - количество экземпляров в наборе данных. Предположение PDP состоит в том, что признаки в C не коррелируют с признаками в S. Если это предположение нарушается, средние значения, вычисленные для графика частичной зависимости, будут включать точки данных, которые очень маловероятны или даже невозможны.

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

Значения функции xs группируются в соответствии с их минимальным и максимальным значениями. Затем для каждого пакета, состоящего, скажем, из 20 строк тестовых данных, PDP вычисляется как средняя вероятность прогнозирования модели после того, как значение признака каждых 20 тестовых строк изменяется на конкретное значение интервала.

Основная идея PDP заключается в том, что если вы изменяете одну функцию, изменение прогнозов модели говорит вам, насколько модель повлияет на изменение этой функции, при этом остальные функции останутся неизменными.

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

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

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

Локальная зависимость между функцией в каждой тестовой строке и целевой переменной показана на графиках ICE. Мы рассмотрим сюжеты ICE в следующих публикациях! Если вам понравилась эта статья, обязательно загляните в другие интересные блоги на средней странице iSchoolConnect :)