【入門】非線形分類の問題点【数値計算】

【入門】非線形分類の問題点【数値計算】 数値計算
【入門】非線形分類の問題点【数値計算】

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

はじめに

の、

MATLAB,Python,Scilab,Julia比較 第4章 その84【非線形分類の問題点①】
MATLAB,Python,Scilab,Julia比較 第4章 その85【非線形分類の問題点②】

を書き直したもの。

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

問題の原因を特定するため多層パーセプトロンの非線形分類時の、
誤差関数の推移、決定境界線の推移を確認する。

非線形分類時の問題

多層パーセプトロンことニューラルネットワークでの非線形分類もバッチリな感じ。

のように見える。

実は現状の多層パーセプトロンだと一定の確率、およそ20%くらいで分類が失敗する。
ここは分類の成功パターンと失敗パターンを見てもらった方が早い。

非線形分類の成功パターン

まずは成功パターン

非線形分類成功パターン

これは前回までで見てきたパターン。
かなり理想的に分類できていると言って良いだろう。

非線形分類の失敗パターン

そして、問題の失敗パターンはこれになる。

非線形分類失敗パターン

つまり分類ができていない。
これが一定の割合で発生する。

発生すると言っても何が原因かわからないと対策の打ちようがない。

が、
ある程度推測はできるし、一般的な対策方法もあるから、
それを試してみるというのもあり。
この一般的な対策をすぐにやってしまうというのも良いが、
折角なので、その前にもう少し状況をモニタしたい。

失敗パターンのモニタ方法

モニタの方法だが、
シンプルなのは誤差関数の収束度合いの確認。
確認のポイントは以下になる、

  • 最小値になっているか。
  • 収束しているか、振動しているか。

最小値且つ収束になっていなければ、局所最適解にハマってるってことになる。
振動しているようであれば、学習の回数であるエポック数が足りないとかになる。
(今回の場合だと局所最適解にハマってるパターンだと思うけど。)

あとは、決定境界線の推移をアニメーションで見れるようしておくと分かり易いかもしれない。

次のページへ

次のページから分類時の推移を見てみる。

コメント

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