Привет, Хабр. В предыдущей статье мы рассмотрели методы и алгоритмы обнаружения и диагностики неисправностей (ОДН) IoT устройств. В качестве логического продолжения рассмотрим Байесовскую сеть доверия (БСД) для IoT устройств с целью ОДН. Байесовская сеть доверия (англ. Bayesian Belief Network, BBN) — это вероятностная модель, представляющая собой множество переменных и их вероятностных зависимостей. БСД используется для моделирования предметных областей, которые характеризуются неопределенностью. Эта неопределенность может быть обусловлена недостаточным пониманием предметной области, неполным знанием ее состояния в момент принятия решения, случайным характером механизмов, определяющих поведение этой области, или комбинацией этих факторов. Например, БСД может быть использована для вычисления вероятности того, в чем причина не исправности устройства, основываясь на данных, полученных из датчиков и поведением устройства в целом. Таким образом, строятся зависимости между сигналами и неисправности устройства. Формально, БСД — это направленный ациклический граф (DAG, directed acyclic graph), то есть граф, в котором не существует направленного маршрута, начинающегося и заканчивающегося в одной и той же вершине. Вершины представляют переменные, а ребра кодируют условные зависимости между переменными. Вершина БСД представляет собой или дискретную случайную величину с конечным количеством состояний, или непрерывную гауссовскую величину. Вершины могут представлять переменные любых типов, быть взвешенными параметрами, скрытыми переменными или гипотезами. Существуют эффективные методы, которые используются для вычислений и обучения БСД. БСД, которые моделируют последовательности переменных, называют динамическими байесовскими сетями. БСД, в которых могут присутствовать как дискретные переменные, так и непрерывные, называются гибридными БСД. Если вершина не имеет родителей (не существует ребер, направленных к ней), она будет содержать таблицу безусловных вероятностей своих состояний. В случае дискретной вершины такая таблица содержит распределение вероятностей между всеми возможными состояниями этой вершины. Если же у вершины есть родители (одно или несколько ребер, направленных к ней), то такая вершина содержит таблицу условных вероятностей (CPT, conditional probability table), каждая ячейка которой содержит условную вероятность пребывания вершины в определенном состоянии для случая определенной конфигурации состояний всех ее родителей. Таким образом, количество ячеек в таблице условных вероятностей дискретной вершины БСД равно произведению количества возможных состояний этой вершины на произведение количества возможных состояний всех ее родительских вершин. Основу байесовской сети доверия составляют два объекта. Первый — это ациклический направленный граф. Второй — это набор распределений (тензоров) условных вероятностей, заданных для каждой из вершин графа. Тривиальная БСД, показана на рис. 1, отображает причинно-следственную взаимосвязь между двумя элементами некоторой предметной области – A и B. Наличие причинно-следственной связи от А к В означает нашу мысль о том, что если А находится в некотором состоянии, то это влияет на состояние B. Случайная дискретная переменная, которую представляет вершина A, может находиться в одном из двух состояний – a1 или a2. Вершина B имеет тоже два возможных состояния: b1, b2. Таблица 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) может использовать более полезную информацию о соответствующей холодильной машине и экспертные знания. Эффективен и действенен при диагностике неисправностей на основе неопределенной, неполной и противоречивой информации.  В силу того, что Байесовская сеть — это полная модель для переменных и их отношений, она может быть использована для того, чтобы давать ответы на вероятностные вопросы. Например, сеть можно использовать, чтобы получить новое знание о состоянии подмножества переменных, наблюдая за другими переменными (переменные — свидетельства). Это процесс вычисления апостериорного распределения переменных по переменным-свидетельствам называют вероятностным выводом. Это следствие дает нам универсальную оценку для приложений, где нужно выбрать значения подмножества переменных, которое минимизирует функцию потерь, например, вероятность ошибочного решения. Байесовская сеть может также считаться механизмом для автоматического построения расширения Теоремы Байеса для более сложных задач.  Также планируем написать статью про БСД для холодильных машин с целью ОДН. До следующих встреч, Хабр. Данная статья написана специально для курсов: "Математика для Data Science" и "Machine Learning. Advanced". Узнать подробнее о курсе Математика для Data Science Посетить бесплатный интенсив курса Machine Learning. Advanced