Esistono una quantità smodata di tecniche di inferenza statistica, ma -udite udite- moltissime di esse sostanzialmente si pongono come scopo quello di marginalizzare una distribuzione di probabilità coniugata in molte variabili, spesso facilmente fattorizzabile (ad esempio utilizzando le regole relative alle distribuzioni di probabilità condizionata).
I factor-graphs sono uno strumento molto potente per la marginalizzazione di funzioni in molte variabili fattorizzabili in funzioni a poche variabili, del tipo:
data g(x1,x2,...,xn) = PRODi(f(Xi)
dove le xi sono le variabili e gli Xi sono dei sottoinsiemi (di cardinalità "bassa") delle variabili xi,
è possibile sfruttare la fattorizzazione per calcolare efficientemente:
g(xj) = SUMx1(SUMx2(...SUMxj-1(SUMxj+1(...SUMxn(g(x1,x2,...,xn))...))...))
I factor-graphs permettono di effettuare questo calcolo utilizzando un solo semplice algoritmo di nome Sum-Product-Algorithm. Tantissimi algoritmi sono rappresentabili come istanze dei factor-graphs, ad esempio l'algoritmo di Viterbi, il belief-propagation per le Bayesian-networks, forward-backward, Random Markov Fields ecc ecc Turbo-codes decoding.. e ovviamente molti altri algoritmi possono essere costruiti utilizzando lo stesso framework.
Quindi? Non state ancora leggendo l'articolo del link? Ok, allora se non avete voglia di leggere tutto il paper magari date un occhio qui per un tutorial/demo. ;)
Nessun commento:
Posta un commento