多変数関数の連鎖律について説明。 数が増えるだけで普通の連鎖律と変わらない。 図示&数式があると分かり易い。
シミュレーションで実物を扱わなくても仕事ができる環境を目指す。つまり家に引きこもって外に出なくてもOKな世界。
MATLAB,Python,Scilab,Julia比較 第4章 その40【多変量関数の連鎖律④】
多変数関数の連鎖律について説明。 数が増えるだけで普通の連鎖律と変わらない。 図示&数式があると分かり易い。
MATLAB,Python,Scilab,Julia比較 第4章【バックナンバー】
はじめに MATLAB,Python,Scilab,Julia比較するシリーズの第4章。 第3章では画像処理、座標変換の話がメインだった。 第4章は分類問題関連の話がメインとなる。基本的には以下の流れとなる。 形式ニューロン 決定境界線の安
MATLAB,Python,Scilab,Julia比較 第4章 その39【多変量関数の連鎖律③】
合成関数の微分(連鎖律)の証明を実施。 途中、いろいろトリッキーなことをする。 結果としては、中間変数を微分、中間変数での微分の組み合わせで表現しなおせるというもの。
MATLAB,Python,Scilab,Julia比較 第4章 その38【多変量関数の連鎖律②】
合計関数の微分(連鎖律)について説明。 まずは1入力1出力な合成関数。 合計関数の微分をするための公式はあるが、一応証明もしてみる予定。
MATLAB,Python,Scilab,Julia比較 第4章 その37【多変量関数の連鎖律①】
多変数関数の連鎖律に突入したが、これを理解するのに必要な知識があるため、それらを列挙。 合成関数につい説明。 単純パーセプトロンも入力層の内積、活性化関数、誤差関数の組み合わせが合成関数と言える。
シグモイド関数、シグモイド関数の導関数、シグモイド関数のオイラー法での微分をJuliaで算出。 グラフで比較し、導出した導関数は正しいと言える結果となった。
シグモイド関数、シグモイド関数の導関数、シグモイド関数のオイラー法での微分をScilabで算出。 グラフで比較し、導出した導関数は正しいと言える結果となった。
シグモイド関数、シグモイド関数の導関数、シグモイド関数のオイラー法での微分をPythonで算出。 グラフで比較し、導出した導関数は正しいと言える結果となった。
シグモイド関数、シグモイド関数の導関数、シグモイド関数のオイラー法での微分をMATLABで算出。 グラフで比較し、導出した導関数は正しいと言える結果となった。
MATLAB,Python,Scilab,Julia比較 第4章 その36【連鎖律の前準備⑩】
シグモイド関数、シグモイド関数の導関数、シグモイド関数のオイラー法での微分をJuliaで算出。 グラフで比較し、導出した導関数は正しいと言える結果となった。
MATLAB,Python,Scilab,Julia比較 第4章 その35【連鎖律の前準備⑨】
シグモイド関数、シグモイド関数の導関数、シグモイド関数のオイラー法での微分をScilabで算出。 グラフで比較し、導出した導関数は正しいと言える結果となった。
MATLAB,Python,Scilab,Julia比較 第4章 その34【連鎖律の前準備⑧】
シグモイド関数、シグモイド関数の導関数、シグモイド関数のオイラー法での微分をPythonで算出。 グラフで比較し、導出した導関数は正しいと言える結果となった。
MATLAB,Python,Scilab,Julia比較 第4章 その33【連鎖律の前準備⑦】
シグモイド関数、シグモイド関数の導関数、シグモイド関数のオイラー法での微分をMATLABで算出。 グラフで比較し、導出した導関数は正しいと言える結果となった。
商の微分方式の話。 逆数の微分公式と積の微分公式の合わせ技で導出。 いままでの公式達を再掲。 商の微分公式を使ってシグモイド関数の導関数を求めた。 シグモイド関数、シグモイド関数の導関数の再掲と、シグモイド関数のオイラー法による微分の数式を確認する予定。
最適化アルゴリズムを使用するには連鎖律が必要。 連鎖律を把握するための知識を列挙。 まずは逆数の微分公式。 積の微分公式を導出。
MATLAB,Python,Scilab,Julia比較 第4章 その32【連鎖律の前準備⑥】
シグモイド関数、シグモイド関数の導関数の再掲と、シグモイド関数のオイラー法による微分の数式を確認。 上記を実現するプログラムを作成して、似た波形になればOKと見なす。 シグモイド関数の導関数は有名なので間違っていることは無いはず。
世の中にAI実装検定A級の問題集が存在しないようなので、サクッと作ってみた。 とりあえず63問ほど放り込んでる。 (問題を解いてこのページに飛んできた場合、解答はこのページの下部に表示されてます。) AI実装検定A級のまとめ記事はこちら 解
世の中にAI実装検定A級の問題集が存在しないようなので、サクッと作ってみた。 とりあえず63問ほど放り込んでる。 (問題を解いてこのページに飛んできた場合、解答はこのページの下部に表示されてます。) AI実装検定A級のまとめ記事はこちら 解
AI実装検定A級に合格しました。 合格率、テキスト、勉強時間、試験日について解説。 なぜか問題集も作った。 公式テキスト範囲外もあらかじめ認識しておけば怖く無い。
MATLAB,Python,Scilab,Julia比較 第4章 その31【連鎖律の前準備⑤】
いままでの公式達を再掲。 商の微分公式を使ってシグモイド関数の導関数を求めた。 本当に導関数になっているか、オイラー法で求めたシグモイド関数の微分のプロットと比較してみる。
MATLAB,Python,Scilab,Julia比較 第4章 その30【連鎖律の前準備④】
商の微分方式の話。 逆数の微分公式と積の微分公式の合わせ技で導出。 商の微分方式はシグモイド関数の導関数導出で生きてくる。
MATLAB,Python,Scilab,Julia比較 第4章 その29【連鎖律の前準備③】
積の微分公式を導出。 少しトリッキーなことをする。 f(x)の極限と、g(x)の極限に分けられるような細工。
MATLAB,Python,Scilab,Julia比較 第4章 その28【連鎖律の前準備②】
連鎖律を把握するための知識を列挙。 恐らく数式ラッシュになる。 まずは逆数の微分公式。 途中、式を分解してそれぞれの導関数を求めてから代入で導出できる。
MATLAB,Python,Scilab,Julia比較 第4章 その27【連鎖律の前準備①】
総当たり法では非効率なので最適化アルゴリズムを使用する。 最適化アルゴリズムを使用するには連鎖律が必要。 連鎖律を利用するには損失、活性化関数、各層の入力の導関数を求める必要がある。
【入門】シグモイドによる決定境界安定化(Julia)【数値計算】
活性化関数をシグモイド関数にした形式ニューロンをJuliaで実現。 結果はカスタムヘヴィサイドの時と一緒。
【入門】シグモイドによる決定境界安定化(Scilab)【数値計算】
活性化関数をシグモイド関数にした形式ニューロンをScilabで実現。 結果はカスタムヘヴィサイドの時と一緒。
【入門】シグモイドによる決定境界安定化(Python)【数値計算】
活性化関数をシグモイド関数にした形式ニューロンをPython(NumPy)で実現。 結果はカスタムヘヴィサイドの時と一緒。
【入門】シグモイドによる決定境界安定化(MATLAB)【数値計算】
活性化関数をシグモイド関数にした形式ニューロンをMATLABで実現。 結果はカスタムヘヴィサイドの時と一緒。
MATLAB,Python,Scilab,Julia比較 第4章 その26【シグモイドによる決定境界安定化⑥】
活性化関数をシグモイド関数にした形式ニューロンをJuliaで実現。 結果はカスタムヘヴィサイドの時と一緒。
MATLAB,Python,Scilab,Julia比較 第4章 その25【シグモイドによる決定境界安定化⑤】
活性化関数をシグモイド関数にした形式ニューロンをScilabで実現。 結果はカスタムヘヴィサイドの時と一緒。
MATLAB,Python,Scilab,Julia比較 第4章 その24【シグモイドによる決定境界安定化④】
活性化関数をシグモイド関数にした形式ニューロンをPython(NumPy)で実現。 結果はカスタムヘヴィサイドの時と一緒。
MATLAB,Python,Scilab,Julia比較 第4章 その23【シグモイドによる決定境界安定化③】
活性化関数をシグモイド関数にした形式ニューロンをMATLABで実現。 結果はカスタムヘヴィサイドの時と一緒。
決定境界直線の一般的な安定化方法がある。 シグモイド関数を使用する方法。 シグモイド関数の定義について説明。 カスタムヘヴィサイドとシグモイドの比較。 総当たり法では効能の差は出ないが、誤差逆伝播法を使い始めるとシグモイドじゃないと都合が悪い。
MATLAB,Python,Scilab,Julia比較 第4章 その22【シグモイドによる決定境界安定化②】
シグモイド関数の定義について説明。 特に理屈はなく、そういうものが存在するって程度。 カスタムヘヴィサイドとシグモイドの比較。 総当たり法では効能の差は出ないが、誤差逆伝播法を使い始めるとシグモイドじゃないと都合が悪い。
MATLAB,Python,Scilab,Julia比較 第4章 その21【シグモイドによる決定境界安定化①】
決定境界直線の一般的な安定化方法がある。 シグモイド関数を使用する方法。 ヘヴィサイド関数のように0,1を表現することを目的とした関数だが、シグモイド関数は全域で勾配がある。
形式ニューロンの活性化関数をカスタムヘヴィサイド(造語)関数にしたものをJuliaで作成。 例に漏れずMATLABコードのコピペがベース。
形式ニューロンの活性化関数をカスタムヘヴィサイド(造語)関数にしたものをScilabで作成。 おおよそMATLABと同じコード。 毎度おなじみのグラフ表示部分に差が出る。
形式ニューロンの活性化関数をカスタムヘヴィサイド(造語)関数にしたものをPython(NumPy)で作成。 おおよそMATLABと同じ結果に。 毎度おなじみの表示上の誤差は出る。
形式ニューロンの活性化関数をカスタムヘヴィサイド(造語)関数にしたものをMATLABで作成。 狙い通りの位置に決定境界直線が移動。 コードはヘヴィサイド関数をカスタムヘヴィサイド関数に変えただけ。
MATLAB,Python,Scilab,Julia比較 第4章 その20【決定境界直線の安定化⑦】
形式ニューロンの活性化関数をカスタムヘヴィサイド(造語)関数にしたものをJuliaで作成。 例に漏れずMATLABコードのコピペがベース。
MATLAB,Python,Scilab,Julia比較 第4章 その19【決定境界直線の安定化⑥】
形式ニューロンの活性化関数をカスタムヘヴィサイド(造語)関数にしたものをScilabで作成。 おおよそMATLABと同じコード。 毎度おなじみのグラフ表示部分に差が出る。
MATLAB,Python,Scilab,Julia比較 第4章 その18【決定境界直線の安定化⑤】
形式ニューロンの活性化関数をカスタムヘヴィサイド(造語)関数にしたものをPython(NumPy)で作成。 おおよそMATLABと同じ結果に。 毎度おなじみの表示上の誤差は出る。
MATLAB,Python,Scilab,Julia比較 第4章 その17【決定境界直線の安定化④】
形式ニューロンの活性化関数をカスタムヘヴィサイド(造語)関数にしたものをMATLABで作成。 狙い通りの位置に決定境界直線が移動。 コードはヘヴィサイド関数をカスタムヘヴィサイド関数に変えただけ。
形式ニューロンのプログラムでは決定境界直線がギリギリのラインに来ていたで、どうあるべきか。について説明。 決定境界直線をいい感じのところに持っていくにはヘヴィサイド関数を差し替える必要がある。 ヘヴィサイド関数の原点近辺に傾斜を付けたカスタムヘヴィサイド関数(造語)が良さげ。
MATLAB,Python,Scilab,Julia比較 第4章 その16【決定境界直線の安定化③】
決定境界直線をいい感じのところに持っていくにはヘヴィサイド関数を差し替える必要がある。 ヘヴィサイド関数の原点近辺に傾斜を付けたカスタムヘヴィサイド関数(造語)が良さげ。
MATLAB,Python,Scilab,Julia比較 第4章 その15【決定境界直線の安定化②】
決定境界直線がギリギリなる理由。 ヘヴィサイド関数の性質に原因がある。 ヘヴィサイド関数の性質は入力0を境に出力0,1が切り替わるのみで勾配が無い。 これにより程度の表現ができず、境界直線も適正位置が探せない。
MATLAB,Python,Scilab,Julia比較 第4章 その14【決定境界直線の安定化①】
形式ニューロンのプログラムでは決定境界直線がギリギリのラインに来ていた。 上記を解消するため、どうあるべきか。について説明。 この後に、なぜこうなったか、どうすればかいしょうできるかの話が続く予定。
形式ニューロンをJuliaで実現。 ANDの真理値表と同じ結果が得らえれた。 コードレベルでMATLABと近似。
形式ニューロンをScilabで実現。 ANDの真理値表と同じ結果が得らえれた。 そして、決定境界線はギリギリな感じはMATLABのときと一緒。
形式ニューロンをPython(NumPy)で実現。 ANDの真理値表と同じ結果が得らえれた。 そして、決定境界線はギリギリな感じはMATLABのときと一緒。
形式ニューロンをMATLABで実現。 ANDの真理値表と同じ結果が得らえれた。 しかし、決定境界線はギリギリな感じ。
MATLAB,Python,Scilab,Julia比較 第4章 その13【形式ニューロン⑪】
形式ニューロンをJuliaで実現。 ANDの真理値表と同じ結果が得らえれた。 コードレベルでMATLABと近似。
MATLAB,Python,Scilab,Julia比較 第4章 その12【形式ニューロン⑩】
形式ニューロンをScilabで実現。 ANDの真理値表と同じ結果が得らえれた。 そして、決定境界線はギリギリな感じはMATLABのときと一緒。
MATLAB,Python,Scilab,Julia比較 第4章 その11【形式ニューロン⑨】
形式ニューロンをPython(NumPy)で実現。 ANDの真理値表と同じ結果が得らえれた。 そして、決定境界線はギリギリな感じはMATLABのときと一緒。
MATLAB,Python,Scilab,Julia比較 第4章 その10【形式ニューロン⑧】
形式ニューロンをMATLABで実現。 ANDの真理値表と同じ結果が得らえれた。 しかし、決定境界線はギリギリな感じ。
形式ニューロンを把握するためのロードマップを提示。 ヘヴィサイド関数、形式ニューロン、誤差関数、決定境界直線、総当たり法について解説。 実際のプログラムのフローを記載。
MATLAB,Python,Scilab,Julia比較 第4章 その9【形式ニューロン⑦】
総当たり法について解説・・・と思いきや、名前のまんま。 プログラム化の前提だけ決めた。 実際のプログラムのフローを記載。
MATLAB,Python,Scilab,Julia比較 第4章 その8【形式ニューロン⑥】
決定境界直線の必要性について。 推論するだけだったら不要だが、学習済みモデルの性能を評価する際は必要。 決定境界直線の特定方法を説明。 ヘヴィサイド関数の出力が0.5であることを仮定して数式を解けばOK。
MATLAB,Python,Scilab,Julia比較 第4章 その7【形式ニューロン⑤】
決定境界直線について説明。 分類する上で仕分けを行う境界線。 ANDゲートの場合の想定される決定境界直線を図解。 境界線を境にtreu,falseに分かれる。 この性質がヘヴィサイド関数と相性が良い。
MATLAB,Python,Scilab,Julia比較 第4章 その6【形式ニューロン④】
代表的な誤差関数について説明。 MSE:分散と一緒であり、統計的に意味のある数値。 SSE:シンプルであり、利用しやすい。 RMSE:標準偏差的位置づけであり、人間から見て意味のある数値になりやすい。
MATLAB,Python,Scilab,Julia比較 第4章 その5【形式ニューロン③】
分類問題のHelloWorld総統はANDゲート。 ANDゲートを形式ニューロンで実現するための構成を説明。 2入力1出力の構成になる。
MATLAB,Python,Scilab,Julia比較 第4章 その4【形式ニューロン②】
形式ニューロンの概念図を説明。 よく見るニューロンの概念図と類似。 形式ニューロンの数式を説明。 重みと入力の内積の結果をヘヴィサイド関数に渡して0or1にしている。
MATLAB,Python,Scilab,Julia比較 第4章 その3【形式ニューロン①】
形式ニューロンを把握するためのロードマップを提示。 ヘヴィサイド関数を説明。 とりあえず、もやっとしたものをYes/Noに変換できるとと思っておけばOK。
本シリーズは分類問題を扱っていく予定。 機械学習のカテゴリわけを簡単に説明。 分類問題について簡単に説明。 分類手法について列挙。 この中のパーセプトロンをベースに話を進める。
MATLAB,Python,Scilab,Julia比較 第4章 その2【分類問題②】
分類問題について簡単に説明。 分類手法について列挙。 この中のパーセプトロンをベースに話を進める。
MATLAB,Python,Scilab,Julia比較 第4章 その1【分類問題①】
本シリーズは分類問題を扱っていく予定。 機械学習のカテゴリわけを簡 分類とクラスタリングは雰囲気似てるけど、違うという扱い。
【入門】射影変換、アフィン変換合成(Julia)【数値計算】
射影変換とアフィン変換の合成をJuliaで実施。 問題無く動作した。 行列の定義の記述はMATLABと一緒なのでコピペ。 すごく似ているが故にハマることもある。
【入門】射影変換、アフィン変換合成(Scilab)【数値計算】
射影変換とアフィン変換の合成をScilabで実施。 メモリ不足問題に直面しやすいが一応動作した。 行列定義の仕方はMATLABと一緒なので、コピペした。
【入門】射影変換、アフィン変換合成(Python)【数値計算】
射影変換とアフィン変換の合成をPython(NumPy)で実施。 問題無く動作。 射影変換にアフィン変換行列を渡せば、アフィン変換ができることを知っていればOK。
【入門】射影変換、アフィン変換合成(MATLAB)【数値計算】
射影変換とアフィン変換の合成をMATLABで実施。 問題無く動作。 複数の座標変換だが、事前にパラメータを合成することで処理としては一回にまとめられる。
MATLAB,Python,Scilab,Julia比較 第3章【バックナンバー】
はじめに MATLAB,Python,Scilab,Julia比較するシリーズの第3章。 第2章では回帰関連の話がメインだった。 第3章は画像処理関連の話がメインとなる。基本的には以下の流れとなる。 画像の読み込み、保存 グレースケール 畳
MATLAB,Python,Scilab,Julia比較 第3章 その117【第3章まとめ】
第4章修了。 基本的には画像処理関連。 一個一個変換するのではなく、変換パラメータを合成して変換処理は一回で済ます考え方が重要。
MATLAB,Python,Scilab,Julia比較 第3章 その116【射影変換、アフィン変換合成⑧】
射影変換とアフィン変換の合成をJuliaで実施。 問題無く動作した。 行列の定義の記述はMATLABと一緒なのでコピペ。 すごく似ているが故にハマることもある。
MATLAB,Python,Scilab,Julia比較 第3章 その115【射影変換、アフィン変換合成⑦】
射影変換とアフィン変換の合成をScilabで実施。 メモリ不足問題に直面しやすいが一応動作した。 行列定義の仕方はMATLABと一緒なので、コピペした。
MATLAB,Python,Scilab,Julia比較 第3章 その114【射影変換、アフィン変換合成⑥】
射影変換とアフィン変換の合成をPython(NumPy)で実施。 問題無く動作。 射影変換にアフィン変換行列を渡せば、アフィン変換ができることを知っていればOK。
MATLAB,Python,Scilab,Julia比較 第3章 その113【射影変換、アフィン変換合成⑤】
射影変換とアフィン変換の合成をMATLABで実施。 問題無く動作。 複数の座標変換だが、事前にパラメータを合成することで処理としては一回にまとめられる。
射影変換は数式上はアフィン変換の拡張型。 射影変換のアフィン行列を入れてアフィン変換になるか試そうと画策。 射影変換、アフィン変換合成時のパラメータを(テキトーに)決めた。
MATLAB,Python,Scilab,Julia比較 第3章 その112【射影変換、アフィン変換合成④】
射影変換、アフィン変換合成時のパラメータを(テキトーに)決めた。 変換後の想定画像を張り付けた。 補助線を入れて過程が分かるように。
MATLAB,Python,Scilab,Julia比較 第3章 その111【射影変換、アフィン変換合成③】
今回の射影変換のアルゴリズムは射影逆変換。 これに伴い、渡す行列は逆行列。 逆行列を個別に渡す場合は これについてはアフィン変換の時に証明済み。
MATLAB,Python,Scilab,Julia比較 第3章 その110【射影変換、アフィン変換合成②】
射影変換のアフィン行列を入れてアフィン変換になるか試そうと画策。 せっかくなので、射影変換とアフィン変換を合成してみる。 合成の組み立て方はアフィン変換の時と同じ。
MATLAB,Python,Scilab,Julia比較 第3章 その109【射影変換、アフィン変換合成①】
射影変換は数式上はアフィン変換の拡張型。 射影変換とアフィン変換の数 射影変換のgとhが0の場合、アフィン変換と同一の式になる。
Juiaで射影変換の台形から長方形の変換を実施。 想定通り変換。 コードの流れと構成及び文法的にもMATLAB時のコードと一緒なため、パラメータ調整箇所も一緒。 今回は座標変換なため影響はないが色情報の持ち方が256階調ではなく、0~1に正規化されてる点に注意。
【入門】射影変換(台形→長方形)(Scilab)【数値計算】
Scilabで射影変換の台形から長方形の変換を実施。 想定通り変換。 コードの流れと構成及び文法的にもMATLAB時のコードと一緒なため、パラメータ調整箇所も一緒。
【入門】射影変換(台形→長方形)(Python)【数値計算】
Python(NumPy)で射影変換の台形から長方形の変換を実施。 想定通り変換。 コードの流れと構成はMATLAB時のコードと一緒なため、パラメータ調整箇所も一緒。
【入門】射影変換(台形→長方形)(MATLAB)【数値計算】
MATLABで射影変換の台形から長方形の変換を実施。 想定通り変換。 画像は荒くなるが想定通り。 変換元、変換先パラメータを調整するだけで実現可能。
MATLAB,Python,Scilab,Julia比較 第3章 その108【射影変換(台形→長方形)⑥】
Juiaで射影変換の台形から長方形の変換を実施。 想定通り変換。 コードの流れと構成及び文法的にもMATLAB時のコードと一緒なため、パラメータ調整箇所も一緒。 今回は座標変換なため影響はないが色情報の持ち方が256階調ではなく、0~1に正規化されてる点に注意。
MATLAB,Python,Scilab,Julia比較 第3章 その107【射影変換(台形→長方形)⑤】
Scilabで射影変換の台形から長方形の変換を実施。 想定通り変換。 コードの流れと構成及び文法的にもMATLAB時のコードと一緒なため、パラメータ調整箇所も一緒。
MATLAB,Python,Scilab,Julia比較 第3章 その106【射影変換(台形→長方形)④】
Python(NumPy)で射影変換の台形から長方形の変換を実施。 想定通り変換。 コードの流れと構成はMATLAB時のコードと一緒なため、パラメータ調整箇所も一緒。
MATLAB,Python,Scilab,Julia比較 第3章 その105【射影変換(台形→長方形)③】
MATLABで射影変換の台形から長方形の変換を実施。 想定通り変換。 画像は荒くなるが想定通り。 変換元、変換先パラメータを調整するだけで実現可能。
射影変換で台形から長方形への変換もできるはず。 台形から長方形にする際に引き延ばした部分の画像は荒くなる。 プログラム化自体は以前のものを使い回し。
MATLAB,Python,Scilab,Julia比較 第3章 その104【射影変換(台形→長方形)②】
台形から長方形にする際に引き延ばした部分の画像は荒くなる。 射影変換に限らず、引き延ばしが発生する座標変換では必ず起きる問題。 プログラム化自体は以前のものを使い回し。 変換元、変換先のパラメータが変わるくらい。
MATLAB,Python,Scilab,Julia比較 第3章 その103【射影変換(台形→長方形)①】
射影変換で長方形から台形への変換はやった。 台形から長方形へ 画像での雰囲気を確認。 パラメータでの雰囲気を確認。
Juliaで射影変換実施。 基本的にはMATLABと一緒で、射影変換のsを解決するコードを追加すればOK。
Scilabで射影変換実施。 基本的にはMATLABと一緒で、射影変換のsを解決するコードを追加すればOK。
Python(NumPy)で射影変換を実施。 アフィン変換が出来ていれば、射影変換の処理を作るのはそれほど難しくない。
MATLABで射影変換を実施。 処理はアフィン変換の時のモノを流用。 射影変換のsの部分を追加で解決しているのみ。
MATLAB,Python,Scilab,Julia比較 第3章 その102【射影変換⑯】
Juliaで射影変換実施。 基本的にはMATLABと一緒で、射影変換のsを解決するコードを追加すればOK。
DS検定(データサイエンティスト検定)リテラシーレベル問題集(過去問道場 一問一答 仮)
DS検定リテラシーレベルの問題集を設置。 現状はデータサイエンス力の領域を中心に80問ほど放り込んでいる。問題は随時追加予定。 DS検定リテラシーレベルのまとめ記事や解説動画へのリンクはこちら 動画とか 【巧妙な罠】データサイエンティスト検
MATLAB,Python,Scilab,Julia比較 第3章 その101【射影変換⑮】
Scilabで射影変換実施。 基本的にはMATLABと一緒で、射影変換のsを解決するコードを追加すればOK。
MATLAB,Python,Scilab,Julia比較 第3章 その100【射影変換⑭】
Python(NumPy)で射影変換を実施。 アフィン変換が出来ていれば、射影変換の処理を作るのはそれほど難しくない。
「ブログリーダー」を活用して、KEIさんをフォローしませんか?
多変数関数の連鎖律について説明。 数が増えるだけで普通の連鎖律と変わらない。 図示&数式があると分かり易い。
はじめに MATLAB,Python,Scilab,Julia比較するシリーズの第4章。 第3章では画像処理、座標変換の話がメインだった。 第4章は分類問題関連の話がメインとなる。基本的には以下の流れとなる。 形式ニューロン 決定境界線の安
合成関数の微分(連鎖律)の証明を実施。 途中、いろいろトリッキーなことをする。 結果としては、中間変数を微分、中間変数での微分の組み合わせで表現しなおせるというもの。
合計関数の微分(連鎖律)について説明。 まずは1入力1出力な合成関数。 合計関数の微分をするための公式はあるが、一応証明もしてみる予定。
多変数関数の連鎖律に突入したが、これを理解するのに必要な知識があるため、それらを列挙。 合成関数につい説明。 単純パーセプトロンも入力層の内積、活性化関数、誤差関数の組み合わせが合成関数と言える。
シグモイド関数、シグモイド関数の導関数、シグモイド関数のオイラー法での微分をJuliaで算出。 グラフで比較し、導出した導関数は正しいと言える結果となった。
シグモイド関数、シグモイド関数の導関数、シグモイド関数のオイラー法での微分をScilabで算出。 グラフで比較し、導出した導関数は正しいと言える結果となった。
シグモイド関数、シグモイド関数の導関数、シグモイド関数のオイラー法での微分をPythonで算出。 グラフで比較し、導出した導関数は正しいと言える結果となった。
シグモイド関数、シグモイド関数の導関数、シグモイド関数のオイラー法での微分をMATLABで算出。 グラフで比較し、導出した導関数は正しいと言える結果となった。
シグモイド関数、シグモイド関数の導関数、シグモイド関数のオイラー法での微分をJuliaで算出。 グラフで比較し、導出した導関数は正しいと言える結果となった。
シグモイド関数、シグモイド関数の導関数、シグモイド関数のオイラー法での微分をScilabで算出。 グラフで比較し、導出した導関数は正しいと言える結果となった。
シグモイド関数、シグモイド関数の導関数、シグモイド関数のオイラー法での微分をPythonで算出。 グラフで比較し、導出した導関数は正しいと言える結果となった。
シグモイド関数、シグモイド関数の導関数、シグモイド関数のオイラー法での微分をMATLABで算出。 グラフで比較し、導出した導関数は正しいと言える結果となった。
商の微分方式の話。 逆数の微分公式と積の微分公式の合わせ技で導出。 いままでの公式達を再掲。 商の微分公式を使ってシグモイド関数の導関数を求めた。 シグモイド関数、シグモイド関数の導関数の再掲と、シグモイド関数のオイラー法による微分の数式を確認する予定。
最適化アルゴリズムを使用するには連鎖律が必要。 連鎖律を把握するための知識を列挙。 まずは逆数の微分公式。 積の微分公式を導出。
シグモイド関数、シグモイド関数の導関数の再掲と、シグモイド関数のオイラー法による微分の数式を確認。 上記を実現するプログラムを作成して、似た波形になればOKと見なす。 シグモイド関数の導関数は有名なので間違っていることは無いはず。
世の中にAI実装検定A級の問題集が存在しないようなので、サクッと作ってみた。 とりあえず63問ほど放り込んでる。 (問題を解いてこのページに飛んできた場合、解答はこのページの下部に表示されてます。) AI実装検定A級のまとめ記事はこちら 解
世の中にAI実装検定A級の問題集が存在しないようなので、サクッと作ってみた。 とりあえず63問ほど放り込んでる。 (問題を解いてこのページに飛んできた場合、解答はこのページの下部に表示されてます。) AI実装検定A級のまとめ記事はこちら 解
AI実装検定A級に合格しました。 合格率、テキスト、勉強時間、試験日について解説。 なぜか問題集も作った。 公式テキスト範囲外もあらかじめ認識しておけば怖く無い。
いままでの公式達を再掲。 商の微分公式を使ってシグモイド関数の導関数を求めた。 本当に導関数になっているか、オイラー法で求めたシグモイド関数の微分のプロットと比較してみる。
1次関数最小二乗法の係数算出の式を元にJuliaで実装。 fit関数と同じと解釈できる結果が得られた。 純粋なベクトル、行列の演算に関してはMATLABとほぼ同じ書き方になる。
1次関数最小二乗法の係数算出の式を元にScilabで実装。 lsq関数と同じと解釈できる結果が得られた。 純粋なベクトル、行列の演算に関してはMATLABと同じ書き方になる。
1次関数最小二乗法の係数算出の式を元にPython(Numpy)で実装。 np.polyfitと同じと解釈できる結果が得られた。
1次関数最小二乗法の係数算出の式を元にMATLABで実装。 polyfitと同じと解釈できる結果が得られた。
Juliaにて1次関数の最小二乗法を実施。 Polynomialsパッケージのfit関数を使用。 他のツール、言語と異なり、係数ではなく、関数が取得される。 配列としてアクセスすれば、係数単体の値と取得できる。
Scilabによる1次関数の最小二乗法を実施。 MATLABと一緒と思いきや、実はコンセプトレベルで違う。 正規方程式の仕様が丸見えになってるイメージ。 正規方程式については追々説明していく予定。
Pythonによる最小二乗法はNumpyのpolyfitで実施可能。 実際にコードを作成し、動作させてみた。 ほぼ同一の係数が算出で来た。 (表示精度の都合、見た目上は違う値にはなってる。)
各種ツール、言語を使うと最小二乗法が一撃で解ける。 ライブラリ的な機能を使うことになる。 後日、ライブラリ未使用もやってみる予定。 今回はMATLABのpolyfitを使って最小二乗法を実施。
Juliaにて1次関数の最小二乗法を実施。 Polynomialsパッケージのfit関数を使用。 他のツール、言語と異なり、係数ではなく、関数が取得される。 配列としてアクセスすれば、係数単体の値と取得できる。
Scilabによる1次関数の最小二乗法を実施。 MATLABと一緒と思いきや、実はコンセプトレベルで違う。 正規方程式の仕様が丸見えになってるイメージ。 正規方程式については追々説明していく予定。
Pythonによる最小二乗法はNumpyのpolyfitで実施可能。 実際にコードを作成し、動作させてみた。 ほぼ同一の係数が算出で来た。 (表示精度の都合、見た目上は違う値にはなってる。)
各種ツール、言語を使うと最小二乗法が一撃で解ける。 ライブラリ的な機能を使うことになる。 後日、ライブラリ未使用もやってみる予定。 今回はMATLABのpolyfitを使って最小二乗法を実施。
最小二乗法の初歩として1次関数の最小二乗法を解説。 誤差関数を特定し最小化したものが求めたい線となる。 最小化方法は以下 総当たり(現実的ではない) 偏微分を使う 連立方程式の形にできれば行列で表現でき逆行列が利用できる。
誤差関数の偏導関数を連立方程式に。 連立方程式になったので、行列形式に表現を変えらえる。 行列形式で逆行列を解決されるために2x2の逆行列の公式を使用。 逆行列を扱えない言語の場合は、この公式を使用して逆行列を解決する必要がある。
1次関数に於ける最小二乗法の誤差関数の偏導関数を求めた。 項数が多く、ややこしい部分はあるが、一個一個はシンプル。 これをMATLAB等で簡単に演算させるためにベクトル、行列の形式に変形する必要がある。
偏導関数の公式の前に導関数の公式を確認。 偏導関数の公式も基本は導関数の公式と一緒。 偏微分する軸以外の変数を定数として扱う点が異なる。 Σが数式に紛れても分解すれば似たようなやり方になる。
誤差関数の最小値は偏微分を使用すると求まるはず。 a,bを振ったい場合の誤差関数の値は2次関数的になるので、極値は必ず極小値になる。 この極小値になるa,bを求めたい。
誤差関数の最小値を求める方法として総当たりがある。 しかし、時間がかかったり、精度の設定の適切性が問えないなどの問題があり現実的な手法とは言い難い。 誤差関数の最小値を求めるには偏微分を使用するのが王道。 偏微分は「変な微分」ではない。 偏微分自体は複雑なものではなく、複雑なものをシンプルに扱うためのもの。
最もシンプルな回帰分析である1次関数の最小二乗法の解説開始。 最小二乗法の理屈は「誤差の二乗の和が最小になる線」を求める。 誤差が最小になる関数を誤差関数Lとして定義。 1次関数に於いて最小になる誤差関数を求めた。 後々、シンプルな式になる予定。
最小二乗法を代表とした回帰分析の代表的な利用シーンを説明 自動車業界だと、制御対象の内部パラメータの推定で使われることもある。 経年劣化で内部パラメータが変動しても回帰である程度特定可能。 これにより事前交渉検知や劣化状況に合わせた制御ポリシーの変更が可能。