takahiro_itazuriの公倍数的ブログ

本やWebを通して学習したことをまとめるブログです。最大公約数(つまり、共通部分)的なという表現と対比して、「なるべく包括的にカバーしつつ、更に+αの要素も加えられたらいいな」という意味で公倍数的ブログと名付けました。

【ML基礎】ベイズ識別法

ベイズ識別法(Bayes discriminant method)

クラス分類問題において、クラス$c'$から発生したデータ$x$を間違ってクラス$c$に属していると判断したときの損失を考える。この損失関数を$l(c,c')$で表すと、データ$x$に対する損失の期待値は以下のようになる。
\begin{align}
L(c|x)=\sum_{c' \in C} l(c, c') P(c' | x)
\end{align}
この損失を最小化する$c$が$x$の属するクラスであると決定する方法をベイズ識別法と呼ぶ。

事後確率最大

ベイズの定理(Bayes theorem)は、事前確率$P(c)$、条件付確率$p(x|c)$、確率分布$p(x)$、事後確率$P(c|x)$を用いて、以下のようになる。
\begin{align}
P(c|x)=\frac{p(x|c)P(c)}{p(x)}
\end{align}
ここで損失関数$l(c,c')$として0-1損失
\begin{align}
l(c,c')=
\begin{cases}
0 & (c=c') \\
1 & (c \neq c') \\
\end{cases}
\end{align}
を仮定すると、損失$L(c|x)$は以下のようになる。
\begin{align}
L(c|x)=1-P(c|x)
\end{align}
損失$L(c|x)$を最小化することは、第二項の事後確率$P(c|x)$を最大化することに等しい。

また、データを得る確率分布$p(x)$は、クラスに影響を受けないことから、クラスを予測する式は以下のようになる。
\begin{align}
\hat{c}=\mathop{\rm arg~max}\limits_{c \in C} p(x|c) P(c)
\end{align}
対数関数が単調増加であることを利用すると、以下のようになる。
\begin{align}
\hat{c}=\mathop{\rm arg~max}\limits_{c \in C} (\log{p(x|c)} + \log{P(c)})
\end{align}

識別関数法(discriminant function method)

各クラス$c_i$に対して、関数$g_i(x)$を用意し、以下の式でクラスを推定する方法を識別関数法という。
\begin{align}
\hat{c} = \mathop{\rm arg~max}\limits_{c_i \in C} g_i(x)
\end{align}

事後確率最大においては、識別関数として
\begin{align}
g_i(x) = \log{p(x|c)} + \log{P(c)}
\end{align}
を用いた識別関数法であることがわかる。