generated at
パーセプトロン
一個だけの機械学習だと、表現力低いから使い物にならない
線形分離可能じゃないといけない
クラス分け問題

方法
重みベクトル(分ける線に対して90度)とxベクトルの内積の正負が、2つのベクトルが同じ側をむいているかどうかを表す
同じ側を向いていない=内積が負だったら、重みベクトルをxベクトル+重みベクトルに更新
これを全データーでやる

-

パーセプトロンの表し方は二種類ある
一つは、上の画像みたいに、Biasをインプットの一つ(値は常に1)にして、その重みがbiasになるというもの
もう一つは、バイアスをパーセプトロンの内部値として持つタイプ
前者の方が多く使われるらしい


AND operatorとかも、パーセプトロンで表現できる↓

↑のみたいなパーセプトロンを組み合わせるとXOR↓が作れる、シンプルなニューラルネットワーク?


シグモイド関数とかを使って、出力を連続値にしないといけない
なぜなら、離散値だと少し動かした時に変化が起きないから
Loss Functionと同じ

シグモイド関数だと、xの値がある程度大きいとgradient(errorに使う値)がほとんど0になってしまう
その対策として、ReLUとか、Tanhとかの他の関数を使うこともある
ReLUは、正の値なら直値をそのまま返す、つまりgradientは1になる
Tanhはもうちょい複雑、でもシグモイド関数より良い感じのgradientを返す