単純パーセプトロンを理解する上ので基本的な知識
前提
単純パーセプトロンは線形分類器(二値分類器)の一つで、関数は以下の通りとなります。
f(x) = w^Tx + b \\
w \in R^{m-1} 重みベクトル \\
b \in R バイアス項 \\
f(x)は1または-1を返す関数
ただし、以下簡単の為に、wを1次元拡張しその中にbが定数1となるように入れ、下記のように変換します。
f(x) = w^Tx \\
w \in R^m 重みベクトル
勾配降下法
目的関数 L(w) = \sum_il(x^{(i)}, y^{(i)}, w^{(i)}) \\
l(x^{(i)}, y^{(i)}, w^{(i)})の部分はアルゴリズムによって変わってくる
勾配降下法では重みを以下の式を用いて更新する \\
w^{(t+1)} = w^{(t)} - \eta^{(t)}\Delta L(w)
確率的勾配降下法
確率的勾配降下法では重みを以下の式を用いて更新する \\
w^{(t+1)} = w^{(t)} - \eta^{(t)} \Delta l(x^{(i)}, y^{(i)}, w^{(i)})
単純パーセプトロンの目的関数
l(x^{(i)}, y^{(i)}, w^{(i)}) = max(-y^{(i)}w^{(i)}x^{(i)}, 0)\\
maxは引数の内大きい方を返す関数\\
上記のyの前に-
が付いているのですが、以下の表を見れば納得するのではないでしょうか?
正解かどうか | y | wx | −ywx | 目的関数の値 |
---|---|---|---|---|
正解 | 1 | wx > 0 | −ywx < 0 | 0 |
正解 | 1 | wx > 0 | −ywx < 0 | 0 |
不正解 | -1 | wx < 0 | −ywx > 0 | −ywx |
不正解 | -1 | wx < 0 | −ywx > 0 | −ywx |
重みの更新式
\Delta l(x^{(i)}, y^{(i)}, w^{(i)}) = \Delta max(-y^{(i)}w^{(i)}x^{(i)}, 0) \\
重みwの更新は \\
w^{(t+1)} = w^{(t)} - \eta^{(t)} \Delta max(-y^{(i)}w^{(i)}x^{(i)}, 0) \\
\Delta max(-y^{(i)}w^{(i)}x^{(i)}, 0)は本書より以下の通りとなる\\
\\.
y^{(i)}w^{(i)}x^{(i)} > 0の時 \\
w^{(t+1)} = w^{(t)} + (y^{(t)}x^{(t)})\\
その他\\
w^{(t+1)} = w^{(t)}