belief propagation

6
Belief propagation adalah algoritma penyampaian pesan untuk menunjukkan (bagaimana) pengambilan kesimpulan pada model-model grafis, seperti jaringan Bayesian dan Markov random fields. (Algoritma tersebut) dapat mengkalkulasikan distribusi marginal untuk setiap node (kutub) yang tidak diobservasi*, dan mengambil keputusan pada tiap node yang diobservasi. Belief propagation sering digunakan pada kecerdasan buatan teori informasi dan telah menunjukkan kesuksesan empiris pada banyak aplikasi, termasuk low-density parity-check codes, turbo codes, free energy approximation, dan satisfiability. Algoritma tersebut pertama kali diajukan oleh Judea Perl pada tahun 1982. Ia memformulasikan algoritma tesebut pada pohon, yang kemudian dilanjutkan dengan polytrees. Sejak itu ia terbukti sebagai algoritma yang berguna pada graf-graf (grafik) yang umum. Jika x=(Xv) adalah satu set variabel acak tersediri dengan joint mass function p, distribusi marginal untuk satu Xi secerhananya adalah penjumlahan p diantara semua variabel lain. (RUMUS) p_{X_i}(x_i) = \sum_{\mathbf{x}': x'_i=x_i} p(\mathbf{x}'). Namun, hal ini seketika menjadi penghalang dalam penjumlahan: jika terdapat 100 variabel biner, maka seseorang perlu menjumlahkan lebih dari 299 ≈ 6.338 × 1029 nilai yang mungkin. Dengan menggunakan struktur grafis, belief propagation memungkinkan (variabel-variabel) marjinal untuk dijumlahkan dengan cara yang lebih efisien. Penggambaran algoritma sum-product Belief propagation bekerja pada grafik faktor: grafik bipartite (mengeai dua hal) yang mempunyai dua node (kutub) terkait dengan variabel V dan faktor U, dengan tepi diantara variabel dan faktor yang memunculkannya. Kita dapat menulis joint mass function: (RUMUS) p(\mathbf{x}) = \prod_{u \in U} f_u (\mathbf{x}_u) Dimana xu adalah vektor dari node (kutub) variabel yang berdekatan, pada faktor node (kutub) u. Jaringan Bayesian maupun firld acak Markov manapun dapat direpresentasikan sebagai grafik faktor. Algortitma tersebut bekerja dengan melewati fungsi-fungsi bernilai yang riil, disebut sebagai pesan, pada tepi-tepi yang berada diantara nodes (kutub-kutub). (Pesan tersebut) mempunyai “pengaruh” yang diberikan oleh satu variabel kepada varibel lainnya. Terdapat dua macam pesan: Pesan dari node variabel v kepada node faktor u adalah produk pesan-pesan dari semua node faktor lain yang berdektan (kecuali penerima; kita bisa menytakan bahwa penerimalah yang mengirim pesan”1”)

Upload: syakur-rahman

Post on 03-Jul-2015

69 views

Category:

Documents


5 download

DESCRIPTION

Belief PropagationSource: wikipedia.org

TRANSCRIPT

Page 1: Belief Propagation

Belief propagation adalah algoritma penyampaian pesan untuk menunjukkan (bagaimana) pengambilan kesimpulan pada model-model grafis, seperti jaringan Bayesian dan Markov random fields. (Algoritma tersebut) dapat mengkalkulasikan distribusi marginal untuk setiap node (kutub) yang tidak diobservasi*, dan mengambil keputusan pada tiap node yang diobservasi. Belief propagation sering digunakan pada kecerdasan buatan teori informasi dan telah menunjukkan kesuksesan empiris pada banyak aplikasi, termasuk low-density parity-check codes, turbo codes, free energy approximation, dan satisfiability.

Algoritma tersebut pertama kali diajukan oleh Judea Perl pada tahun 1982. Ia memformulasikan algoritma tesebut pada pohon, yang kemudian dilanjutkan dengan polytrees. Sejak itu ia terbukti sebagai algoritma yang berguna pada graf-graf (grafik) yang umum.

Jika x=(Xv) adalah satu set variabel acak tersediri dengan joint mass function p, distribusi marginal untuk satu Xi secerhananya adalah penjumlahan p diantara semua variabel lain.

(RUMUS) p_{X_i}(x_i) = \sum_{\mathbf{x}': x'_i=x_i} p(\mathbf{x}').

Namun, hal ini seketika menjadi penghalang dalam penjumlahan: jika terdapat 100 variabel biner, maka seseorang perlu menjumlahkan lebih dari 299 ≈ 6.338 × 1029 nilai yang mungkin. Dengan menggunakan struktur grafis, belief propagation memungkinkan (variabel-variabel) marjinal untuk dijumlahkan dengan cara yang lebih efisien. Penggambaran algoritma sum-product

Belief propagation bekerja pada grafik faktor: grafik bipartite (mengeai dua hal) yang mempunyai dua node (kutub) terkait dengan variabel V dan faktor U, dengan tepi diantara variabel dan faktor yang memunculkannya. Kita dapat menulis joint mass function:

(RUMUS) p(\mathbf{x}) = \prod_{u \in U} f_u (\mathbf{x}_u)

Dimana xu adalah vektor dari node (kutub) variabel yang berdekatan, pada faktor node (kutub) u. Jaringan Bayesian maupun firld acak Markov manapun dapat direpresentasikan sebagai grafik faktor.

Algortitma tersebut bekerja dengan melewati fungsi-fungsi bernilai yang riil, disebut sebagai pesan, pada tepi-tepi yang berada diantara nodes (kutub-kutub). (Pesan tersebut) mempunyai “pengaruh” yang diberikan oleh satu variabel kepada varibel lainnya. Terdapat dua macam pesan:

Pesan dari node variabel v kepada node faktor u adalah produk pesan-pesan dari semua node faktor lain yang berdektan (kecuali penerima; kita bisa menytakan bahwa penerimalah yang mengirim pesan”1”)

(RUMUS) \mu_{v \to u} (x_v) = \prod_{u^* \in N(v)\setminus\{u\} } \mu_{u^* \to v} (x_v).

(RUMUS) DIMANA N(v) adalah satu set node (faktor) yang berdekatan pada v. jika N(v)\setminus\{u\} kosong, maka \mu_{v \to u}(x_v) digunakan pada distribusi yang seragam.

Pesan dari node faktor u pada node variabel v adalah produk dari faktor dengan pesan dari semua node yang lainnya, yang dimarjinalisasi terhadap xv.

(RUMUS) \mu_{u \to v} (x_v) = \sum_{\mathbf{x}'_u:x'_v=x_v } f_u (\mathbf{x}'_u) \prod_{v^* \in N(u) \setminus \{v\}} \mu_{v^* \to u} (x'_{u}).

DIMANA N(u) merupalan sekumpulan variable yang berdekatan terhadap node u. Jika N(u) \setminus \{v\} kosong maka \mu_{u \to v} (x_v) = f_u(x_v).

Nama dari algoritma ini jelas jika kita melihat formula sebelum’a: hasil marginalisasi keseluruhan dikurangi hingga total dari perkalian terhadap pernyataan yang lebih sederhana jika dibandingkan dengan yang terlihat pada distribusi utuh.

Page 2: Belief Propagation

[edit] Algoritma yang tepat untuk stuktur data pohon

Bentuk paling sederhana dari algoritma ini ialah ketika graph berbentuk pohon: dalam kasus ini, algoritma akan melakukan perhitungan tepat sesuai dengan marginal dan akan terhenti setiap 2 fase.

Sebelum proses dimulai, graph diorientasikan dengan menentukan satu node sebagai root, dan node lain yang bukan sebagai root namun terkoneksi tepat terhadap satu node lain disebut sebagai leaf.

Langkah pertama, pesan-pesan didistribusikan ke pusa: dimulai dari tiap leave, tiap node mendistribusikan suatu pesan sepanjang jalur menuju root. Stuktur pada pohon menjamin kepastian bahwa memang mungkin untuk mendapatkan semua pesan yang ada dari tiap node sebelum melanjutkan pesan tersebut. Ini terus berlanjut hingga pesan sampai pada root.

Langkah selanjutnya meliputi pendistribusian pesan ke luar: dimulai dari root, pesan disampaikan dengan arah terbalik. Algoritma ini selesai ketika semua leave menerima pesan yang didistribusikan.

Tahap akhir, nilai marginal distribusi pada tiap node merupakan perkalian dari tiap pesan dengan perhitungan berikut:

(RUMUS) p_{X_v} (x_v) = \prod_{u \in N(v)} \mu_{u \to v} (x_v).

Sebaliknya, distribusi gabungan marginal dari sekumpulan variable suatu faktor merupakan perkalian dari faktor dan pesan pada variable2 tersebut:

(RUMUS) p_{X_u} (\mathbf{x}_u) = f_u(\mathbf{x}_u) \prod_{v \in N(u)} \mu_{v \to u} (x_u).

Ini bisa ditunjukan dengan induksi matematis

[edit] Approximate algorithm untuk general graph

Anehnya, algoritma yang serupa digunakan pada general graph. Algortma tersebut terkadang disebut sebagai loopy belief propagation, karena graph pada umumnya memiliki cycle, atau loops. Procedure yang ada harus disesuaikan karena graph bisa jadi tidak memiliki leave. Ini dilakukan dengan menginisialisasi semua variabel pesan dengan 1 dan menggunakan definisi yang sama dengan diatas. Akan dengan sangat mudah ditunjukan pada pohon,definisi pesan pada prosedur ini akan menggabungkan pesan-pesan yang ada pada total iterasi sejumlah diamater pohon.

Kondisi yang tepat di mana loopy belief propagation akan berkumpul masih belum dipahami dengan baik, tapi diketahui bahwa grafik yang berisi sebuah loop tunggal akan berkumpul menjadi sebuah solusi yang tepat [5] Beberapa kondisi yang cukup (tapi tidak wajib) untuk konvergensi loopy belief propagation untuk titik yang pasti memang ada. [6] Ada beberapa graph yang akan gagal untuk bertemu, atau yang akan berosilasi antara beberapa state pada iterasi berulang. Teknik seperti grafik EXIT dapat memberikan visualisasi perkiraan kemajuan propagasi keyakinan dan tes perkiraan untuk konvergensi.

Ada beberapa metode perkiraan lain untuk marjinalisasi termasuk metode variasi dan metode Monte Carlo.

Salah satu metode marjinalisasi yang tepat dalam general graph disebut junction tree algoritma, yang pada dasarnya merupakan belief propagation pada grafik yang dimodifikasi sehingga dijamin menjadi pohon. Premis dasarnya adalah menghilangkan siklus dengan mengelompokkan mereka ke node tunggal.

[sunting] algoritma terkait dan kompleksitas

Algoritma yang serupa disebut sebagai algoritma Viterbi, tetapi juga dikenal sebagai max-product atau min-sum algoritmh, yang menyelesaikan masalah terkait maksimisasi, atau penjelasan yang paling mungkin. Alih-alih mencoba untuk menemukan marjinal, tujuan di sini adalah untuk mencari nilai-nilai \ mathbf {x} yang

Page 3: Belief Propagation

memaksimalkan fungsi global (nilai yang paling mungkin yaitu dalam pengaturan probabilistik), dan dapat didefinisikan dengan menggunakan max arg:

(RUMUS) \arg\max_{\mathbf{x}} g(\mathbf{x}).

Algoritma yang menyelesaikan masalah ini mirip dengan belief propagation, dengan total nilai digantikan oleh maxima pada definisi.

Perlu dicatat bahwa masalah pengambilan keputusan seperti marginalisasi dan maksimalisasi adalah NP-sulit untuk diselesaikan dengan tepat dan diperikarakn (setidaknya untuk kesalahan relatif) dengan model grafis. Lebih tepatnya, masalah marjinalisasi di atas didefinisikan dengan # P-complete dan hasil maksimalisasi’a adalah NP-complete.

[sunting] Hubungan dengan energi bebas

Algoritma sum-product terkait dengan perhitungan energi bebas dalam termodinamika. Anggap Z sebagai fungsi partisi. Sebuah distribusi peluang ialah sebagai berikut

(RUMUS) P(\mathbf{X}) = \frac{1}{Z} \prod_{f_j} f_j(x_j)

(sesuai dengan represantatif pada graph) yang dapat dilihat sebagai ukuran tenaga internal pada sistem, yang dapat dihitung dengan rumus berikut

(RUMUS) E(\mathbf{X}) = \log \prod_{f_j} f_j(x_j).

Maka, Energi bebas pada sistem dapat diperoleh dengan

(RUMUS) F = U - H = \sum_{\mathbf{X}} P(\mathbf{X}) E(\mathbf{X}) + \sum_{\mathbf{X}} P(\mathbf{X}) \log P(\mathbf{X}).

Hal ini kemudian dapat menunjukkan bahwa titik-titik konvergensi algoritma sum-product merepresantasikan kondisi di mana energi bebas dalam sistem tersebut diminimalkan. Demikian pula, dapat ditunjukkan bahwa dengan suatu nilai yang ditentukan untuk iterasi belief propagation pada graph yang memiliki cycle ialah perkiraan titik stasioner dari sebuah energi bebas.

[sunting] Generalized belief propagation (GBP)

belief propagation Algorithm biasanya disajikan sebagai perhitungan pesan update pada factor graph, yang melibatkan pesan antara node variabel dengan node tetangga dan sebaliknya. Mengingat pesan-pesan pada grafik adalah salah satu cara mengeneralisasikan belief propagation algorithm. Ada beberapa cara untuk mendefinisikan himpunan daerah di grafik yang dapat bertukar pesan. Salah satu metode menggunakan ide yang dikenalkan oleh Kikuchi pada literatur fisika, dan dikenal dengan metode variasi kluster Kikuchi.

***

Peningkatan kinerja belief propagation algoritma juga dicapai dengan memecah simetri replika dalam distribusi ruang (pesan). Generalisasi ini melahirkan suatu algoritma baru yang disebut Survey Propagation (SP), yang telah terbukti sangat efisien dalam masalah NP-complete seperti satisfiability [1] dan pewarnaan grafik.

Metode cluster variasional dan algoritma survey propagation adalah dua cara berbeda untuk meninkatkan kinerja belief propagation.

[sunting] propagasi kepercayaan Gaussian (GaBP)

Gaussian belief propagation adalah varian dari belief propagation algoritma yang digunakan ketika distribusi yang terjadi bersifat Gaussian. [7]

Page 4: Belief Propagation

Algoritma GaBP memecahkan masalah marjinalisasi berikut:

(RUMUS) P(x_i) = \frac{1}{Z} \int_{j \ne i} \exp(-1/2x^TAx + b^Tx)\,dx_j

dimana Z meupakan konsanta normalisasi, A merupakan matirks simteris positif yang terhingga and b merupakan shift vector.

Hal ini dapat pula ditunjukkan dengan model Gaussian, solusi marginalisasi masalah sesuai dengan:

(RUMUS) \underset{x}{\operatorname{argmax}}\ P(x) = \frac{1}{Z} \exp(-1/2x^TAx + b^Tx).

Ini juga ekuivalen dengan masalah minimalisasi berikut:

(RUMUS) \underset{x}{\operatorname{min}}\ 1/2x^TAx - b^Tx.

Yang juga ekivalen dengan persamaan linear

Ax = b.

Konvergensi dari algoritma GaBP lebih mudah untuk dianalisa (relatif terhadap umum kasus BP) dan ada dua kondisi konvergensi yang memadai. Yang pertama dirumuskan oleh Wiess et al. pada tahun 2000 ketika informasi pada matriks A adalah diagonal dominan. Kondisi konvergensi kedua dirumuskan oleh Johnson et al [8] pada tahun 2006,. ketika spektral radius matriks setara dengan

(RUMUS) \rho (I - |D^{-1/2}AD^{-1/2}|) < 1 \,

dimana D = diag(A).

Algoritma GaBP dihubungkan dengan domain aljabar linear, [9] dan menunjukkan bahwa algoritma GaBP dapat dianggap sebagai suatu algoritma iteratif untuk memecahkan sistem persamaan linier Ax = b dimana A adalah matriks informasi dan b adalah shift vector. Kondisi konvergensi algoritma GaBP telah diketahui merupakan identik dengan kondisi umum pada metode Jacobi. Secara empiris, algoritma GaBP terbukti melakukan konvergasi secara lebih cepat daripada metode iteratif klasik lainnya seperti metode Jacobi, metode Gauss-Seidel, dan lain-lain [10]. Selain itu, algoritma GaBP terbukti ampuh untuk menyelesaikan masalah numerik yang terkait dengan metode Conjugate Gradient [11]

Baru-baru ini, teknik double-loop diperkenalkan untuk memaksa konvergensi dari algoritma GaBP untuk mendapatkan solusi yang tepat bahkan ketika kondisi untuk konvergensi tidak terpenuhi. Teknik loop ganda dapat bekerja baik pada matriks positive definite atau coulumn dependant.