【入門】ユニット数増加【数値計算】

【入門】ユニット数増加【数値計算】 数値計算
【入門】ユニット数増加【数値計算】

MATLAB、Python、Scilab、Julia比較ページはこちら
https://www.simulationroom999.com/blog/comparison-of-matlab-python-scilab/

はじめに

の、

MATLAB,Python,Scilab,Julia比較 第4章 その86【ユニット数増加①】

を書き直したもの。

多層パーセプトロンの誤差逆伝播法を行い、非線形分類を行った。
しかし、実は問題点が・・・。

多層パーセプトロンの非線形分類時に局所最適解にハマってる現象が見られた。
対策としては、隠れ層のユニット数を増やすのが有効。

隠れ層のユニット数を増やすと?

以前、実験した多層パーセプトロンは隠れ層のユニット数が2つだった。
これを増やせば、分類の表現力が上がって、局所最適解にハマりにくくなるはず。

といっても、ハマりにくくなるというより、大域最適解に近い局所最適解が増えると思った方が正しい。

局所最適解にハマるという意味では一緒だが、
分類としては問題無い局所最適解が出てくると思った方が良いだろう。

これに伴い、分類時の決定境界線も複数のパターンが出てくると思われる。

実際のユニット数

実際に試す隠れ層のユニット数を決める必要がある。
元々が2つだったので3つか4つ程度で良いだろう。
ここでは4つとしておく。
構成を図示すると以下になる。

多層パーセプトロン隠れ層4ユニット

少し図が複雑になったので、バイアスや重みの表記は省略している。

理屈上は、これをもっと増やすこともできるし、
入力層、出力層も増やせるから、とてつもなく複雑なこともできるはずってことになる。

そして、順伝播を無理やり行列演算的な表現にする以下になる。

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

プログラム的に調整するところ

今回の修正をプログラムに反映する必要がある。
隠れ層を変えるわけだから、いろんなところが変わりそうな気がするかもしれないが、
MATLABコードでいうところの以下を変更すればOKなはず。

hidden_size = 2; % 隠れ層のユニット数

hidden_size = 4; % 隠れ層のユニット数

もっと逆伝播時の要素数を調整すとか発生するような感じもあるが、
ベクトル、行列で演算が可能なツールや言語だと、そこらへんの辻褄合わせは楽。
要素数がいくつかは影響で無いように組むことが可能。
今回はこの性質の恩恵をバッチリと受けてる状態。

あとは、プログラム上の変更ではないが、結果パターンが複数になることが想定されるので、
それらも確認する必要はある。

まとめ

  • 多層パーセプトロンの隠れ層のユニット数を増やす。
    • 表現力が上がるはず。
    • 局所最適解にハマらないというより大域最適解に近い局所最適解が増えるというイメージ。
  • プログラム上の修正点確認。
    • ベクトル、行列演算ができるため修正範囲は極小。

MATLAB、Python、Scilab、Julia比較ページはこちら

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

Amazon.co.jp: Pythonで動かして学ぶ!あたらしい線形代数の教科書 eBook : かくあき: Kindleストア
Amazon.co.jp: Pythonで動かして学ぶ!あたらしい線形代数の教科書 eBook : かくあき: Kindleストア

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

ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装 | 斎藤 康毅 |本 | 通販 | Amazon
Amazonで斎藤 康毅のゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装。アマゾンならポイント還元本が多数。斎藤 康毅作品ほか、お急ぎ便対象商品は当日お届けも可能。またゼロから作るDeep Lea...

ゼロからはじめるPID制御

ゼロからはじめるPID制御 | 熊谷 英樹 |本 | 通販 | Amazon
Amazonで熊谷 英樹のゼロからはじめるPID制御。アマゾンならポイント還元本が多数。熊谷 英樹作品ほか、お急ぎ便対象商品は当日お届けも可能。またゼロからはじめるPID制御もアマゾン配送商品なら通常配送無料。

OpenCVによる画像処理入門

OpenCVによる画像処理入門 改訂第3版 (KS情報科学専門書) | 小枝 正直, 上田 悦子, 中村 恭之 |本 | 通販 | Amazon
Amazonで小枝 正直, 上田 悦子, 中村 恭之のOpenCVによる画像処理入門 改訂第3版 (KS情報科学専門書)。アマゾンならポイント還元本が多数。小枝 正直, 上田 悦子, 中村 恭之作品ほか、お急ぎ便対象商品は当日お届けも可能。...

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

恋する統計学[回帰分析入門(多変量解析1)] 恋する統計学[記述統計入門] | 金城俊哉 | 数学 | Kindleストア | Amazon
Amazonで金城俊哉の恋する統計学 恋する統計学。アマゾンならポイント還元本が多数。一度購入いただいた電子書籍は、KindleおよびFire端末、スマートフォンやタブレットなど、様々な端末でもお楽しみいただけます。

Pythonによる制御工学入門

Amazon.co.jp

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

Amazon.co.jp

コメント

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