Anar al contingut

Algoritme de propagació de creències

De L'Enciclopèdia, la wikipedia en valencià

El algoritme de propagació de creències (en inglés: belief propagation algorithm), també conegut com el algoritme suma-producte, és un algoritme de pas de mensages per a realisar inferència sobre models gràfics tals com rets bayesianas, camps aleatoris de Markov i factor graph. És àmpliament utilisat en els camps d'inteligència artificial i teoria de l'informació i ha mostrat cert èxit experimental en aplicacions tan diferents com: anàlisis de paritat de còdics,[1] aproximacions d'energia lliure,[2] coloreado de grafos[3] i satisfacibilidad booleana.[4]

Les equacions de propagació de creències han segut redescubiertas vàries voltes. Varen ser desenrollades per Pearl en 1988 com un algoritme exacte per a realisar inferència provabilística sobre Rets Bayesianas acícliques i com una aproximació útil en Rets Bayesianas en cicles.[5] En els inicis dels 60 Gallager les va introduir com un procediment iterativo per a la recuperació de còdics de paritat.

Siga X=(X1,X2,...,XN) un conjunt de n variables aleatòries discretes, denotarem en xi la realisació de la variable aleatòria Xi. En funció de distribució conjunta P(X1=x1,X2=x2,...,Xn=xn) usualment escrita com p(x) a on x=(x1,x2,...,xn).

És possible expressar p(x) com un producte de funcions:

P(x)=1Zafa(xa)

A on a és un índex sobre les M funcions fA,fB,...,fM en que es descomponen P(x), la funció fa(xa) posseïx com a argument xa que és un subconjunt de les variables aleatòries {x1,x2,...,xn}.

Llavors la distribució marginal d'una variable donada xi és simplement la suma de P sobre totes les restants variables.

P(xi)=X=X/xip(X)=(x1,...,xi1,xi+1,...,xN)P(x1,...,xi1,xi,xi+1,...,xN)Este enfocament es torna computacionalment prohibitivo (en sistemes de tamanys relativament menuts), suponent que n=100 i les variables són binarias. Llavors per a obtindre el valor marginal de P(xi)computar 299 valors possibles. Explotant l'estructura de poliárbolés, l'algoritme de propagació de creències permet el càlcul dels marginals de manera més eficient en temps llineal respecte al tamany del sistema.[6]

Descripció de l'algoritme

[editar | editar còdic]
Representació parcial d'un factor graph
Representació parcial d'un factor graph. Resulta útil imaginar-se que dins dels nodos factors (quadrats) radica una funció fa(xa) que expressa l'interacció entre les variables que residixen en el seu veïnat

Existixen variants de l'algoritme de propagació de creències per a diferents models gràfics (Rets bayesianas, i camps aleatoris de Markov). El model gràfic usat en avant és cridat factor graph, açò no representa cap llimitació puix estos models són equivalents i és possible la conversió entre estos.[7] Un factor graph és un grafo bipartito en dos tipos de nodos: nodos variables, usualment denotats per les lletres i,j,k,... i representats gràficament en círculs, i nodos factors, usualment denotats per les lletres a,b,c,... i representats gràficament com a quadrats, existix una aresta entre un nodo variable i i un nodo funció a si i solament si i es troba en l'argument de fa(xa) . Cridarem V al conjunt de nodos variables i F al conjunt dels nodos factors.

L'algoritme funciona enviant “mensages” entre els nodos variables i nodos factors. De forma més específica si iV i aF el mensage enviat des de i cap a a és l'evaluació d'una funció n:V i de forma alterna el mensage enviat des de a cap a i és l'evaluació d'una funció m:F. Estos mensages conté l'influència d'una variable sobre una atra. El càlcul dels mensages posseïx diferent forma segons els nodos emissors i receptors.

Un mensage enviat des d'una variable i a un nodo funció a és el producte de tots els mensages que rep la variable i dels nodos factors veïns b llevat a.nia(xi)=bN(i)/ambi(xi)a on N(i)/a és el conjunt dels nodos factors veïns de i a excepció del nodo a. Si este conjunt és va buidar llavors nia(xi)distribuïx de uniformemente sobre el conjunt de valors possibles de la variable i.

Un mensage enviat des d'un nodo factor a cap a un nodo variable i és el producte de la funció fa(xa) evaluada en el veïnat de a a excepció de i que esta marginalizado al valor xi.mai(xi)=xa/xifa(xa)jN(a)/inji(xj)Si N(a)/i és buit llavors mai(xi)=fa(xi). La suma sobre xa/xi és la suma sobretot el conjunt de tots els possibles valors de les variables veïnes de a a excepció de i que es troba marginalizada al valor xi.

Inicialment el conjunt de mensages inicials es trien de manera aleatòria, després seguint cert esquema iterativo d'actualisació (usualment prendre un nodo aleatori i actualisar els mensages als seus veïns) en respectes als mensages anteriors es computen els nous mensages. Si el model gràfic posseïx forma d'arbre, existix un esquema d'actualisació que garantisa convergència (vore següent secció). Si es complix que el procés convergix, usualment que els mensages deixen de canviar, que no es garantisa en grafos generals, és possible obtindre la distribució marginal computada per la propagació de creències.

La distribució marginal estimada de cada nodo variable és proporcional al producte dels mensages dels nodos veïns.P(xi)=1αvaN(i)mai(xi)En el cas dels nodos funció la distribució conjunta de les variables que són part del seu veïnat és proporcional al mensage rebut pel nodo.P(xa)=1αffa(xa)aN(i)nia(xi)a on αv i αf són constants de normalisacióαv=xiaN(i)mai(xi)αf=xaf(xa)iN(a)nia(xi)

Propagació de creències sobre arbres

[editar | editar còdic]
Erro al crear miniatura:
Factor Graph que representa la següent funció de provabilitat conjunta:p(x)=pa(x1,x2)pb(x2,x3,x4)pc(x4)

En el cas de que el model gràfic siga un arbre, l'algoritme de propagació de creències computa de manera exacta els marginals, seguint un esquema específic d'actualisació de mensage, este esquema termina després de 2 iteraciones. L'esquema d'actualisació es descriu a continuació:

Abans de començar, és seleccionat un nodo com a nodo raïl i qualsevol nodo no raïl que es troba conectat a un sol nodo és cridat full.

En la primera iteración els mensages són inicialment computats en els fulls i “pugen” en l'estructura fins a alcançar la raïl. L'estructura d'arbre garantisa que és possible obtindre tots els mensages dels veïns de cada nodo, llevat d'un d'ells, que serà el que rebrà el mensage.

La segona iteración es compon d'enviar els mensages de forma contrària, començant en la raïl i fent-los “descendir” fins als fulls. L'algoritme termina quan tots els fulls hagen rebut el seu mensage.[8]

Com a eixemple concret del càlcul exacte dels marginals en arbres considerem la distribució de provabilitat donada en la figura superior. Usant repetidament les equacions de propagació de creències trobem que:

P(x1)=αmai(x1)

P(x1)=αx2fa(x1,x2)n2a(x2)

P(x1)=αx2fa(x1,x2)mb2(x2)

P(x1)=αx2x3x4fa(x1,x2)fb(x2,x3,x4)n3b(x3)n4b(x4)

P(x1)=αx2x3x4fa(x1,x2)fb(x2,x3,x4)mc4(x4)

P(x1)=αx2x3x4fa(x1,x2)fb(x2,x3,x4)fc(x4)

Que és exactament la definició de provabilitat marginal i el seu factor de normalisació α.

Referències

[editar | editar còdic]
  1. MIT Press.
  2. www.merl.com.
  3. PhD Tesis.
  4. Random Structures & Algorithms - Wiley Online Library.doi:10.1002/rsa.20057.
  5. MorganKaufmann.
  6. Book Exploring artificial intelligence in the new millennium Pages 239 - 269 Morgan Kaufmann Publishers Inc. Sant Francisco, CA, USA ©2003.
  7. IEEE Trans. Inf. Theory, vol. 47, no. 2, pp. 498–519.
  8. Oxford University Press, Inc. New York, NY, USA ©2009.


Referències

[editar | editar còdic]