パーセプトロン
一個だけの
機械学習だと、表現力低いから使い物にならない
クラス分け問題
方法
重み
ベクトル(分ける線に対して90度)とxベクトルの内積の正負が、2つのベクトルが同じ側をむいているかどうかを表す
同じ側を向いていない=
内積が負だったら、重みベクトルをxベクトル+重みベクトルに更新
これを全データーでやる
パーセプトロンの表し方は二種類ある
一つは、上の画像みたいに、Biasをインプットの一つ(値は常に1)にして、その重みがbiasになるというもの
もう一つは、バイアスをパーセプトロンの内部値として持つタイプ
前者の方が多く使われるらしい
AND operatorとかも、パーセプトロンで表現できる↓
↑のみたいなパーセプトロンを組み合わせるとXOR↓が作れる、シンプルなニューラルネットワーク?
なぜなら、
離散値だと少し動かした時に変化が起きないから
シグモイド関数だと、xの値がある程度大きいとgradient(errorに使う値)がほとんど0になってしまう
ReLUは、正の値なら直値をそのまま返す、つまりgradientは1になる
Tanhはもうちょい複雑、でもシグモイド関数より良い感じのgradientを返す