MATLAB,Python,Scilab,Julia比較 第4章 その73【非線形分類②】

MATLAB,Python,Scilab,Julia比較 第4章 その73【非線形分類②】 数値計算
MATLAB,Python,Scilab,Julia比較 第4章 その73【非線形分類②】

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

非線形分類を実現

太郎くん
太郎くん

で、前回の疑問である、非線形分類を実現方法をどうするかってところかな。

フクさん
フクさん

多層パーセプトロンを使用する。

太郎くん
太郎くん

多層パーセプトロン?
名前的には単純パーセプトロンを複数にした感じ?

フクさん
フクさん

そうだね。
まぁ、「複数にする」という考え方には、並列にするか直列にするかという話があるけど。

太郎くん
太郎くん

で、どっちになるの?

フクさん
フクさん

両方だな。

太郎くん
太郎くん

(なんか一気に難易度が上がるような・・・。)

多層パーセプトロン

フクさん
フクさん

とりあえず、単純パーセプトロンと多層パーセプトロンの構造的な違いを確認しておこう。

太郎くん
太郎くん

まぁ、差分を知るのが一番手っ取り早そうだよね。

フクさん
フクさん

まずは単純パーセプトロン

単純パーセプトロンの構成図、入力層、出力層、1、x1、x2、b、w1、w2、σ、y
フクさん
フクさん

そして、これをベクトル演算で表現するとこんな感じ。

\(
y=\sigma\bigg(
\begin{bmatrix}
w_1&w_2&b
\end{bmatrix}
\begin{bmatrix}
x_1\\x_2\\1
\end{bmatrix}
\bigg)
\)

太郎くん
太郎くん

活性化関数の話はあるけど、基本的には単なる内積なんだよね。

フクさん
フクさん

そして、多層パーセプトロン

多層パーセプトロンの構成図、入力層、隠れ層、出力層、1、x1、x2、b1、w111、w112、w121、w122、w211、w212、b2、h1、h2、σ、y
フクさん
フクさん

これも行列演算で表現してみよう。

\(
y=
\sigma\Bigg(
\begin{bmatrix}
w_{211}&w_{212}&b_2
\end{bmatrix}
\begin{bmatrix}
\sigma\bigg(
\begin{bmatrix}
w_{111}&w_{112}&b_1\\
w_{121}&w_{122}&b_1
\end{bmatrix}
\bigg)
\begin{bmatrix}
x_1\\
x_2\\
1
\end{bmatrix}\\
1
\end{bmatrix}
\Bigg)
\)

太郎くん
太郎くん

なんかやべぇことになってんな・・・。

フクさん
フクさん

まぁ、一般的にはこういう書き方はしないな。
無理やり書くとこんな感じって程度だ。

フクさん
フクさん

ちなみに多層パーセプトロンはニューラルネットワークとも言う。

太郎くん
太郎くん

あ、これがニューラルネットワークになるのか!
なんかテンションあがる!

フクさん
フクさん

最も原始的なニューラルネットワークだけどね。

まとめ

フクさん
フクさん

まとめだよ。

  • 非線形分類するにはパーセプトロンを複数使う。
    • つまり多層パーセプトロンにする。
  • 単純パーセプトロン、多層パーセプトロンの構造と数式を説明。

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

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

https://amzn.to/3OE5bVp

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

https://amzn.to/3OBiaax

ゼロからはじめるPID制御

https://amzn.to/3SvzuyR

OpenCVによる画像処理入門

OpenCVによる画像処理入門 改訂第3版 (KS情報科学専門書)
◆◆3言語(C言語、C++、Python)対応で、「画像処理の基本」が身につくと、大好評のテキストの改訂版!◆◆ ・OpenCV4.5に対応し、さらにパワーアップ! ・基本アルゴリズムとサンプルプログラムが豊富で、いますぐできる! ・理論と...

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

https://amzn.to/3STAe2i

Pythonによる制御工学入門

https://amzn.to/3uskuK5

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

https://amzn.to/3UAunQK

コメント

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