MATLAB,Python,Scilab,Julia比較 第4章 その67【単純パーセプトロンで分類③】

MATLAB,Python,Scilab,Julia比較 第4章 その67【単純パーセプトロンで分類③】 数値計算
MATLAB,Python,Scilab,Julia比較 第4章 その67【単純パーセプトロンで分類③】

バックナンバーはこちら。
https://www.simulationroom999.com/blog/compare-matlabpythonscilabjulia4-backnumber/

はじめに

単純パーセプトロンで分類を行う。
逆伝播の復習を行いつつ、分類の方法を考える。
今回はプログラム化に向けての話

登場人物

博識フクロウのフクさん

指差しフクロウ

イラストACにて公開の「kino_k」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=iKciwKA9&area=1

エンジニア歴8年の太郎くん

技術者太郎

イラストACにて公開の「しのみ」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=uCKphAW2&area=1

プログラム化に向けて

太郎くん
太郎くん

だいたい理屈の部分はやった感じだから、
これからプログラム化かな。

フクさん
フクさん

そうだね。
今回も処理のフローを書いておこう。
と言っても、前回の逆伝播のフローとおおよそ一緒だけどね。

  • データセットの定義
  • ハイパーパラメータの設定
    • 学習率
    • エポック数
  • パラメータの初期値、
  • シグモイド関数の導関数の定義
  • 順伝播
    • 誤差計測
  • 逆伝播
    • バイアスの逆伝播
    • 重みの逆伝播
  • パラメータの更新
  • 重みの変化の経緯をplot
フクさん
フクさん

例によって、順伝播、逆伝播、パラメータの更新で1セットで何回もループする。

太郎くん
太郎くん

前回もそんな感じだったね。

フクさん
フクさん

差分はパラメータの初期値がランダムになったこととと、
バイアスも加味して学習するという点かな。

どんな感じに動くのか

太郎くん
太郎くん

プログラムとして実現できそうってことはわかったけど、
結局どんな感じの学習になるのかな?

フクさん
フクさん

ここは決定境界線の位置を学習回数(エポック)が進むとどうなるかを見てみよう。

単純パーセプトロンの決定境界線の位置の動画
太郎くん
太郎くん

これは面白い動きだね。
最初は全然違うところにあるのが、徐々に適正な境界線に落ち着くって感じか。

フクさん
フクさん

こんな感じで、経緯が見れるようにしておくと面白いよね。
まぁ、今回作成するプログラムではアニメーションまではしないけど、
こんな感じに動いているというイメージは持っておいた方が良いかな。

まとめ

フクさん
フクさん

まとめだよ。

  • 単純パーセプトロンで分類のプログラムのフローを確認。
    • 逆伝播の実験のときと流れは一緒。
  • 学習が進むと決定境界線がどのように動くか確認。

バックナンバーはこちら。

Pythonで動かして学ぶ!あたらしい線形代数の教科書

https://amzn.to/3OE5bVp

ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装

https://amzn.to/3OBiaax

ゼロからはじめるPID制御

https://amzn.to/3SvzuyR

OpenCVによる画像処理入門

https://amzn.to/498ZUgK

恋する統計学[回帰分析入門(多変量解析1)] 恋する統計学[記述統計入門]

https://amzn.to/3STAe2i

Pythonによる制御工学入門

https://amzn.to/3uskuK5

理工系のための数学入門 ―微分方程式・ラプラス変換・フーリエ解析

https://amzn.to/3UAunQK

コメント

タイトルとURLをコピーしました