暗黙的に追加される関数
実は、ニューラルネットワークの学習を想定した場合、
暗黙的に追加される関数がある。
それは、入力データ群。
入力データはデータであって関数では無いのだが、
入力データが1個ならばその通り。
ただ、今回の単純パーセプトロンだけで考えても4種類の入力パターンがある。
単純パーセプトロンにやらせようとしているのはANDゲート。
よって、真理値表の4パターンの入力のことになる。
機械学習の学習パターンは大きく3つある。
- 一つずつデータを入れるオンライン学習
- 一括でデータを入れるバッチ学習
- 学習データを小さなグループに分けてから入れるミニバッチ学習
今回の場合は、学習データが4つと少ないため、一括で学習データを入れる方が効率的。
つまりバッチ学習が該当する。
ミニバッチ学習でも一度に複数の学習データを入れる以上、同じ問題にはなるけど。
実際に追加される関数
実際に追加される関数を書き出そう。
こんな形になり、\(X\)という関数が増えるイメージになる。
\(
\begin{eqnarray}
X&=&
\begin{bmatrix}
x_{11}&x_{12}\\
x_{21}&x_{22}\\
x_{31}&x_{32}\\
x_{41}&x_{42}
\end{bmatrix}\\
WX+b&=&
\begin{bmatrix}
x_{11}&x_{12}\\
x_{21}&x_{22}\\
x_{31}&x_{32}\\
x_{41}&x_{42}
\end{bmatrix}
\begin{bmatrix}
w_1\\
w_2
\end{bmatrix}+b=
\begin{bmatrix}
w_1x_{11}+w_2x_{12}+b\\
w_1x_{21}+w_2x_{22}+b\\
w_1x_{31}+w_2x_{32}+b\\
w_1x_{41}+w_2x_{42}+b
\end{bmatrix}
\end{eqnarray}
\)
と言う感じで関数と言われれば確かに関数かも?
ってイメージになる。
実際に演算する場合、
重みで微分すると重みは消えて、入力しか残らないため、
足し算の数が増えるだけになる。
まとめ
- 多変数関数の連鎖律について説明。
- ニューラルネットワークを想定した場合の多変量関数の連鎖律について説明。
- ニューラルネットワークの学習を想定した場合、暗黙的に追加される関数として入力群がある。
MATLAB、Python、Scilab、Julia比較ページはこちら
Pythonで動かして学ぶ!あたらしい線形代数の教科書
ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装
ゼロからはじめるPID制御
OpenCVによる画像処理入門
恋する統計学[回帰分析入門(多変量解析1)] 恋する統計学[記述統計入門]
Pythonによる制御工学入門
理工系のための数学入門 ―微分方程式・ラプラス変換・フーリエ解析
コメント