プログラム化に向けて
だいたい理屈の部分はやった感じなので、
これからプログラム化に向けての話になる。
今回も処理のフローを書いておこう。
と言っても、前回の逆伝播のフローとおおよそ一緒。
- データセットの定義
- ハイパーパラメータの設定
- 学習率
- エポック数
- パラメータの初期値、
- シグモイド関数の導関数の定義
- 順伝播
- 誤差計測
- 逆伝播
- バイアスの逆伝播
- 重みの逆伝播
- パラメータの更新
- 重みの変化の経緯をplot
例によって、順伝播、逆伝播、パラメータの更新で1セットで何回もループする。
これは前回の逆伝播と一緒。
差分はパラメータの初期値がランダムになったこととと、
バイアスも加味して学習するという点。
どんな感じに動くのか
さて、プログラムとして実現できそうってことはわかったが、
結局どんな感じの学習になるのかがイメージが沸きにくい。
よって、ここは決定境界線の位置を学習回数(エポック)が進むとどうなるかを見てみよう。
こんな感じで、経緯が見れるようにしておくと面白いかもしれない。
ただし、今回作成するプログラムでは特にアニメーションはさせない。
まとめ
- 単純パーセプトロンの構造について復習。
- 逆伝播の復習。
- 重みとバイアスの連鎖律の最適化。
- 単純パーセプトロンで分類のプログラムのフローを確認。
- 学習が進むと決定境界線がどのように動くか確認。
MATLAB、Python、Scilab、Julia比較ページはこちら
Pythonで動かして学ぶ!あたらしい線形代数の教科書
Amazon.co.jp
ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装
Amazon.co.jp
ゼロからはじめるPID制御
https://amzn.to/3SvzuyR
OpenCVによる画像処理入門
https://amzn.to/498ZUgK
恋する統計学[回帰分析入門(多変量解析1)] 恋する統計学[記述統計入門]
Amazon.co.jp
Pythonによる制御工学入門
Amazon.co.jp
理工系のための数学入門 ―微分方程式・ラプラス変換・フーリエ解析
https://amzn.to/3UAunQK
コメント