Інструменти побудови динамічних моделей інформаційних систем із застосуванням байєсівських мереж



Запропонований новий інструмент, що дозволяє включати байєсівськи мережі до динамічних моделей складних систем, створених у пакеті MATLAB/Simulink. Це відкриває широкі можливості для моделювання, наприклад, систем керування в умовах невизначеності із застосуванням інтелектуального блоку на базі мереж Байєса.

Ключові слова: байесівська мережа, моделювання, інтелектуальний аналіз даних

Tools for dynamic modeling of information systems using Bayesian networks

The new tool to include Bayesian networks to dynamic models of complex systems created in the package MATLAB/Simulink were developed. This tool opens up opportunities for modeling, for example, of control systems under uncertainty using intelligent block based on Bayesian networks.

Keywords: Bayesian network, MATLAB/Simulink, simulation, S-function

Pysarenko Andrii, PhD, associate professor, National Technical University of Ukraine “KPI”

Tyshenko Dmytro, undergraduate, National Technical Universityof Ukraine “KPI”

Ukraine, Kyiv

Застосування методів інтелектуального аналізу даних (ІАД) при проектуванні інформаційно-керуючих систем складними процесами,що протікають в умовах невизначеності, дозволяє досягти значних результатів у порівнянні з класичними методами теорії керування. Серед найбільш поширених підходів, які методологічно поєднують в поняття ІАД, можна виділити штучні нейронні мережі, нечітку логіку, генетичні алгоритми, мережі Байєса та ін. Кожен із зазначених підходів має свої переваги та недоліки, що визначає спосіб їх застосування для конкретних задач. В даній роботі будуть розглянуті мережі Байєса,як інтелектуальна частина інформаційних систем.

Байєсівська мережа – ймовірнісна модель, представлена у формі спрямованого ациклічного графа, вершинами якого є змінні досліджуваного процесу [1]. Така графічна модель для представлення ймовірнісних взаємозв’язків на множині змінних, поєднує у собі теорію ймовірності та теорію графів. Байєсівська мережа є ефективним інструментом для вирішення проблем, пов’язаних з невизначеностями та опису складних процесів. Ефективне застосування байєсівських мереж тісно пов’язано з можливістю їх комп’ютерного моделювання. На теперішній час створено ряд програмних засобів, що дозволяють працювати з байєсівськими мережами. Розглянемо основні.

BayesiaLab зручна у використанні програма, розроблена французькою компанією Bayesia SA. У програму інтегровано декілька методів для автоматичної побудови структури мережі Байєса та формування ймовірнісного висновку, особливий інтерес викликає швидкий та зручний метод SopLeq. Ціна програми залежить від типу ліцензії та комплектації і коливається від 190 € за найдешевшу академічну версію до 88000€за повну ліцензію на професійну версію. Існує можливість користування програмою безкоштовно протягом місяця, але в цьому випадку немає можливості зберігати результати роботи.

Hugin-Expert розроблена компанією Hugin Expert A/S, Ольсборг (Данія). Її основний продукт Hugin почав створюватися під час робіт за проектом ESPRIT для задач діагностики нервово-м'язових захворювань. Потім почалася комерціалізація результатів проекту і основного інструменту – програми Hugin. Сьогодні програмне забезпечення Hugin адаптоване в багатьох дослідницьких центрах компанії в 25 країнах світу і використовується в сферах, пов'язаних з аналізом та підтримкою прийняття рішень, прогнозуванням, діагностикою, управлінням ризиками та оцінюванням безпеки технологій. Hugin є програмною реалізацією системи підтримки прийняття рішень на основі мереж Байєса та може працювати у двох основних режимах: створення та редагування мережі Байєса, а також заповнення таблиць умовних ймовірностей і побудови ймовірнісного висновку. Ціна програмного забезпечення, залежно від типу ліцензії, коливається від 6426 до 50999 датських крон, також є можливість використання безкоштовної версії програми, у якій немає можливості автоматичної побудови мереж Байєса.

Bayesware Discoverer – програмне забезпечення розроблене англійською компанією Вayesware.Серед його особливостей слід відзначити можливість автоматичної побудови мереж Байєса за навчальними даними, порівняння декількох моделей, побудованих на основі мереж Байєса, шляхом моделювання, використання алгоритму Bound and Collapse у випадку неповних даних, заповнення таблиці умовних ймовірностей та побудови ймовірнісного висновку, роботи з категоріальними даними та неперервними змінними. Вартість ліцензії складає від $3000 до $8500, хоча протягом 30 днів програму можна використовувати безкоштовно без будь-яких обмежень функціональності.

Naive Bayes є невід'ємною складовою системи Oracle Data Mining, що дозволяє обробляти великі масиви даних та в автоматичному режимі будувати моделі та прогнози на основі мереж Байєса, під'єднувати власні модулі та використовувати дані будь-яких типів та форматів. Однак, дане програмне забезпечення досить дороге – вартість ліцензії складає від $9000.

Bayes Net Toolbox for Matlab [3], розроблена професором Кевіном Мерфі для системи MATLAB, є безкоштовною. Всі модулі програми доступні користувачу. Існує можливість доповнювати програму своїми методами та модулями. Серед недоліків слід зазначити відсутність зручного графічного інтерфейсу, можливості візуалізації результатів, відсутність регулярних оновлень для наступних версій пакету MATLAB.

GeNIe [5] є ще одним із безкоштовних програмних продуктів, який розроблений лабораторією систем підтримки прийняття рішень Пітсбургського Університету США. Програмне забезпечення GeNIe дуже зручне у використанні, має можливість автоматичної побудови мереж Байєса та підключення власних модулів з алгоритмами, написаними на мові програмування С.

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

Тому було вирішено поєднати можливості програмних продуктів GeNIe та Bayes Net Toolbox.Обидва продукти, як уже зазначалось вище, є повністю безкоштовними. GeNIe має зручний графічний інтерфейс та дозволяє користуватись багатьма алгоритмами для автоматичної побудови байєсівських мереж, однак отримані мережі неможливо включити до складу більш складних динамічних моделей. У Bayes Net Toolbox відсутній графічний інтерфейс, але є можливість організації взаємодії з іншими модулями пакету MATLAB.

Серед таких модулів найбільший інтерес викликає надбудова MATLAB Simulink, що використовується для моделювання найрізноманітніших систем та процесів. У ньому є набори інструментів для моделювання аерокосмічних систем, нейронних мереж, нечіткої логіки, систем керування та багатьох інших.

Створення користувацьких блоків для Simulink передбачає написання спеціальних функцій, – так званих S-Function [6]. Крім того, для перетворення моделей, отриманих у GeNIe, до вигляду, що використовується у Bayes Net Toolbox, був написаний окремий скрипт. Завдяки цьому скрипту можна створювати моделі за допомогою графічного інтерфейсу у GeNIe, а потім конвертувати у структуру Bayes Net Toolbox.

S-Function приймає на вхід значення певних вершин та видає імовірності для інших вершин мережі. Загальний алгоритм запропонованого рішення можна представити наступним чином:

$1)$ створити байєсівську мережу у середовищі GeNIe;

$2)$ експорт структури та параметрів створеної мережі;

$3)$ передати шлях до файлу, що містить мережу, у S-Function;

$4)$ визначити вхідні та вихідні величини мережі Байєса;

$5)$ побудувати динамічну модель у Simulink на основі S-Function.

GeNIe зберігає мережі у форматі XML. На початку моделювання скрипт зчитує вміст XML-файлу, вибирає необхідні параметри та виконує команди для створення мережі у форматі Bayes Net Toolbox. Потім, у ході моделювання дані із входів S-Function додаються у модель у вигляді свідчень (evidence). На основі цих свідчень формується ймовірнісний висновок. Цей висновок, у вигляді числових значень імовірностей необхідних вершин, подається на вихід S-Function.

Розглянемо відомий приклад з мокрою травою, що дозволяє просто і наочно проілюструвати принцип роботи отриманого рішення.

Маємо чотири вершини: Cloudy, Sprinkler, Rain та WetGrass. Структура графу представлена на рис. 1. Стрілки у графі вказують на причинно-наслідкові зв’язки між вершинами.

Рис. 1. Структура графу

Окрім графу до складу байєсівської мережі входять параметри вершин, що представлені таблицями умовних імовірностей (рис. 2).

Рис. 2. Таблиці умовних імовірностей. а – Cloudy, б – Sprinkler, в – Rain, г – WetGrass.

Створену мережу зберігаємо та передаємо як параметр у розроблену S-Function. Для ілюстрації працеспроможності у Simulink будуємо модель на основі створеної S-Function. Можливий варіант моделі представлений на рис. 3.

Рис. 3 Схема моделі у MATLAB/Simulink

У наведеному прикладі на вхід байєсівської мережі подаються значення параметрів WetGrass та Rain, а на виході маємо імовірнісний висновок про параметр Sprinkler. Результати моделювання представлені на рис. 4.

У початковий момент часу значення параметру WetGrass дорівнює True, а значення Rain дорівнює 0 (невизначене). Імовірність, що параметр Sprinkler набуде значення True, становить 0,429.

У момент часу 3 с параметр Rain змінює своє значення з 0 на 2 (визначається налаштуванням блоку Scope). Відповідно імовірність для параметру Sprinkler зменшується до 0.19, що цілком відповідає очікуваному значенню, отриманому шляхом розрахунків за теоремою Байєса.

Рис. 4. Результат моделювання

Створена S-Function дозволяє використовувати байєсівські мережі як інструмент при моделюванні систем керування та прийняття рішень. На відміну від розглянутих вище рішень вона дозволяє включити байєсівську мережу у більш складну динамічну систему та використовувати отримані імовірнісні висновки у цій системі.

На даний момент робота S-Function протестована з байєсівськими мережами, що містять тільки дискретні вершини. У перспективі планується підтримка також байєсівських мереж з неперервними вершинами, динамічних байєсівських мереж, а також робота з декількома алгоритмами формування імовірнісного висновку.

Перелік посилань:

$1.$ Байєсівські мережів системах підтримки прийняття рішень / М. З. Згуровський, П. І. Бідюк, О. М. Терентьєв, Т. І. Просянкіна-Жарова. – Київ: ТОВ «Видавниче Підприємство «Едельвейс», 2015. – 300 с.

$2.$ NeapolitanR. Learning Bayesian Networks / Richard Neapolitan. – Chicago, Illinois, 2003.

$3.$ Murphy K. Bayes Net Toolbox for Matlab [Електронний ресурс] / Kevin Murphy – Режим доступу до ресурсу: https://www.cs.utah.edu/~tch/notes/matlab/bnt/docs/bnt\_pre\_sf.html.

$4.$ Margaritis D. Learning Bayesian Network Model Structure from Data / Dimitris Margaritis., 2003.

$5.$ GeNIe manual [Електронний ресурс] – Режим доступу до ресурсу: http://support.bayesfusion.com/docs/genie/.

$6.$ Write Level-2 MATLAB S-Functions [Електронний ресурс] – Режим доступу до ресурсу: https://www.mathworks.com/help/simulink/sfg/writing\-level\-2\-matlab\-s\-functions.html.

Mar 21, 2017