私はPRToolsMATLABライブラリーを使用して、いくつかの分類器をトレーニングし、テストデータを生成し、分類器をテストしています。
私は次の詳細を持っています:
- N:テスト例の総数
- k:各分類器とクラスの誤分類の数
私はやってみたいです:
誤分類の未知の確率(qで示される)のベイズ事後分布を計算してプロットします。つまり、確率密度関数がq自体に対して機能します(したがって、P(q)はqに対して0から1までプロットされます)。
私はそれを持っています(matlabコードではなく数式です!):
Posterior = Likelihood * Prior / Normalization constant =
P(q|k,N) = P(k|q,N) * P(q|N) / P(k|N)
事前確率は1に設定されているため、尤度と正規化定数を計算するだけで済みます。
尤度は次のように表すことができることを私は知っています(ここで、B(N、k)は二項係数です):
P(k|q,N) = B(N,k) * q^k * (1-q)^(N-k)
...したがって、正規化定数は、0から1までの上記の後部の積分にすぎません。
P(k|N) = B(N,k) * integralFromZeroToOne( q^k * (1-q)^(N-k) )
(二項係数(B(N、k))は、尤度定数と正規化定数の両方に表示されるため、省略できます)
さて、正規化定数の積分は一連のように計算できるはずだと聞きました...次のようなものです。
k!(N-k)! / (N+1)!
あれは正しいですか?(このシリーズの講義ノートはいくつかありますが、正規化定数積分用なのか、誤分類(q)の全体的な分布用なのかわかりません)
また、これを実際に計算する方法としてヒントを歓迎しますか?(階乗は簡単に切り捨てエラーを作成しますよね?)...そして、最終的なプロット(0から1までのqの事後分布)を実際に計算する方法。