Multinomial distributionとCategorical distributionの違い

些細な違いなんだけど調べたのでメモ。Multinomial distributionは多項分布のこと。Categorical distributionは、一般的な日本語表現が見つからなかった(なのでタイトルは英語)。打つのが大変なので、以下カテゴリカル分布と書く。

結論としては、多項分布のn=1の特殊な場合がカテゴリカル分布ですよってこと。以下少しまとめる。

分布を仮定する離散変数をカテゴリと呼ぶとして、

  • 多項分布は、n回試行したときに各カテゴリが何回出るかを表す確率分布
  • 多項分布は、二項分布を多カテゴリに一般化したもの
  • カテゴリカル分布は、多項分布のn=1の場合に相当する
  • カテゴリカル分布は、ベルヌーイ分布を多カテゴリに一般化したもの

以上

nokunoさんによるこの記事→ 多項分布の最尤推定 は、多項分布というよりカテゴリカル分布の話。本文には書いてあるけどね。あと最尤推定の結果はどちらにしろ同じなんだけどね

導出メモ

一応最尤推定をやってみる。前回のナイーブベイズのメモの時は省略したので。入力の変数を Y=ynn=1N とする。

カテゴリカル分布

p(l)=πl,l=1Lπl=1

ここで、πlがパラメータ、lはカテゴリの番号

最尤推定

尤度関数を立てて、最大化することでパラメータを求める。各データは独立に生起すると仮定すると、尤度関数は以下のようになる。

L(Y;θ)=n=1Nπyn

θはパラメータの集合ということで。

ラベルlの出現回数をNl=n=1Nδ(yn=l)とすると、次のように書き直せる。

L(Y;θ)=l=1LπlNl

よって、対数尤度は以下のようになる。

logL(Y;θ)=l=1LNllogπl

ラグランジュの未定乗数法で解く

nokunoさんの記事の通りだけど、一応手でも解いたのでメモ

G=l=1LNllogπl+λ[l=1Lπl1)]
として、
Gπl=Nlπl+λ=0

よって、

πl=Nlλ

ここで、以下の制約条件に代入すると、

l=1Lπl=1

λ=Nとなることがわかるので、求めたかったパラメータは以下のようになる

πl=NlN

カテゴリの頻度を計算するだけ、カンタン!!

参考

Ryuichi Yamamoto
Ryuichi Yamamoto
Engineer/Researcher

I am a engineer/researcher passionate about speech synthesis. I love to write code and enjoy open-source collaboration on GitHub. Please feel free to reach out on Twitter and GitHub.