パーセプトロンプログラムの理解 その1
前回のあらすじ
なぜ4層以上がDeep Learningなのかをふわっと理解。
やったこと
パーセプトロンの実装例のプログラムを読む
ここのパーセプトロンの実装プログラム(Perceptron.java)を読んでいきます。
Java DeepLearning4j 基本的な利用方法|軽Lab
入力と出力から見るにOR演算のプログラムらしい。
活性化関数にシグモイド関数を…、ん、「シグモイド関数」ってなんだ。
シグモイド関数
次のような関数をシグモイド関数と呼ぶらしい。
え、高校数学の範囲なの…?
eってなんだっけ…(自然対数久しぶりに思い出しました)
気をとりなおして…
シグモイド関数とは、任意の実数を0~1にする関数。
誤差関数MSEとは
誤差関数には
を使う…?
MSE(mean square error)は平均二乗誤差を意味するらしい。
平均二乗誤差、昔に勉強したような…
助けてgoogle先生。
いくつか、見てみましたがこの説明が一番ピンときました。
そもそも、誤差ってなんだっけからわかりやすく説明されていました。
http://012.o.oo7.jp/2016hyoujyunhensa_heikinjijyougosa.pdf
測定値と真値の差を二乗することで、その測定値の正確さを示す指標を求めるということなのだろうか。
とすると誤差関数としては適当に思える。
まだ、少しもやもやするが、このあたりは別途調べるとしよう。
いろいろと過去の不勉強が一度に襲い掛かってきている。 が、プログラム全体の理解までもう少し。
今後の予定
・プログラミングのための線形代数を読む
・サンプルプログラム(Perceptron/LenetMnistExample)を読む
・Mavenのpomの読み方