Как стать автором
Обновить
106.69
ИТМО
IT's MOre than a University

Две открытые библиотеки для обучения байесовских сетей и идентификации структуры данных

Время на прочтение3 мин
Количество просмотров3.1K

В одном из предыдущих материалов мы рассказали о фреймворке для AutoML и библиотеке алгоритмов выбора признаков. На этот раз продолжаем делиться разработками специалистов, магистров и аспирантов Университета ИТМО и представляем вашему вниманию парочку open source инструментов для работы с данными. Как обычно — говорим простыми словами и делимся ссылками на публичные репозитории, предоставленными авторами проектов.

Фотография: William Daigneault. Источник: Unsplash.com
Фотография: William Daigneault. Источник: Unsplash.com

BAMT

Это — библиотека для продвинутого обучения байесовских сетей и анализа данных на основе байесовских сетей, разработанная в НЦКР ИТМО. В первом случае она помогает разрешить ситуацию, когда экспертные знания, необходимые для структурирования сети [ориентированной вероятностной модели, позволяющей моделировать многомерные распределения данных] оказываются недоступны. Для устранения этой проблемы производят обучение «из данных». BAMT — работает с дискретными и непрерывными их типами. Во втором use-кейсе — инструмент позволяет восстанавливать пропуски, извлекать информацию о зависимостях, выделять аномальные значения и генерировать синтетические данные.

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

Как говорят разработчики, среди аналогов BAMT выделяется разнообразием того, что эта библиотека содержит «под капотом»: от стандартных алгоритмов, как в библиотеке pgmpy, до продвинутых вроде параметрического обучения сети на основе смеси гауссовых распределений и структурного обучения сети на основе функции mutual information для смешанных данных. Также для структурного обучения в BAMT есть эволюционный алгоритм, основанный на работе операторов, разработанных для фреймворка FEDOT. Еще в библиотеке есть модули подготовки данных для обучения, заполнения пропусков с помощью байесовской сети и визуализации.

Фотография: David Clarke. Источник: Unsplash.com
Фотография: David Clarke. Источник: Unsplash.com

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


EPDE

Это — библиотека для идентификации структуры данных в виде дифференциальных уравнений в частных производных, подготовленная в НЦКР ИТМО. Она позволяет строить модель с помощью эволюционных алгоритмов. При этом она может эволюционировать, исходя их небольшого количества первичных блоков.

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

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

Решение ДУ — собственный метод на основе методов оптимизации и нейронных сетей. Похожее есть на Julia, но на Python получилось быстрее. Эволюционная оптимизация — есть deap, но кастомизация сравнима с разработкой чего-то похожего с нуля.

— разработчики EPDE об использовании уже готовых компонентов.

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


У нас в блоге на Хабре:


Теги:
Хабы:
+6
Комментарии1

Публикации

Информация

Сайт
itmo.ru
Дата регистрации
Дата основания
Численность
Неизвестно
Местоположение
Россия
Представитель
itmo