Какой цвет у атома или интерпретация модели и с чем ее едят

МЕНЮ


Искусственный интеллект
Поиск
Регистрация на сайте
Помощь проекту

ТЕМЫ


Новости ИИРазработка ИИВнедрение ИИРабота разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика

Авторизация



RSS


RSS новости


Положим вы создали хорошую модель, которая предсказывает желаемые свойства молекулы. Только хотелось бы понять, ПОЧЕМУ она так делает. Какая логика движет моделью? Может, эта логика совсем не логична? КАКИЕ фрагменты в молекуле усиливают и какие - ослабляют интересующее свойство? Если б у нас была эта информация, мы могли бы корректировать структуру и искать все более и более активные. А если ее нет - вынуждены просто просеивать большое количество молекул в надежде найти что-то интересное.

Попытка понять логику принятия решений моделью называется интерпретацией модели. Существует множество способов интерпретации: универсальных и специфичных для определенного метода машинного обучения. Могу порекомендовать прекрасный и практически исчерпывающий обзор Павла Полищука [1], в котором перечисляются, пожалуй, все популярные (и не очень) методы интерпретации модели. Основной посыл этой работы заключается в том, что любую модель можно интерпретировать. Сам Павел создал один очень интересный и простой метод интерпретации модели, см. статью [2]. А если хотите его попробовать - имеется простое питоновское приложение [3].

Теперь к заглавию поста. Одним из популярных методов интерпретации моделей является атомная раскраска. То есть определяется вклад каждого атома в интересующее свойство в данной молекуле. Сделать это не так сложно. Если вы используете фрагментные дескрипторы, вы можете запомнить, в какие фрагменты входит каждый атом, а дальше определяете важность дескрипторов и на основе нее можете установить вклад атома как, скажем, среднюю важность дескрипторов в которые он входит. Особенно это просто делать, если используется линейная модель. Тогда можно использовать средние значения коэффициентов линейной регрессии перед каждым фрагментом, чтобы сказать какой атом важен и какой - нет. Такой метод используется, например, в программе ISIDA-QSPR [4]. Рекомендую, программка очень простая и эффективная.

Теперь следующий вопрос - насколько предсказания относительно вкладов атомов надежны? Насколько действительно можно доверять этому? Довольно подробное исследование атомной раскраски как способа интерпретации модели - и ее предсказательная способность как способа дизайна молекул приведено в работе [5]. В частности, показано, что атомная раскраска сильнее зависит от используемых дескрипторов и датасета, чем сами предсказания моделей. Кроме того, показано, что она не всегда выявляет истинное значение влиятельности атомов. Некоторые проблемы, наверное, очевидны. Скажем, если вы моделируется активность пенициллиновых антибиотиков, а других молекул в наборе нет, то понятно, что пенициллиновый фрагмент не будет выделен как важный для активности (он ведь был во всем датасете!) - хотя это именно он важен! Такая "скошенность" набора данных в сторону определенных хемотипов, конечно, будет сказываться. Так что атомная раскраска как способ интерпретации не так прост, как это может показаться на первый взгляд. В то же время, понимая ограничения этих подходов, интерпретация может стать мощным инструментом в дизайне молекул!

[1] Обзор по интерпретации https://pubs.acs.org/doi/10.1021/acs.jcim.7b00274

[2] Универсальный подход к интерпретации http://dx.doi.org/10.1002/minf.201300029

[3] Программа для построения моделей и их интерпретации http://www.qsar4u.com/pages/sirms_qsar.php

[4] ISIDA-QSPR - для моделирования фрагментными дескрипторами и линейной регрессией. Интерпретация включена. http://vpsolovev.ru/programs/isidaqspr/

[5] О проблемах атомной раскраски как способа интерпретации. https://pubs.acs.org/doi/10.1021/acs.jcim.8b00825

А для тех, кто хочет чего-то по-популярнее, чем статьи, плюс коды для того, чтобы делать интерпретацию - для вас интересная серия блогов на эту тему (с Python скриптами):

Часть 1. https://towardsdatascience.com/human-interpretable-machine-learning-part-1-the-need-and-importance-of-model-interpretation-2ed758f5f476

Часть 2. https://towardsdatascience.com/explainable-artificial-intelligence-part-2-model-interpretation-strategies-75d4afa6b739

Часть 3. https://towardsdatascience.com/explainable-artificial-intelligence-part-3-hands-on-machine-learning-model-interpretation-e8ebe5afc608


Источник: pubs.acs.org

Комментарии: