35. 多クラス分類
出力層 l=L の各ユニット k(=1, …, K)の総入力は、1つ下の層
l = L-1 の出力を元に と与えられる。u
(L)
k (= W(L)
z(L?1)
+ b(L)
)
これを元に、出力層のk番目のユニットの出力を下記のようにする
yk ≡ z
(L)
k =
exp (u
(L)
k )
K
j=1 exp (u
(L)
j )
この関数はソフトマックス関数(softmax function)と呼ばれる。
(2.9)
35
36. なぜソフトマックス関数か?
0 < uk < 11. → 出力が必ず正の数
2. → 和が1
3. の各成分の中で がダントツで大きい
→ はほぼ1で、 の他の成分はほぼ0
u1 + ... + un = 1
l k
uk u
(大前提)非線形関数である
x=(10,2,1)とすると,
y=(0.9995?,0.0003?,0.0001?)
37. 多クラス分類
出力層のユニット の出力 は、
与えられた入力 がクラス に属する確率を表す
k yk(= z
(L)
k )
x Ck
p(Ck|x) = yk = z
(L)
k
入力 をこの確率が最大になるクラスに分類するx
ネットワークの目標出力を、2値の値をK個並べたベクトル
によって表現する。?
の各成分は、対応するクラスが真のクラスであったときのみ
1をとり、それ以外は0をとるように決めます。
dn = dn1...dnK
T
dn
dn = 0010000000
T
(2.10)
37
38. 多クラス分類
事後分布は p(d|x) =
K
k=1 p(Ck|x)dk
訓練データ {(xn, dn}(n = 1, ..., N) に対する w の尤度を下記のように導出
L(w) =
N
n=1 p(dn|xn; w) =
N
n=1
K
k=1 p(Ck|xn)dnk
=
N
n=1
K
k=1(yk(x; w))dnk
これを尤度の対数をとり符号を反転した次を、誤差関数とする。
E(w) = ?
N
n=1
K
k=1 dnk log yk(xn; w)
※この関数は、交差エントロピー(corss entropy)と呼ばれる
(2.11)
38