Важность функции декодирования при поиске новых материалов

"Данные — это просто сводка тысяч историй. Расскажите несколько таких историй, чтобы сделать данные значимыми". — Дэн Хит

Введение

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

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

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

Возьмем пример разработки легкого (низкой плотности) материала для корпуса самолета. Это многокритериальная задача оптимизации, в которой требуется сочетание низкой плотности, высокой прочности, ударопрочности и коррозионной стойкости. Корпуса самолетов преимущественно изготавливаются из алюминиевых (Al) сплавов, где основным компонентом является элемент Al, обладающий низким атомным весом и малой плотностью. Этот сплав также содержит другие элементы, такие как медь, магний и кремний. Функция «Al» занимает самую верхнюю позицию в списке важности функций по плотности. В то же время нельзя игнорировать важность других элементов. Например, медь возглавляет список, когда целевой переменной является прочность.

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

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

Краткий обзор ценности Шепли

Ценность Шепли возникла из концепции теории игр и впервые была введена Л. С. Шепли. Это значение рассчитывается из средней суммы предельного вклада, полученного от всех возможных перестановок различных факторов или параметров, участвующих в исходе события. Поясню на примере. Трое друзей A, B и C вместе купили еды на 100 долларов. Теперь сделаем следующие предположения:

1. Если бы они купили еду в одиночку, А, В и С потратили бы 60, 45 и 15 долларов соответственно.

2. А и В вместе потратили бы 70 долларов, А и С вместе заплатили бы 65 долларов, тогда как В и С вместе потратили бы 80 долларов.

3. Если А, В и С совместно покупают продукты питания, то возможны шесть возможных перестановок в порядке их участия: (А, В, С); (А, С, Б); (Б, С, А); (Б, А, С); (С, А, В) и (С, В, А).

4. Обратите внимание, что сумма всех этих перестановок должна составлять 100 долларов.

В таких кооперативных сценариях предельный вклад каждого игрока зависит от порядка их вклада. Из предельных вкладов A, B и C можно рассчитать ожидаемый предельный вклад или значение Шепли для каждого игрока. Они представлены в таблице ниже:

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

API SHAP (Shapley Additive exPlanations), разработанный Lee and Slundberg, достаточно гибок, чтобы его можно было применять к любым системам машинного обучения, как древовидным, так и не древовидным, а также системам глубокого обучения. Функции TreeExplainer() и KernelExplainer(), связанные с древовидным и недревесным ML соответственно, применяются для получения вклада каждой функции, участвующей в окончательном прогнозе.

Теперь позвольте мне продемонстрировать полезность значения SHAP для разработки плана разработки высокоэффективного термоэлектрического материала на основе доступной экспериментальной базы данных нескольких составов. Я использовал Google Colab для запуска всего кода.

Систематический подход на основе SHAP для обнаружения материалов с желаемой функциональностью

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

Одним из важных основных правил перед запуском любого алгоритма машинного обучения является импорт всех необходимых библиотек. В этом случае, помимо импорта стандартных библиотек Python, таких как NumPy, Pandas и Matplotlib, также устанавливаются дополнительные пакеты Python на основе материалов, такие как Matminer, Pymatgen вместе с SHAP.

Я собрал набор данных из 204 композиций/материалов (показанных в столбце формул) и их свойств при комнатной температуре (PF и каппа). Набор данных был предварительно обработан в соответствии с шагами, упомянутыми в моей предыдущей статье. Фрагмент уточненного набора данных, готовый для обучения, показан ниже.

*Обратите внимание, что в реальном наборе данных для исследования материалов включение переменных процесса является обязательным для оптимизации.

Определение X (функции/дескрипторы) и y (ответ/цель)

Здесь имеется 49 признаков/дескрипторов, обозначенных как X, и это отдельные элементы, составляющие формулу. Интересно, что этот набор данных включает два ответа/цели — PF (цель A) и каппа (цель B), обозначенные как y. Целевые переменные — PF и каппа — рассматриваются для обучения по одной. Следовательно, y разветвляется на y_pf и y_kappa для PF и kappa соответственно. Для обоих тренировок X остается одинаковым.

X = ds_RT.iloc[:, 1: 50]
print(X)

y_pf = ds_RT.iloc[:, -1]
print(y_pf)
y_kappa = ds_RT.iloc[:, -2]
print(y_kappa)

Обоснование нескольких целей

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

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

Этот набор данных представляет собой сопоставление материалов и их двух жизненно важных свойств при комнатной температуре — PF (коэффициент мощности) и каппа, κ (теплопроводность). Эти материалы являются термоэлектрическими, которые вырабатывают электричество из тепла и наоборот, и считаются «зеленой энергией». Поскольку с материалами этого типа связаны тепло и электричество, их параметры каппа и электропроводности (σ) тесно связаны с расчетом показателей производительности — ZT или добротности. Кроме того, для расчета ZT используется еще один ключевой параметр, называемый коэффициентом Зеебека (S) — коэффициент преобразования, контролирующий преобразование тепловой и электрической энергии. Связь ZT со всеми этими тремя параметрами, S, σ и κ при абсолютной температуре, T:

Произведение квадрата S и σ называется коэффициентом мощности (PF). Из соотношения видно, что потенциальный термоэлектрический материал должен обладать высоким коэффициентом мощности и низким значением κ.

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

Тренировка 1 с целью A (PF)

Разделение набора данных на учебные и тестовые пакеты

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

from sklearn.model_selection import train_test_split
X_train_p, X_test_p, y_train_p, y_test_p = train_test_split(X, y_pf, test_size = 0.2, random_state = 0)

Включение в алгоритм машинного обучения

Обучающая партия, X_train и y_train_p, оснащена алгоритмом регрессора случайного леса.

from sklearn.ensemble import RandomForestRegressor
rf = RandomForestRegressor(n_estimators = 50, random_state = 0)
rf.fit(X_train_p, y_train_p)

Вычисление значений SHAP для оценки вклада каждой функции

Значения SHAP элементов, влияющих на PF, получаются с помощью TreeExplainer(). Этот анализ более надежен по сравнению с классом важности признаков алгоритма случайного леса. Последний класс не различает тесно коррелированные переменные и проецирует важность одной, игнорируя другую. Этот недостаток преодолевается методом SHAP, который тщательно проецирует вклад каждой переменной. Более того, выделение направления воздействия каждого признака на цель, как положительного, так и отрицательного, придает этому подходу уникальность.

import shap
explainer = shap.TreeExplainer(rf)
shap_values_pf = explainer.shap_values(X_train_p)
shap.summary_plot(shap_values_pf, X_train_p)

Интерпретация результатов модели с использованием значений SHAP

Значения SHAP означают сильный и слабый вклад, отмеченные красным и синим цветом соответственно, каждой функции в целевом объекте. Это прекрасно показано в сводном сюжете SHAP.

Как график SHAP помогает в разработке материалов?

График с осью X в качестве значений SHAP и осью Y, представляющей переменные, дает яркую картину элементов, непосредственно улучшающих PF с высоким положительным вкладом. Каждая точка на графике обозначает строку в наборе данных. Беглый взгляд на сводной график SHAP показывает вероятные элементы, такие как Sn (олово), Sb (сурьма), Mg (магний), Bi (висмут), Co (кобальт), Si (кремний), Zn (цинк), которые могут следует учитывать для достижения желаемого высокого значения PF.

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

Тренировка 2 с целью B (каппа)

Теперь мы обучаем набор данных, используя тот же регрессор, но с каппа (теплопроводность) в качестве целевой переменной. Сводная диаграмма SHAP получается аналогично обучению 1. В этом случае нас интересуют те элементы, которые показывают высокий отрицательный вклад в каппа. Это связано с тем, что конечный состав (материал) должен быть плохим теплопроводником. Как видно на графике, только несколько элементов, таких как Sb, Ge (германий), Hf (гафний) и Ca (кальций), проявляют такое влияние.

Стратегия разработки и примеры из реальной жизни

После получения двух сводных графиков SHAP я могу перейти к основной и самой интригующей части этой статьи: дизайну материалов.

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

Для выполнения этой задачи требуется комбинация элементов с высоким положительным значением SHAP для PF и высоким отрицательным значением SHAP для каппа. Из графиков видно, что Sn, Mg, Bi и Zn имеют большие положительные значения SHAP для PF, в то время как Sb является единственным элементом, который одновременно демонстрирует высокие положительные и высокие отрицательные значения SHAP для PF и каппа соответственно. Диаграмма Венна прекрасно иллюстрирует область пересечения с Sb, указывая на его двойную роль в увеличении PF и уменьшении теплопроводности.

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

Я провел небольшое исследование, чтобы проверить соответствие результатов сгенерированных графиков SHAP реальности. И ВУАЛЯ!! Действительно, в литературе сообщалось о перспективных композициях с сочетанием и соответствием элементов, идентифицированных на приведенных выше сводных графиках SHAP.

Одним из таких недавно изученных составов является Mg3(Bi, Sb)₂, который показал довольно высокую добротность при комнатной температуре. Это прямое свидетельство доказывает полезность и применение значений SHAP.

Заключительные замечания

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

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

Прежде чем закончить, здесь — ссылка на весь код.

Если вы найдете этот инструмент полезным, поделитесь своими комментариями и отзывами.

Спасибо за прочтение!