(第3回)ニューラルネットワークについて
活性化関数では、入力と出力がつながっていましたが、ニューラルネットワークは数層あります。 今回は3層のニューラルネットワークを作成して、入力から出力まで計算します。
<構成>
2次元の入力層から、第1層目(3次元)、第2層目(2次元)、出力層(2次元)の構成のニューラルネットワークです。
<計算式>
各層の伝達の計算は次のとおりになります。入力の総和のaはシグモイド関数で変換を行い、zに出力されています。重みwとバイアスbは、行列の積を行うため、対応する次元の要素数に一致させます。
<入力層→第1層>
実際に計算をします。xとw、bは既知のデータになります。aの出力は、行列の計算を行い、シグモイド変換を行い、第1層目の出力として、zが得られます。
<第1層→第2層>
第1層の出力zとw、bを計算します。第1層と同様に、zを得ます。
<第2層→出力層>
出力層を計算しますが、aは何もせず、zを出力させています。(=恒等関数)
<Pythonで計算>
実際にこの式をPythonで計算すると以下のようになります。
結果は次の通りになります。手で計算した結果と同じ結果を示しています。
単純なニューラルネットワークですが、実際に手で計算して、Pyhtonでも計算してみると、理解が深まります。
-------------