メインカテゴリーを選択しなおす
MATLAB,Python,Scilab,Julia比較 第4章 その80【誤差逆伝播法⑦】
多層パーセプトロンによる分類をMATLABで実施。 一応ちゃんと分類できた。
MATLAB,Python,Scilab,Julia比較 第4章 その81【誤差逆伝播法⑧】
多層パーセプトロンによる分類をPythonで実施。 一応ちゃんと分類できた。
MATLAB,Python,Scilab,Julia比較 第4章 その82【誤差逆伝播法⑨】
多層パーセプトロンによる分類をScilabで実施。 一応ちゃんと分類できた。 等高線による分類表記がうまく行かなかったため、境界線をplotしている。
MATLAB,Python,Scilab,Julia比較 第4章 その83【誤差逆伝播法⑩】
多層パーセプトロンによる分類をJuliaで実施。 一応ちゃんと分類できた。
多層パーセプトロンによる分類をScilabで実施。 一応ちゃんと分類できた。 等高線による分類表記がうまく行かなかったため、境界線をplotしている。
MATLAB,Python,Scilab,Julia比較 第5章 その28【三角関数の直交性③】
sin関数同士の直交性を確認。 sin同士の積和公式の定積分を元に解いていく。 最終的にはsinが0になるので、内積の結果も0となる。 結果としてsin関数同士は直交していることになる。
MATLAB,Python,Scilab,Julia比較 第4章 その84【非線形分類の問題点①】
非線形分類をしたが実は問題が発生している。 20%くらいの確率で分類ができない。 原因がわかるように誤差関数の推移や決定境界線の推移のアニメーションを見てみる予定。
MATLAB,Python,Scilab,Julia比較 第4章 その85【非線形分類の問題点②】
非線形分類が失敗する原因を特定するため決定境界線と誤差関数の推移をモニタ。 案の定、局所最適解にハマってる。 つまりエポック数を増やしても対策にはならない。 隠れ層のユニット数を増やす、最適化アルゴリズムを使用するのが対策案。
非線形分類をしたが実は問題が発生している。 非線形分類が失敗する原因を特定するため決定境界線と誤差関数の推移をモニタ。 案の定、局所最適解にハマってる。 つまりエポック数を増やしても対策にはならない。 隠れ層のユニット数を増やす、最適化アルゴリズムを使用するのが対策案。
MATLAB,Python,Scilab,Julia比較 第4章 その86【ユニット数増加①】
多層パーセプトロンの隠れ層のユニット数を増やす。 表現力が上がるはず。 局所最適解にハマらないというより大域最適解に近い局所最適解が増えるというイメージ。 プログラム上の修正点確認。 ベクトル、行列演算ができるため修正範囲は極小。
多層パーセプトロンの隠れ層のユニット数を増やす。 表現力が上がるはず。 局所最適解にハマらないというより大域最適解に近い局所最適解が増えるというイメージ。 プログラム上の修正点確認。 ベクトル、行列演算ができるため修正範囲は極小。
MATLAB,Python,Scilab,Julia比較 第5章 その27【三角関数の直交性②】
sinとcosの内積と畳み込み積分を考える。 奇関数、偶関数の特性より、sin、cosの畳み込み積分は0となる。 畳み込み積分が0ということは内積も0になる。 内積が0ということは直交しているということになる。
MATLAB,Python,Scilab,Julia比較 第4章 その87【ユニット数増加②】
多層パーセプトロンの隠れ層のユニット数を2から4に変えたMATLABコードで分類を実施。 大きく2パターンの分類パターンがある やや複雑な分類パターンが4ユニットにすることで出てきたもの。
MATLAB,Python,Scilab,Julia比較 第4章 その88【ユニット数増加③】
多層パーセプトロンの隠れ層のユニット数を2から4に変えたPythonコードで分類を実施。 大きく2パターンの分類パターンがある。 やや複雑な分類パターンが4ユニットにすることで出てきたもの。
MATLAB,Python,Scilab,Julia比較 第4章 その89【ユニット数増加④】
多層パーセプトロンの隠れ層のユニット数を2から4に変えたScilabコードで分類を実施。 大きく2パターンの分類パターンがある。 やや複雑な分類パターンが4ユニットにすることで出てきたもの。
MATLAB,Python,Scilab,Julia比較 第4章 その90【ユニット数増加⑤】
多層パーセプトロンの隠れ層のユニット数を2から4に変えたJuliaコードで分類を実施。 大きく2パターンの分類パターンがある。 やや複雑な分類パターンが4ユニットにすることで出てきたもの。
多層パーセプトロンの隠れ層のユニット数を2から4に変えたMATLABコードで分類を実施。 大きく2パターンの分類パターン やや複雑な分類パターンが4ユニットにすることで出てきたもの。
多層パーセプトロンの隠れ層のユニット数を2から4に変えたPythonコードで分類を実施。 大きく2パターンの分類パタ やや複雑な分類パターンが4ユニットにすることで出てきたもの。
MATLAB,Python,Scilab,Julia比較 第5章 その26【三角関数の直交性①】
直交性とは2つのベクトルが垂直に交わることを指す。 直交しているベクトルの内積は必ず0になる。 cos関数の影響。 成分表記の内積でも0になることを確認。
多層パーセプトロンの隠れ層のユニット数を2から4に変えたScilabコードで分類を実施。 大きく2パターンの分類パターンがある。 やや複雑な分類パターンが4ユニットにすることで出てきたもの。
多層パーセプトロンの隠れ層のユニット数を2から4に変えたJuliaコードで分類を実施。 大きく2パターンの分類パターンがある。 やや複雑な分類パターンが4ユニットにすることで出てきたもの。
MATLAB,Python,Scilab,Julia比較 第4章 その91【モーメンタム①】
最適化アルゴリズムを取り扱う。 今回のネットワークだとさほど恩恵はないが知っていて損はない。 まずはモーメンタムから解説&実験をしてい 最初は復習を兼ねて勾配降下法についても確認する。
MATLAB,Python,Scilab,Julia比較 第4章 その92【モーメンタム②】
今回改めてまじめに更新式を確認。 勾配降下法の更新式が一番シンプルなので今後の最適化アルゴリズムの更新式を見る際は比較対象になりやすい。
MATLAB,Python,Scilab,Julia比較 第5章 その25【重要な極限値③】
はさみうちの原理について説明。 sinc関数について説明&MATLABでプロットしてみた。(Pythonコードも)
MATLAB,Python,Scilab,Julia比較 第4章 その93【モーメンタム③】
勾配降下法の動作イメージを確認。 学習率が大きい場合と小さい場合で挙動が変わる。 ちょうど良い学習率を人間の手で探す。 これにより、一般的なパラメータとは異なるハイパーパラメータというカテゴリになる。
MATLAB,Python,Scilab,Julia比較 第4章 その94【モーメンタム④】
モーメンタムの更新式について確認。 指数移動平均を利用して直近の値を重視する。 実際の指数移動平均とは異なっているので、その点は注意。
MATLAB,Python,Scilab,Julia比較 第4章 その95【モーメンタム⑤】
モーメンタムの動作イメージについて確認。 動作イメージの表現は難しい。 最初は大きく更新して、最適解が近いと小さく更新。 勾配降下法で言うところの学習率が可変と同義な動きになる。
MATLAB,Python,Scilab,Julia比較 第4章 その96【モーメンタム⑥】
モーメンタムを確認するプログラムの方針を確認。 以前の勾配降下法のプログラムをベースにする。 隠れ層のユニット数は4。 プログラムのフローを確認。 モーメンタム項とパラメータ更新が基本的な差分となる。
最適化アルゴリズムを取り扱う。 今回のネットワークだとさほど恩恵はないが知っていて損はない。 まずはモーメンタムから解説&実験をしていく。 最初は復習を兼ねて勾配降下法についても確認する。
勾配降下法の更新式を確認。 勾配降下法の動作イメージを確認。 学習率が大きい場合と小さい場合で挙動が変わる。 ちょうど良い学習率を人間の手で探す。 これにより、一般的なパラメータとは異なるハイパーパラメータというカテゴリになる。
MATLAB,Python,Scilab,Julia比較 第5章 その24【重要な極限値②】
円に接する三角形と扇形の面積の不等式を最適化。 いろいろ弄っていくと、はさみうちの原理により1が求められる。
モーメンタムの更新式について確認。 指数移動平均を利用して直近の値を重視する。 モーメンタムの動作イメージについて確認。 最初は大きく更新して、最適解が近いと小さく更新。 勾配降下法で言うところの学習率が可変と同義な動きになる。
モーメンタムを確認するプログラムの方針を確認。 以前の勾配降下法のプログラムをベースにする。 隠れ層のユニット数は4。 プログラムのフローを確認。 モーメンタム項とパラメータ更新が基本的な差分となる。
MATLAB,Python,Scilab,Julia比較 第4章 その97【モーメンタム⑦】
最適化アルゴリズム モーメンタムを用いて分類の学習をMATLABで実現。 問題無く動作。 学習の収束が通常の勾配降下法よりも比較的早い。
MATLAB,Python,Scilab,Julia比較 第4章 その98【モーメンタム⑧】
最適化アルゴリズム モーメンタムを用いて分類の学習をPythonで実現。 問題無く動作。 学習の収束が通常の勾配降下法よりも比較的早い。
MATLAB,Python,Scilab,Julia比較 第4章 その99【モーメンタム⑨】
最適化アルゴリズム モーメンタムを用いて分類の学習をScilabで実現。 問題無く動作。 学習の収束が通常の勾配降下法よりも比較的早い。
MATLAB,Python,Scilab,Julia比較 第5章 その23【重要な極限値①】
重要な極限値について説明。 sin(x)/xのxを0に近づける極限値。 まずは円に接する三角形と扇形に着目する。 これが先ほどの極限値にどうつながるかは次回。
MATLAB,Python,Scilab,Julia比較 第4章 その99【モーメンタム⑨】
最適化アルゴリズム モーメンタムを用いて分類の学習をScilabで実現。 問題無く動作。 学習の収束が通常の勾配降下法よりも比較的早い。
MATLAB,Python,Scilab,Julia比較 第4章 その100【モーメンタム⑩】
最適化アルゴリズム モーメンタムを用いて分類の学習をJuliaで実現。 問題無く動作。 学習の収束が通常の勾配降下法よりも比較的早い。
MATLAB,Python,Scilab,Julia比較 第4章 その101【モーメンタム⑪】
最適化アルゴリズムを通常の勾配降下法からモーメンタムに変えた際の差分を確認。 モーメンタムの方が学習の収束が早い。 勾配降下法で500エポックのところ100エポック。 モーメンタムの場合、初期のパラメータ移動が大き目。 これにより、大域最適化を見つける可能性が高くなる。
最適化アルゴリズム モーメンタムを用いて分類の学習をMATLABで実現。 問題無く動作。 学習の収束が通常の勾配降下法よりも比較的早い。
最適化アルゴリズム モーメンタムを用いて分類の学習をPythonで実現。 問題無く動作。 学習の収束が通常の勾配降下法よりも比較的早い。
最適化アルゴリズム モーメンタムを用いて分類の学習をScilabで実現。 問題無く動作。 学習の収束が通常の勾配降下法よりも比較的早い。
MATLAB,Python,Scilab,Julia比較 第5章 その22【三角関数積和公式②】
sin,sinの積和公式を導出。 積和公式をフーリエ係数に向けて変形。 α,βをαx,βxにするだけ。
最適化アルゴリズム モーメンタムを用いて分類の学習をJuliaで実現。 問題無く動作。 学習の収束が通常の勾配降下法よりも比較的早い。
最適化アルゴリズムを通常の勾配降下法からモーメンタムに変えた際の差分を確認。 モーメンタムの方が学習の収束が早い。 勾配降下法で500エポックのところ100エポック。 モーメンタムの場合、初期のパラメータ移動が大き目。 これにより、大域最適化を見つける可能性が高くなる。
MATLAB,Python,Scilab,Julia比較 第4章 その102【最適化アルゴリズム①】
もう一個試す予定の最適化アルゴリズムへ至る系譜を説明予定。 プログラム化して試すのはAdamだが、それに至るアルゴリズムを数式レベルで確認。 Adam以降の最適化アルゴリズムもあるが、基本はAdamベースでクリッピングが入ってる感じ。