単純パーセプトロンの分類をJuliaで実施。 想定通り分類可能。 おおよそ200エポックあれば分類可能。
シミュレーションで実物を扱わなくても仕事ができる環境を目指す。つまり家に引きこもって外に出なくてもOKな世界。
MATLAB,Python,Scilab,Julia比較 第3章 その90【射影変換④】
基本ベクトルと基底ベクトルについて説明。 元画像平面を3次元空間で表現した場合の ここで基本ベクトル、基底ベクトルの話が出てくる。
MATLAB,Python,Scilab,Julia比較 第3章 その89【射影変換③】
射影変換の理屈を把握するための流れを記載。 大まかな理屈について説明。 大まかな理屈を座標変換で表現したパターンで説明。
射影変換はアフィン変換の拡張と言われいるが、理屈としては異なるもの。 射影変換で出来ることを確認。 射影変換は四隅の点をどこに移動させるか 長方形から台形、台形から長方形、台形から台形。
MATLAB,Python,Scilab,Julia比較 第3章 その88【射影変換②】
射影変換で出来ることを確認。 現実世界での利用方法を紹介。 射影変換は四隅の点をどこに移動させるかという変換。 長方形から台形、台形から長方形、台形から台形。
MATLAB,Python,Scilab,Julia比較 第3章 その87【射影変換①】
今回から射影変換に突入。 射影変換はアフィン変換の拡張と言われいるが、理屈としては異なるもの。 結果的な数式が似ており、アフィン行列で射影変換を行うとアフィン変換が実現できてしまうのが理由と思われる。 Wikipediaの意味不明な説明を参照。
【入門】アフィン逆変換時の行列合成(Julia)【数値計算】
Juliaでアフィン行列の合成を実施。 問題無く動作した。 毎度のことながらmeshgridは自作関数。 毎度のことながら2回目以降の実行処理速度は最速。 同じようなことを繰り返しで実行、試行錯誤する場合は便利。
【入門】アフィン逆変換時の行列合成(Scilab)【数値計算】
Scilabでアフィン行列の合成を実施。 問題無く動作した。 Scilabの変数名、関数名の文字数は最大で24文字。
【入門】アフィン逆変換時の行列合成(Python)【数値計算】
Python(NumPy)でアフィン行列の合成を実施。 問題無く動作。 三角関数ははNumPyが持ってい 他のライブラリも三角関数を持っていることが多い。 精度の違い等があるかもしれないが調べてない。
【入門】アフィン逆変換時の行列合成(MATLAB)【数値計算】
MATLABでアフィン行列の合成を確認。 問題無く動作。 回転行列内の三角関数に渡す角度は度数法ではなく弧度法。 180で割ってπを掛ける。 変換しない際は単位行列になるようにしておけば、掛けても影響はない。
MATLAB,Python,Scilab,Julia比較 第3章 その86【アフィン行列の合成⑩】
Juliaでアフィン行列の合成を実施。 問題無く動作した。 毎度のことながらmeshgridは自作関数。 毎度のことながら2回目以降の実行処理速度は最速。 同じようなことを繰り返しで実行、試行錯誤する場合は便利。
MATLAB,Python,Scilab,Julia比較 第3章 その85【アフィン行列の合成⑨】
Scilabでアフィン行列の合成を実施。 問題無く動作した。 Scilabの変数名、関数名の文字数は最大で24文字。
MATLAB,Python,Scilab,Julia比較 第3章 その84【アフィン行列の合成⑧】
Python(NumPy)でアフィン行列の合成を実施。 問題無く動作。 三角関数ははNumPyが持っているものを使用。 他のライブラリも三角関数を持っていることが多い。 精度の違い等があるかもしれないが調べてない。
MATLAB,Python,Scilab,Julia比較 第3章 その83【アフィン行列の合成⑦】
MATLABでアフィン行列の合成を確認。 問題無く動作。 回転行列内の三角関数に渡す角度は度数法ではなく弧度法。 180で割ってπを掛ける。 変換しない際は単位行列になるようにしておけば、掛けても影響はない。
アフィン逆行列のアルゴリズムを使用している都合、逆行列の結合法則にも気を付ける必要がある。 「行列の積の逆行列」と「逆行列の積」の関係性を証明。 上記を利用して、アフィン逆変換の合成を各アフィン行列単体で管理できる形状に変形。
アフィン行列の合成できる。 行列の結合法則について説明。 行列の結合法則を証明。 上記により、アフィン行列の合成が証明される。
MATLAB,Python,Scilab,Julia比較 第3章 その82【アフィン行列の合成⑥】
いままで証明してきたものを再確認。 上記を利用して、アフィン逆変換の合成を各アフィン行列単体で管理できる形状に変形。
MATLAB,Python,Scilab,Julia比較 第3章 その81【アフィン行列の合成⑤】
「行列の積の逆行列」と「逆行列の積」の関係性を証明。 逆行列の定義を利用して証明。 最終的にはすべて単位行列になるので等しいという証明方法になる。
MATLAB,Python,Scilab,Julia比較 第3章 その80【アフィン行列の合成④】
アフィン逆行列のアルゴリズムを使用している都合、逆行列の結合法則にも気を付ける必要がある。 アフィン行列の結合を想定したアフィン逆変換の式を書き出し。 行列結合後に逆行列する分には問題なさそうだが、個別に行列を管理する場合はいろいろ確認&証明が必要そう。
MATLAB,Python,Scilab,Julia比較 第3章 その79【アフィン行列の合成③】
行列の結合法則を証明。 サイズの証明と任氏成分の証明に分かれる。 ともに証明ができ、行列の結合法則は成立する。
MATLAB,Python,Scilab,Julia比較 第3章 その78【アフィン行列の合成②】
行列の結合法則について説明。 結合法則の前にΣの性質についての説明。 総和の順序を入れ替えても等しいという性質。
MATLAB,Python,Scilab,Julia比較 第3章 その77【アフィン行列の合成①】
アフィン行列の合成できる。 試しに回転アフィンと移動アフィンの合成の雰囲気。 実施したい行列が後ろから並ぶ感じ。 行列の結合法則を利用して計算自体は前方から実施可能。
Juliaでアフィン変換の伸縮を実施。 問題無く動作。 meshgridが無いので該当関数を自作。
Scilabでアフィン変換の伸縮を実施。 問題無く動作。 環境によってはメモリ不足問題が起きる。 画像サイズを小さくするなどで対応が必要。
Python(NumPy)でアフィン変換の伸縮を実施。 問題無く動作。 配列の次元の辻褄あわせのためリストのアンパック仕様を利用している。 no.blockなどの行列結合でもOK。
MATLABでアフィン変換の伸縮を実施。 問題無く動作。 他のアフィン変換も動くはずだな、別途実験予定。
MATLAB,Python,Scilab,Julia比較 第3章 その76【アフィン変換⑳】
Juliaでアフィン変換の伸縮を実施。 問題無く動作。 meshgridが無いので該当関数を自作。
MATLAB,Python,Scilab,Julia比較 第3章 その75【アフィン変換⑲】
Scilabでアフィン変換の伸縮を実施。 問題無く動作。 環境によってはメモリ不足問題が起きる。 画像サイズを小さくするなどで対応が必要。
MATLAB,Python,Scilab,Julia比較 第3章 その74【アフィン変換⑱】
Python(NumPy)でアフィン変換の伸縮を実施。 問題無く動作。 配列の次元の辻褄あわせのためリストの no.blockなどの行列結合でもOK。
MATLAB,Python,Scilab,Julia比較 第3章 その73【アフィン変換⑰】
MATLABでアフィン変換の伸縮を実施。 問題無く動作。 他のアフィン変換も動くはずだが、別途実験予定。
アフィン変換のプログラムの流れを確認。 中心を0とした座標系。 アフィン変換を一括で行うための変形。 元の座標系の戻す。 元画像と変換元座標を元に変換先へコピー。
「ブログリーダー」を活用して、KEIさんをフォローしませんか?
単純パーセプトロンの分類をJuliaで実施。 想定通り分類可能。 おおよそ200エポックあれば分類可能。
単純パーセプトロンの分類をScilabで実施。 想定通り分類可能。 おおよそ200エポックあれば分類可能。
単純パーセプトロンの分類をPythonで実施。 想定通り分類可能。 おおよそ200エポックあれば分類可能。
単純パーセプトロンの分類をMATLABで実施。 想定通り分類可能。 おおよそ200エポックあれば分類可能。
はじめに MATLAB,Python,Scilab,Julia比較するシリーズの第4章。 第3章では画像処理、座標変換の話がメインだった。 第4章は分類問題関連の話がメインとなる。基本的には以下の流れとなる。 形式ニューロン 決定境界線の安
単純パーセプトロンの分類をJuliaで実施。 想定通り分類可能。 おおよそ200エポックあれば分類可能。
単純パーセプトロンの分類をScilabで実施。 想定通り分類可能。 おおよそ200エポックあれば分類可能。
単純パーセプトロンの分類をPythonで実施。 想定通り分類可能。 おおよそ200エポックあれば分類可能。
単純パーセプトロンの分類をMATLABで実施。 想定通り分類可能。 おおよそ200エポックあれば分類可能。
単純パーセプトロンの構造について復習。 逆伝播の復習。 重みとバイアスの連鎖律の最適化。 単純パーセプトロンで分類のプログラムのフローを確認。 学習が進むと決定境界線がどのように動くか確認。
単純パーセプトロンで分類のプログラムのフローを確認。 逆伝播の実験のときと流れは一緒。 学習が進むと決定境界線がどのように動くか確認。
重みとバイアスの連鎖律の最適化。 共通部分があるので、そこを切り出し。 プログラムの場合は、こういう共通部分を変数に格納するなどの最適化が可能。
単純パーセプトロンの構造について復習。 今回扱うのは活性化関数をシグモイド関数に差し替えたもの。 逆伝播の復習。 重みとバイアスの逆伝播は途中まで一緒。 よって表現の最適化が可能。
MATLAB、Python、Scilab、Julia比較ページはこちら はじめに の、 MATLAB,Python,Scilab,Julia比較 第4章 その64【逆伝播⑮】 を書き直したもの。 単純パーセプトロンに対する逆伝播を行う。まず
逆伝播を行った際の重みの動き方を確認するプログラムをScilabで作成。 おおよそ狙ったところに収束。
逆伝播を行った際の重みの動き方を確認するプログラムをPythonで作成。 おおよそ狙ったところに収束。
逆伝播を行った際の重みの動き方を確認するプログラムをMATLABで作成。 おおよそ狙ったところに収束。
逆伝播を行った際の重みの動き方を確認するプログラムをJuiaで作成。 おおよそ狙ったところに収束。
逆伝播を行った際の重みの動き方を確認するプログラムをScilabで作成。 おおよそ狙ったところに収束。
逆伝播を行った際の重みの動き方を確認するプログラムをPythonで作成。 おおよそ狙ったところに収束。
グラム行列の説明。 グラム行列は対称行列になる。 試しにグラム行列の演算をして対象行列になるか確認。
二次形式の多項式としての偏導関数、行列形式による偏導関数を元にJuliaで算出及びプロット。 ともに同一の算出結果とプロットが得られた。 コードの差は演算部分はmeshgridを自作、グラフ表示がPyPlot経由Matplotlibの仕様になってる程度。
二次形式の多項式としての偏導関数、行列形式による偏導関数を元にScilabで算出及びプロット。 ともに同一の算出結果とプロットが得られた。 コードの差はreshapeがmatrixになった程度。
二次形式の多項式としての偏導関数、行列形式による偏導関数を元にPython(NumPy)で算出及びプロット。 ともに同一の算出結果とプロットが得られた。
二次形式の多項式としての偏導関数、行列形式による偏導関数を元にMATLABで算出及びプロット。 ともに同一の算出結果とプロットが得られた。
二次形式の多項式としての偏導関数、行列形式による偏導関数を元にScilabで算出及びプロット。 ともに同一の算出結果とプロットが得られた。 コードの差は演算部分はmeshgridを自作、グラフ表示がPyPlot経由Matplotlibの仕様になってる程度。
二次形式の多項式としての偏導関数、行列形式による偏導関数を元にScilabで算出及びプロット。 ともに同一の算出結果とプロットが得られた。 コードの差はreshapeがmatrixになった程度。
二次形式の多項式としての偏導関数、行列形式による偏導関数を元にPython(NumPy)で算出及びプロット。 ともに同一の算出結果とプロットが得られた。
二次形式の多項式としての偏導関数、行列形式による偏導関数を元にMATLABで算出及びプロット。 ともに同一の算出結果とプロットが得られた。
∇について説明。 二次形式の微分について説明。 具体的な多項式に当てはめて計算してみた。
具体的な二次形式の多項式に対して微分。 ∇による微分結果確認。 二次形式の微分の公式による結果確認。 ツールで計算させるまでもないが、一応やっておく。
∇を使用して、二次形式の微分(勾配)を求める。 二次形式を多項式表現し、偏微分。 偏微分した結果を行列形式に戻す。 結果としてシンプルな偏導関数が求められる。
二次形式の微分についての話へ突入。 ∇(ナブラ)について説明。 ベクトルに対しての偏微分。 各要素に対しての微分を行うだけなので、複雑な概念ではない。
二次形式の多項式表現と行列表現の計算をJuliaで実施。 3Dグラフを表示する際は、"projection" => "3d"が必要。 meshgridが無いので自作した。
二次形式の多項式表現と行列表現の計算をScilabで実施。 基本的にはMATLABと一緒。 ただし、reshapeの代わりにmatrixを使う必要がある。
二次形式の多項式表現と行列表現の計算をPythonで実施。 3Dグラフを表示する際は、projection='3d'が必要。 plot_wireframeでワイヤーフレームでグラフ表示ができる。
二次形式の多項式表現と行列表現の計算をMATLABで実施。 meshgridにx軸とy軸を入力とすることで平面座標が得られる。 平面座標を元に2変数の演算を実施。 演算結果をmesh関数を使用して3Dグラフに表示。
二次形式の多項式表現と行列表現の計算をJuliaで実施。 3Dグラフを表示する際は、"projection" => "3d"が必要。 meshgridが無いので自作した。
二次形式の多項式表現と行列表現の計算をScilabで実施。 基本的にはMATLABと一緒。 ただし、reshapeの代わりにmatrixを使う必要がある。
二次形式の多項式表現と行列表現の計算をPythonで実施。 3Dグラフを表示する際は、projection='3d'が必要。 plot_wireframeでワイヤーフレームでグラフ表示ができる。