Привет, Хабр. В предыдущей статье мы рассмотрели методы и алгоритмы обнаружения и диагностики неисправностей (ОДН) IoT устройств. В качестве логического продолжения рассмотрим Байесовскую сеть доверия (БСД) для IoT устройств с целью ОДН.

Введение

Байесовская сеть доверия (англ. Bayesian Belief Network, BBN) — это вероятностная модель, представляющая собой множество переменных и их вероятностных зависимостей. БСД используется для моделирования предметных областей, которые характеризуются неопределенностью. Эта неопределенность может быть обусловлена недостаточным пониманием предметной области, неполным знанием ее состояния в момент принятия решения, случайным характером механизмов, определяющих поведение этой области, или комбинацией этих факторов. Например, БСД может быть использована для вычисления вероятности того, в чем причина не исправности устройства, основываясь на данных, полученных из датчиков и поведением устройства в целом. Таким образом, строятся зависимости между сигналами и неисправности устройства.

Байесовская сеть доверия 

Формально, БСД — это направленный ациклический граф (DAG, directed acyclic graph), то есть граф, в котором не существует направленного маршрута, начинающегося и заканчивающегося в одной и той же вершине. Вершины представляют переменные, а ребра кодируют условные зависимости между переменными. Вершина БСД представляет собой или дискретную случайную величину с конечным количеством состояний, или непрерывную гауссовскую величину. Вершины могут представлять переменные любых типов, быть взвешенными параметрами, скрытыми переменными или гипотезами. Существуют эффективные методы, которые используются для вычислений и обучения БСД. БСД, которые моделируют последовательности переменных, называют динамическими байесовскими сетями. БСД, в которых могут присутствовать как дискретные переменные, так и непрерывные, называются гибридными БСД.

Если вершина не имеет родителей (не существует ребер, направленных к ней), она будет содержать таблицу безусловных вероятностей своих состояний. В случае дискретной вершины такая таблица содержит распределение вероятностей между всеми возможными состояниями этой вершины. Если же у вершины есть родители (одно или несколько ребер, направленных к ней), то такая вершина содержит таблицу условных вероятностей (CPT, conditional probability table), каждая ячейка которой содержит условную вероятность пребывания вершины в определенном состоянии для случая определенной конфигурации состояний всех ее родителей. Таким образом, количество ячеек в таблице условных вероятностей дискретной вершины БСД равно произведению количества возможных состояний этой вершины на произведение количества возможных состояний всех ее родительских вершин.

Основу байесовской сети доверия составляют два объекта. Первый — это ациклический направленный граф. Второй — это набор распределений (тензоров) условных вероятностей, заданных для каждой из вершин графа.

Тривиальная БСД, показана на рис. 1, отображает причинно-следственную взаимосвязь между двумя элементами некоторой предметной области – A и B. Наличие причинно-следственной связи от А к В означает нашу мысль о том, что если А находится в некотором состоянии, то это влияет на состояние B.

Рис. 1. Тривиальная БСД
Рис. 1. Тривиальная БСД

Случайная дискретная переменная, которую представляет вершина A, может находиться в одном из двух состояний – a1 или a2. Вершина B имеет тоже два возможных состояния: b1, b2. Таблица 1 показаны условные вероятности для вершин А и Б.

Таблица 1. Пример таблиц условных вероятностей для вершин БСД 
Таблица 1. Пример таблиц условных вероятностей для вершин БСД 

Поскольку вершина A не имеет родителей, значения вероятностей ее состояний не являются зависимыми (про распределение вероятностей вершины A в таком случае свидетельствуют, что заданы априорные вероятности ее состояний). Для вершины В, наоборот, вероятности состояний зависят от состояния ее родительской вершины A: 

  • если A находится в состоянии a1, то В находится в состоянии b1;

  • если A находится в состоянии a2, то вероятность того, что В находится в состоянии b1 равна 0.6, а в состояниях b2 и b3 – 0,2.

Если вершина A не имеет родителей, то вместо условных вероятностей (автоматически) используются безусловные вероятности P(A). Именно процесс исчисления вероятностей является основой для принятия решений в условиях неопределенности на основе байесовских сетей. Раскрытие неопределенности (dealing with uncertainty) осуществляется в БСД путем вычисления вероятностей состояний интересующих нас вершин на основе имеющейся информации о значении (части) других вершин сети. Математический базис для этого процесса определяет байесовский подход к анализу неопределенности и соответствующий ему аппарат классической теории вероятностей.

Основу байесовского подхода составляет понятие условной вероятности P(A | B) = x, которая означает, что при условии возникновения B (и всего остального, что не имеет отношения к B) вероятность возникновения А равняется x. Совместная вероятность наступления А и B определяется формулой полной вероятности:

Уравнение — фундаментальный принцип исчисления вероятностей и основа для теоремы Байеса:

гут

Действительно, пусть A1, A2 ,..., An – полная группа несовместных взаимоисключающих событий (или альтернативных гипотез). Тогда апостериорная вероятность P(Aj | B) каждого из событий Aj, j= 1...n при условии, что произошло событие B, выражается априорной вероятностью Aj:

Пример

Предположим, что может быть две причины, по которым IoT устройства (а именно кондиционер) могут сломаться: удар или падение, либо износ. Также предположим, что устройство влияет на температуру в комнате — если устройство работает, то в комнате температура 26 градусов по Цельсию. Тогда ситуация может быть смоделирована проиллюстрированной БСД. Все три переменные могут принимать два возможных значения: T (правда — true) и F (ложь — false). 

Совместная вероятность функции:

где, имена трех переменных означают С = Кондиционер (Air Conditioner), B = Удар (Bump) , и D = Износ (Deterioration). 

Модель может ответить на такие вопросы как «Какова вероятность того, что кондиционер неисправен, если был удар по устройству?» используя формулу условной вероятности и суммируя переменные:

БСД для холодильных машин

Рассмотрим трехуровневую диагностическую БСД — которая разработана авторами для диагностики неисправностей холодильной машины. Структура БСД является графической и качественной иллюстрацией внутренних причинных отношений между причинными факторами на Уровне 1, отказов на Уровне 2 и симптомов отказов на Уровне 3. Параметры БСД представляют количественные вероятностные отношения между тремя слоями. Для диагностики неисправностей холодильной машины, задние вероятности неисправностей по наблюдаемым признакам рассчитываются на основе анализа вероятностей и теория графов. По сравнению с другими стратегиями ОДН, предлагаемая авторами стратегия (Рис.2 и Рис.3) может использовать более полезную информацию о соответствующей холодильной машине и экспертные знания. Эффективен и действенен при диагностике неисправностей на основе неопределенной, неполной и противоречивой информации. 

Рис.2. Трехуровневую диагностическую БСД 
Рис.2. Трехуровневую диагностическую БСД 
Рис. 3. Структура БСД для холодильных машин
Рис. 3. Структура БСД для холодильных машин

Вывод

В силу того, что Байесовская сеть — это полная модель для переменных и их отношений, она может быть использована для того, чтобы давать ответы на вероятностные вопросы. Например, сеть можно использовать, чтобы получить новое знание о состоянии подмножества переменных, наблюдая за другими переменными (переменные — свидетельства). Это процесс вычисления апостериорного распределения переменных по переменным-свидетельствам называют вероятностным выводом. Это следствие дает нам универсальную оценку для приложений, где нужно выбрать значения подмножества переменных, которое минимизирует функцию потерь, например, вероятность ошибочного решения. Байесовская сеть может также считаться механизмом для автоматического построения расширения Теоремы Байеса для более сложных задач. 

Также планируем написать статью про БСД для холодильных машин с целью ОДН. До следующих встреч, Хабр.


Данная статья написана специально для курсов: "Математика для Data Science" и "Machine Learning. Advanced".

Комментарии (4)


  1. eteh
    03.11.2021 02:01

    И как себя поведет эта сеть в условиях строгих граничных условий? Не проще ли применять экспертную систему диагностики?


    1. Farruh7 Автор
      03.11.2021 03:52

      Хороший вопрос, на самом деле так как уже включен мнение эксперта (априорные вероятности) то можно считать система на основе экспертной системе диагностики. Экспертная система диагностики тяжело использовать когда в системе взаимодействует множество подсистем и почти невозможно определить взаимосвязь между устройствами.


      1. eteh
        03.11.2021 18:28

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


        1. Farruh7 Автор
          04.11.2021 04:42

          Скорее всего вы правы, но с другой стороны во множество англоязычных источниках описаны:

          1. Rule-Based (На основе правил) - white box

          2. Domain Expert System (экспертная система предметной области) - gray box

          3. AI system (искусственный интеллект) - black box.

          Вами описанная система на основе четкой логики скорее всего Rule-Based. Экспертная же — это подкласс из основы данных о процессе - более подходить AI system" - конечно, надо посмотреть русскоязычные источники, и разобраться в терминах. И на мой взгляд мы некоторые вещи по другому называем.

          Здесь статья про white, gray and black box.

          Ещё цитата с книги про экспертной системе (перевод): Важнейшей прикладной областью искусственного интеллекта является область экспертных систем. Экспертная система - это система, основанная на знаниях, которая использует знания о предметной области и использует процедуру логического вывода (причины) для решения проблем, которые в противном случае потребовали бы человеческой компетентности или опыта. Мощь экспертных систем проистекает в первую очередь из конкретных знаний об узкой области, хранящихся в базе знаний экспертной системы.

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