確率分布の推定
これまで、モデルを表現するための要素である「確率分布の形」(確率密度関数)が分かっているものとして考えてきた。
確率分布の形が分からないケースを考えてみる。
(現実世界で推定しようとする対象は、こっちの方が多いと思われる)
以前、多変量混合正規分布のパラメータ推定の際に使った3000個の2変量データがあるとする。
以下のことが分かっているので、対数尤度関数を決められた。
- 混合分布であり、混合数は2
- 各分布は正規分布に従う
ここで、(混合分布ではない)多変量正規分布と仮定してたらどうなるか。
3000個の標本の基本統計量を求めると以下のとおり。
# 平均 mean(data[,1]) # 変量x [1] 3.827617 mean(data[,2]) # 変量y [1] 5.80732 # 標本分散 variance(data[,1]) # 変量x [1] 5.8918 variance(data[,2]) # 変量y [1] 8.044347 # 標本共分散 covariance(data[,1],data[,2]) # 変量xと変量y [1] 2.895581
これを最尤パラメータとして、標本の対数尤度を求めてみると(前回作った自作関数を使用)、対数尤度は「-14009.41」
log_likelihood_Bivar_norm(c(3.827617, 5.80732, 5.8918, 8.044347, 2.895581), data) [,1] [1,] -14009.41
一方、「2変量混合正規分布(混合数2)」としての標本の対数尤度は「13616.7956」
標本からモデルを決めるときは、対数尤度が最大になるような分布を選べばよい。
分布を推定するには大きく3つの方法に分けられる模様。
- パラメトリックモデルを用いる手法(モデルを関数型と仮定して、関数のパラメータを調整)
- ノンパラメトリックモデルを用いる手法(モデルを関数型と仮定しない)
- セミパラメトリックな手法(モデルを関数型と仮定、パラメータの数を系統的に増やせるようにする)
混合分布モデルや階層型ニューラルネットワークは、3つの手法に該当。
(参考サイト)
確率密度分布の推定
音声認識で言うと、出力確率を前者に当てはめたのが「GMM-HMM」、後者に当てはめたのが「DNN-HMM」
続いて、モデルが決まった後の話。
ある点についての確率密度を求めたいとする。
左図が混合分布モデル、右図は混合分布ではないモデル。
2つのモデルに対して、任意の変量xとyを与えたときの確率密度。
x=3、y=5で誤差が大きくなっている(混合分布の2つの山に挟まれる部分)
混合分布モデルでは確率密度が「0.0133」になる点が、混合分布ではないモデルにおいては「0.0238」と確率が高くなっており、想定とは違う方向に「尤もらしい」を押し上げるように作用している。