Feed Forward Neural Networks (Multi-layer Perceptron)と Baysian Networks (Belief Networks) は、DAG で表現された学習・推論のモデルであるという点で似ている。
FFNNでは、1つのノードは入力の線形和に対する閾値関数として定義され、
線形和の重みと閾値関数(典型的には閾値そのの)が、1つのノードのパラメータ。
BN では、1つのノードは入力確率変数に対する条件付き確率分布として定義され、
離散確率変数を用いる場合は全組み合わせの確率表(Conditional Probability Table)、
連続確率変数を用いる場合はそのパラメータが、1つのノードのパラメータ。
FFNNでは有向グラフの向きに沿って、入力値が加工されていき、
最後の出る辺がないノードから、出力値が出される。
BNでは観測変数が入力されると、
そこから有効グラフの向きに沿って、もしくは逆流して、ノードの確率表が埋められてゆく。
隠れ変数の確率表が埋められたら、それが出力となる。
neural networks と baysian networks のからみの一例として
sigmoid belief networks がある。
Mean Field Theory for Sigmoid Belief Networks - Saul, Jaakkola, Jordan (1996)
BNのノードは一般にFFNNのノードよりも多くの情報を持つが、
特に各ノードの条件付き確率分布を入力の確率の線形和にsigmoidを掛けた関数とした場合のBNは、
ニューロンの閾値関数がsigmoidになったFFNNに一致する。
ただし、信号が伝わる方向がDAGの方向とは限らなくて、
誤差逆伝播のかわりに、
ベイズ則を使って隠れ変数ノードのパラメータを求める。
解析的には求まらないので、サンプリングかvariational bayes法(平均場近似)を用いるのが一般的。
もっと深い解説は http://d.hatena.ne.jp/higotakayuki2/20070712/p2#c
変分ベイズ - 朱鷺の杜Wiki
ベイジアンネット - 朱鷺の杜Wiki
ニューラルネット - 朱鷺の杜Wiki
Markov確率場 - 朱鷺の杜Wiki
Frequently asked questions about Bayesian methods for neural networks
<http://research.microsoft.com/users/znie/icml2005_2D-CRF.pdf>
However, as the information on a Web
page is two-dimensionally laid out, previous
linear-chain CRFs have their limitations for Web
information extraction.
<http://research.microsoft.com/~meek/>
Factorization of discrete probability distributions
対数線形モデルとマルコフ確率場の等価性をあたえた Hammersley-Clifford theorem の拡張
Collaborative filtering
ついでに。
Hammersley-Clifford theorem は原典が出版されてないので、
教科書とかを見る必要がある。
WebならStochastic processes notesの3章とか。
<http://www.cs.ubc.ca/~murphyk/Bayes/bayes.html>
directed graphical model が中心だけど、
undirected model の文献紹介もある。
graphical models な講義
10-708 Probabilistic Graphical Models, Fall 2006
EE512
Algorithms for Graphical Models (AGM)
講義資料を見るだけでは、講義に参加した場合と比べて、ほとんど理解できない。
ビデオが見られると、音声、表情、動きで伝えられる情報が加わるので、講義に参加した場合にかなり近づく。
そうでない場合は、そこで紹介されている本の副読本くらいの位置付けで見るのがいいと思う。
Gaussian Process は関数空間上の確率変数の一種。
#! /usr/bin/env perl use strict; use warnings; use Math::Random qw/:all/; my @xs = map { ($_/30) } (0..20); # 関数への入力値列 my $n = scalar @xs; my @v = map { my $x=$_; [map {exp -1/2*( ($x-$_)**2 )} @xs]} @xs; # カーネル #my @v = map { [map 1, @xs] } @xs; my @m = ((0)x$n); print map join(qq{\n}, @$_).qq{\n\n}, random_multivariate_normal(2, @m, @v); # 2個の出力値列が得られる。各列は入力値列に対応する。
random_multivariate_normal(N, mean_vector, covariance_matrix)
で、N 個のサンプルが帰ってくる。
mean_vector, covariance_matrix は配列へのリファレンスではなく、配列である必要がある。
perl -M'Math::Random qw/:all/' -e'print map join(qq{\t}, map {int($_ * 2) } @$_)."\n", random_multivariate_normal(100000,@m=(0,0),@v=([1,0],[0,1]))' | sort -g | uniq -c
インストール時、su していないと make install が通らなかった。
look Math::Random
して Makefile の /usr を ${HOME} に書き換えるとインストールできた。
<http://www.stanford.edu/~sgwater/>
D論ゲット
Nonparametric Bayesian Models of Lexical Acquisition
いわゆるひとつの Unsupervised Morphological Segmentation です。
<http://musashi.sourceforge.jp/>
いわゆるひとつのデータマイニングツール。
ある時系列量を与えると、年間変動とノイズと長期的変動を分離したりできると思う。
(みてない)
<http://www.ipam.ucla.edu/publications/ds2006/ds2006_5861.pdf>
Maximum Likelihood Set [2006-04-06-4] 応用の解説プレゼン。
最尤推定では、単体上で格子状の点集合のどれかしかとれず、
周縁に位置することにより、0確率がたくさんできてしまう。
可能な点集合(確率分布の集合)は格子状だが、
観測データはそのなかの1点となる。
MLSはそれを囲むある領域のこと。
直感的には、平面の多角形(超平面の凸多面体)分割で、最近傍サイト共有クラスタという感じ。
その多角形の中の点のうち、参照分布の点に一番近い点を解とする。
参照に使うのは、最尤推定とかだと悪いところをそのまま受け継いでしまうので、
スムージングされた分布か、
次元がすごく少ない分布がいいかも。
逆に言うと、そういう参照分布しか手に入らないような場合に有効な気が。
ドメイン適応とか。
実験結果では、
Modified-Kneser-Ney などと比較して、それを参照分布としたときのMLS法は、
パープレキシティ、WERで、
よくなったり悪くなったりという、いまいちな結果。
MLSの領域基準にパラメータを入れて(「ほかのα倍より大きい」)やったバージョンでは、
一応常に改善したらしい。
あと、未知N-gram数は結構減っている。
主張としては、MLS が証拠と参照を裏切らない(カウントが大きければ確率が高い、とか)
のが良い効果を生むだろうということだと思う。
実際、Kneser-Ney は結構裏切るらしい。
パープレキシティは同じでも、中身は結構(よい方へ)違っているのだ、といっている。
理論的に非常にきれいで、分かりやすいのがすばらしい。
証明は多分大変だろうけど。
パラメータフリーであることも長所?
上記のαは、分割してできる領域の平均半径とかで、うまくいくらしい。
それくらいのチューニングの余地を残しておいてもよい気はするが。
αが大きいと、経験分布より参照分布を信頼するようになる。
で、肝心の最適化の手法が分からないんですが。
MLSの不等式制約による表現を見ると、
線形計画問題に落とされているっぽい。
ただ、参照分布にもっとも近いのを選ぶのは不明。
Convex Optimization だとは書いてあるが…
最尤推定に近すぎるんじゃないかとU氏。
枠組みとしては、参照分布とαの選び方に自由度がある。
+ Workshop on Learning with Nonparametric Bayesian Methods
June 29, 2006
+ Nonparametric Bayes NIPS*05 Workshop ― Nonparametric Bayesian Methods
+ Bayesian Methods for Natural Language Processing / NIPS 2005 Workshop
<http://wwwbrauer.in.tum.de/~trespvol/papers/DPTresp2006.pdf>