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

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

バックナンバーはこちら。
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

単純パーセプトロンの構造

フクさん
フクさん

前回までで、逆伝播の話が終わった。

太郎くん
太郎くん

重みに着目しただけだから、
実際の逆伝播はもう少し複雑になるだろうな・・・。

フクさん
フクさん

以前も説明したと思うが、
単純パーセプトロンの本来の活性化関数はヘヴィサイド関数。
構造としては以下のようになる。

単純パーセプトロンの本来の構造
太郎くん
太郎くん

活性化関数がヘヴィサイド関数だと、勾配が無いから、
逆伝播が効かないんだよね。

フクさん
フクさん

そうそう。
そこで、活性化関数をシグモイド関数に差し替えたものを
今回の単純パーセプトロンとしている。

今回の単純パーセプトロンの構造
太郎くん
太郎くん

これで逆伝播が効くようになるわけだ。

フクさん
フクさん

本来の単純パーセプトロンは逆伝播による学習はしないが、
逆伝播の最もシンプルな挙動をみるには単純パーセプトロンくらいシンプルな構造な方が見やすいので、
無理やり採用してる感じだな。

太郎くん
太郎くん

逆伝播は本来だと誤差逆伝播法が正式名称だけど、
単純パーセプトロンに使用される用語ではないところから、
意図的に「逆伝播」って言い方にしたんだよね。

逆伝播の復習

フクさん
フクさん

逆伝播の復習をしておこう。

重みの逆伝播

\(
\begin{eqnarray}
\displaystyle\frac{\partial E}{\partial W}&=&\frac{\partial E}{\partial A}\frac{\partial A}{\partial Z}\frac{\partial Z}{\partial W}\\
&=&(A-Y)\cdot\sigma(Z)\{1-\sigma(Z)\}\cdot X
\end{eqnarray}
\)

バイアスの逆伝播

\(
\begin{eqnarray}
\displaystyle\frac{\partial E}{\partial b}&=&\frac{\partial E}{\partial A}\frac{\partial A}{\partial Z}\frac{\partial Z}{\partial b}\\
&=&(A-Y)\cdot\sigma(Z)\{1-\sigma(Z)\}\cdot 1\\
&=&(A-Y)\cdot\sigma(Z)\{1-\sigma(Z)\}
\end{eqnarray}
\)

太郎くん
太郎くん

こうしてみると、重みとバイアスの逆伝播って途中まで一緒なんだな。

フクさん
フクさん

その着眼点は良いね。
つまり、プログラム化する際に表現の最適化が可能。
次回はその点について掘り下げる。

太郎くん
太郎くん

(なんかやぶ蛇感が・・・。)

まとめ

フクさん
フクさん

まとめだよ。

  • 単純パーセプトロンの構造について復習。
    • 今回扱うのは活性化関数をシグモイド関数に差し替えたもの。
  • 逆伝播の復習。
    • 重みとバイアスの逆伝播は途中まで一緒。
    • よって表現の最適化が可能。

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

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をコピーしました