циклическая байесовская сеть - PullRequest
0 голосов
/ 20 августа 2011

У меня есть несколько элементов A, B, C, AB, ABC, .. (см. Изображение ниже), где каждый элемент либо существует, либо нет. Правило, управляющее этой системой, состоит в следующем: если AB существует, то A и B также должны существовать. Вообще говоря, если существует набор, все более мелкие наборы, которые являются подмножествами этого набора, также должны существовать. кроме того, если не существует пучка, то все наборы, которые составляют надмножество этого набора, не существуют.

http://i.stack.imgur.com/8fNl6.gif

Пример: Если ABC существует, то существуют A, B, C, AB, AC, BC. Если BC не существует, то ABC, BCD, ABCD тоже не существует.

Теперь, с чем я борюсь, как рассчитать, например, P (AB | A, B,! ABC), что означает вероятность того, что AB существует, если A существует, B существует и ABC не существует. у каждого элемента у меня есть базовая начальная вероятность p (X), которая говорит мне, насколько вероятно, что X существует при НЕТ ограничениях. и обычно я заранее проверяю наличие A, B, C, D, ABCD, чтобы система имела границы.

Моя проблема в том, что это циклическая сеть. Я был бы очень признателен за любую помощь, поскольку я пытался решить эту проблему в течение последних нескольких недель безуспешно. я только хочу вычислить вероятность того, что один элемент существует, учитывая любую ситуацию / ограничение. обратите внимание, что такие элементы, как AB и! BD не являются независимыми.

1 Ответ

0 голосов
/ 27 августа 2011

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

Затем нарисуйте DAG со своими значениями p, используя MSBNx, из которого вы можете получить: http://research.microsoft.com/en-us/um/redmond/groups/adapt/msbnx/ и запустите байесовский вывод, у вас не должно возникнуть проблем при выполнении запросов вероятности.

...