Найти в Дзене
Николай Лазарев

Особенности валидации ML-моделей в материаловедении

Друзья, решил продублировать в отдельной статье одну главу из моего разбора полётов реализованного проекта. Возможно кому-то будет интересна не все главы а только тема особенностей валидации. Необычная валидация - это действительно наверное самое главное, что мне удалось узнать. Итак, оказывается есть особый подход при валидации ML-моделей в материаловедении! Если при кросс-валидации разбивка на обучающую и тестовую выборку происходит случайным образом, то в нашем случае данная разбивка может проходить по определенной логике. Обращаю Ваше внимание на статью наших учёных-материаловедов из моего родного НИТУ МИСиС. В данной статье описывается использование машинного обучения для прогнозирования упругих свойств сплавов на основе титана и циркония в ОЦК-структуре. Нас интересует глава 3.2 где подробно описан процесс валидации моделей. Я был вынужден прочитать материал несколько раз прежде чем осознал суть. Надеюсь, что моя интерпретация поможет сократить Вам время освоения материала! В раб
Оглавление

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

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

Обращаю Ваше внимание на статью наших учёных-материаловедов из моего родного НИТУ МИСиС. В данной статье описывается использование машинного обучения для прогнозирования упругих свойств сплавов на основе титана и циркония в ОЦК-структуре. Нас интересует глава 3.2 где подробно описан процесс валидации моделей. Я был вынужден прочитать материал несколько раз прежде чем осознал суть. Надеюсь, что моя интерпретация поможет сократить Вам время освоения материала!

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

  • "New elements prediction": Из обучающей выборки исключаются составы, содержащие определённый легирующий элемент, а затем модель тестируется на этих составах.
    Цель: оценить способность модели предсказывать свойства сплавов с новыми элементами.
  • "Leave-one-out": Один состав исключается из обучающей выборки, а затем используется для тестирования.
    Цель: проверить точность предсказаний для новых концентраций элементов внутри известных систем.
  • "New systems prediction": Из обучающей выборки исключаются данные о системах (сочетаниях базового элемента и легирующих элементов), которые затем используются для тестирования.
    Цель: проверить способность модели экстраполировать свойства на новые системы, которые ранее не встречались.

Прошу прощения, но поскольку информация крайне интересная, продублирую ещё раз но уже более подробно, с примерами!

1. "New elements prediction" (Предсказание для новых элементов)

Суть:

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

Пример:

  • Исключается из обучения: Все сплавы Ti-Mo, Zr-Mo и Ti-Mo-X (где X — другие элементы, например, Nb, Ta).
  • Остается в обучении: Сплавы без Mo, например, Ti-Nb, Ti-Ta, Zr-Nb, Zr-Ta.
  • Тестируется на:Ti-Mo, Zr-Mo, Ti-Mo-Ta, Ti-Mo-Nb.

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

2. "Leave-one-out" (Оставление одной точки вне обучения)

Суть:

  • Из обучающей выборки исключается один конкретный состав (одна концентрация), а модель обучается на остальных данных.
  • Затем исключенный состав используется для тестирования.

Пример:

  • Рассмотрим систему Ti-Mo.
  • Исключается из обучения: Состав Ti-80Mo-20 (80% титана, 20% молибдена).
  • Остается в обучении: Другие концентрации из той же системы, например, Ti-90Mo-10, Ti-70Mo-30.
  • Тестируется на:Ti-80Mo-20.

Цель: Проверить способность модели интерполировать свойства для новых концентраций в уже известных системах.

3. "New systems prediction" (Предсказание для новых систем)

Суть:

  • Из обучающей выборки исключается вся система, например, сплавы Ti-Mo.
  • Модель обучается на других системах (например, Ti-Nb, Ti-Ta) и затем тестируется на полностью новой системе (Ti-Mo).

Пример:

  • Исключается из обучения: Все сплавы Ti-Mo и Ti-Mo-X (где X — любые другие элементы, например, Nb, Ta).
  • Остается в обучении: Все сплавы других систем, например:Ti-Nb, Ti-Ta, Zr-Nb, Zr-Ta.
  • Тестируется на:Ti-Mo, Ti-Mo-Ta, Ti-Mo-Nb.

Цель: Проверить способность модели экстраполировать свойства на совершенно новую систему, не представленную в обучающих данных.

-2

Ключевые различия между типами тестирования

Вопрос по второму типу тестирования

А вот теперь, скажите себе честно, вот вроде всё понятно. В первом типе тестирования мы убираем какой-нибудь элемент. Во втором, мы убираем конкретные концентрации элементов. В третьем убираем систему из выбранных элементов. Но у меня сразу возник вопрос по второму типу тестирования, а чем он отличается от обычной кросс-валидации? Какая-то одна строка с указанной концентрацией уходит в тестовую выборку. В чём новизна, всё как обычно?

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

Пример:

  • Если обучающий датафрейм содержит концентрации:Ti-90Mo-10, Ti-80Mo-20, Ti-70Mo-30,
  • Тогда "Leave-one-out":На 1-м шаге исключается Ti-90Mo-10, а остальные используются для обучения.
    На 2-м шаге исключается Ti-80Mo-20, остальные обучаются.
    На 3-м шаге исключается Ti-70Mo-30, остальные обучаются.

Этот процесс отличается от стандартной кросс-валидации, в которой данные разделяются случайным образом на K подвыборок без такой систематической ротации исключения.

Почему "Leave-one-out" здесь не профанация?

  • В реальных экспериментах систематическое исключение одного состава позволяет проверить, насколько модель может интерполировать конкретные концентрации в рамках одной системы.
  • Например, модель должна быть способной предсказать Ti-80Mo-20, имея только Ti-70Mo-30 и Ti-90Mo-10 в обучении. Это важно для проверки способности модели "заполнять пробелы" между уже известными точками.

Фолды и сэмплы

Также для информации стоит отметить, что в "Leave-one-out" количество фолдов равно количеству сэмплов в данных. Например:

  • Если в наборе данных 100 сэмплов, то будет 100 фолдов.
  • Каждый фолд исключает один сэмпл из обучения, делая его тестовым.

Сэмпл — это одна запись из набора данных, представляющая конкретный состав или концентрацию, для которой известны входные признаки и целевые свойства (например, упругие свойства).

Пример:

Каждый указанный состав является сэмплом:

Ti-90Mo-10,
Ti-80Mo-20,
Ti-70Mo-30.

В "Leave-one-out" каждый сэмпл по очереди становится тестовым, а остальные используются для обучения.

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

В "Leave-one-out" каждый сэмпл поочередно исключается из обучения, и на каждом шаге модель тестируется только на этом исключенном сэмпле.

Пример:

Допустим, у нас есть 3 записи в данных:

Ti-90Mo-10
Ti-80Mo-20
Ti-70Mo-30

Тогда процесс "Leave-one-out" будет иметь 3 фолда:

Фолд 1: исключается Ti-90Mo-10; модель обучается на Ti-80Mo-20 и Ti-70Mo-30.
Фолд 2: исключается Ti-80Mo-20; модель обучается на Ti-90Mo-10 и Ti-70Mo-30.
Фолд 3: исключается Ti-70Mo-30; модель обучается на Ti-90Mo-10 и Ti-80Mo-20.

Если в своих проектах по прогнозированию свойств материалов Вы примените описанный подход, то это будет очень круто! Это будет определенно hi level))