ソフトウェア設計における因果関係の明確化。条件分岐や状態遷移の数理的な記述。並列処理やバッチ処理の自然な導入。AIモデルとの構造的な共通性の理解。
シミュレーションで実物を扱わなくても仕事ができる環境を目指す。つまり家に引きこもって外に出なくてもOKな世界。
MATLAB,Python,Scilab,Julia比較 第2章 その58【重回帰分析②】
正規方程式による重回帰分析をMATLABで実施。 誤差はあるものの目的の係数の算出はできている。 3Dグラフの散布図はscatter3、メッシュ状の平面関数はmeshを使用して表現する。
正規方程式を使って重回帰分析を行う。 重回帰分析の二乗和誤差関数の定義。 正規方程式の各成分の定義。 サンプリングデータは特定の多項式に±1の乱数を載せたものを使用。 特定の多項式と近い係数が求まればOK。
MATLAB,Python,Scilab,Julia比較 第2章 その57【重回帰分析①】
正規方程式を使って重回帰分析を行う。 重回帰分析の二乗和誤差関数の定義。 正規方程式の各成分の定義。 サンプリングデータは特定の多 特定の多項式と近い係数が求まればOK。
正規方程式による単回帰分析をJuliaで実施。 MATLABと同じ結果が得られた。 演算部分はMTALABと同一。 ベクトル化演算子であるdot演算子を利用する局面はある。
正規方程式による単回帰分析をScilabで実施。 MATLABの演算と同じ結果が得られた。 計算部分は全く一緒。 グラフ表示部の微調整の仕方が違う。
正規方程式による単回帰分析をPython(NumPy)で実施。 MATLABと同じ結果が得られた。 ベクトル、行列の内積は「@」。 「*」にしてしまうとアダマール積になってしまうので注意。
正規方程式による単回帰分析をMATLABで実施。 以前の最小二乗法と同じ結果が得られた。 数式で定義した通りの演算をするのみ。
MATLAB,Python,Scilab,Julia比較 第2章 その56【単回帰分析⑤】
正規方程式による単回帰分析をJuliaで実施。 MATLABと同じ結果が得られた。 演算部分はMTALABと同一。 ベクトル化演算子であるdot演算子を利用する局面はある。
MATLAB,Python,Scilab,Julia比較 第2章 その55【単回帰分析④】
正規方程式による単回帰分析をScilabで実施。 MATLABの演算と同じ結果が得られた。 計算部分は全く一緒。 グラフ表示部の微調整の仕方が違う。
MATLAB,Python,Scilab,Julia比較 第2章 その54【単回帰分析③】
正規方程式による単回帰分析をPython(NumPy)で実施。 MATLABと同じ結果が得られた。 ベクトル、行列の内積の演算子は「@」。 「*」にしてしまうとアダマール積になってしまうので注意。
MATLAB,Python,Scilab,Julia比較 第2章 その53【単回帰分析②】
正規方程式による単回帰分析をMATLABで実施。 以前の最小二乗法と同じ結果が得られた。 数式で定義した通りの演算をするのみ。
正規方程式を使って単回帰分析を行う。 単回帰分析の二乗和誤差関数の定義。 正規方程式の各成分の定義。 上記を元に各ツール、各言語で演算を実施すればOK。
MATLAB,Python,Scilab,Julia比較 第2章 その52【単回帰分析①】
正規方程式を使って単回帰分析を行う。 単回帰分析の二乗和誤差関数の定義。 正規方程式の各成分の定義。 上記を元に各ツール、各言語で演算を実施すればOK。
いままでの知識の総動員すべく数式列挙。 二乗和誤差の偏導関数を元に最小化問題へ。 正規方程式がわかっていると、単回帰、重回帰、多項式回帰が一撃で解けるようになる。
MATLAB,Python,Scilab,Julia比較 第2章 その51【正規方程式④】
二乗和誤差の偏導関数を元に最小化問題へ。 上記式を元に極小値を求める式へ。 これをxを求める式に変形したものが正規方程式。 正規方程式がわかっていると、単回帰、重回帰、多項式回帰が一撃で解けるようになる。
MATLAB,Python,Scilab,Julia比較 第2章 その50【正規方程式③】
グラム行列が対称行列であることを利用して、二次形式であることを保証してしまう。 二次形式を保証した上で、それの偏導関数を利用する。
MATLAB,Python,Scilab,Julia比較 第2章 その49【正規方程式②】
一般化した二乗和誤差の数式の変形を実施。 上記の途中で行列の積に対 (Ax)^T=x^T A^T。 計算すると分かるが普通に等しい結果になる。
MATLAB,Python,Scilab,Julia比較 第2章 その48【正規方程式①】
二次形式の行列表現。 二次形式の微分。 グラム行列。 二乗和誤差の一般化。
二乗和誤差に関しては、以前の最小二乗法の誤差関数で扱ってはいる。 「正しいを思われる線との誤差を2乗にしたもの」という意味自体は変わらない。 二乗和誤差を多変量で表現。 ベクトル、行列で表現する。 一般化した後に具体化して確認。
MATLAB,Python,Scilab,Julia比較 第2章 その47【二乗和誤差②】
多変量について説明。 いっぱい変数あるってこと。 二乗和誤差を多変量で表現。 ベクトル、行列で表現するってこと。 一般化した後に具体化して確認。
MATLAB,Python,Scilab,Julia比較 第2章 その46【二乗和誤差①】
二乗和誤差に関しては、以前の最小二乗法の誤差関数で扱ってはいる。 「正しいを思われる線との誤差を2乗にしたもの」という意味自体は変わらない。 しかし、今回はこれを多変量として一般化しようという話になる。
グラム行列の定義について説明。 グラム行列の性質について説明。 対称行列になる。 グラム行列が対称行列になることの証明。
MATLAB,Python,Scilab,Julia比較 第2章 その45【グラム行列②】
グラム行列が対称行列になることを証明。 m×nの行列を行ベクトルに分解してからグラム行列の演算をさせる。 演算結果の対称部をピックアップして等しいことを証明する。
MATLAB,Python,Scilab,Julia比較 第2章 その44【グラム行列①】
グラム行列の説明。 グラム行列は対称行列になる。 試しにグラム行列の演算をして対象行列になるか確認。
二次形式の多項式としての偏導関数、行列形式による偏導関数を元にJuliaで算出及びプロット。 ともに同一の算出結果とプロットが得られた。 コードの差は演算部分はmeshgridを自作、グラフ表示がPyPlot経由Matplotlibの仕様になってる程度。
二次形式の多項式としての偏導関数、行列形式による偏導関数を元にScilabで算出及びプロット。 ともに同一の算出結果とプロットが得られた。 コードの差はreshapeがmatrixになった程度。
二次形式の多項式としての偏導関数、行列形式による偏導関数を元にPython(NumPy)で算出及びプロット。 ともに同一の算出結果とプロットが得られた。
二次形式の多項式としての偏導関数、行列形式による偏導関数を元にMATLABで算出及びプロット。 ともに同一の算出結果とプロットが得られた。
MATLAB,Python,Scilab,Julia比較 第2章 その43【二次形式の微分⑦】
二次形式の多項式としての偏導関数、行列形式による偏導関数を元にScilabで算出及びプロット。 ともに同一の算出結果とプロットが得られた。 コードの差は演算部分はmeshgridを自作、グラフ表示がPyPlot経由Matplotlibの仕様になってる程度。
MATLAB,Python,Scilab,Julia比較 第2章 その42【二次形式の微分⑥】
二次形式の多項式としての偏導関数、行列形式による偏導関数を元にScilabで算出及びプロット。 ともに同一の算出結果とプロットが得られた。 コードの差はreshapeがmatrixになった程度。
MATLAB,Python,Scilab,Julia比較 第2章 その41【二次形式の微分⑤】
二次形式の多項式としての偏導関数、行列形式による偏導関数を元にPython(NumPy)で算出及びプロット。 ともに同一の算出結果とプロットが得られた。
「ブログリーダー」を活用して、KEIさんをフォローしませんか?
ソフトウェア設計における因果関係の明確化。条件分岐や状態遷移の数理的な記述。並列処理やバッチ処理の自然な導入。AIモデルとの構造的な共通性の理解。
exoファイルを使えば、立ち絵の設定をテンプレ化して何度でも使い回せる。キャラごと・表情ごとのexoパターンを作っておけば、配置も口パクも一瞬。拡張編集にドラッグ&ドロップするだけで、作業時間が爆速短縮。
G検定まとめ記事はこちらはじめに結構昔にG検定向けの動画で、「JDLAジェネラリスト検定(G検定)さっくり対策(究極カンペの作り方)カンペを見なくても問題が解ける自分の作り方。」というのを公開しているのだが、これに対しての問い合わせがちょく...
動画作成関連のバックナンバー用ページ。立ち絵を作ったり、動画作ったり、アイキャッチ画像作ったりなどを掲載していく。
画像認識の全体像を因果関係図で整理し、AlexNetを起点に各モデルの進化をたどる。一般物体認識から物体検出・セグメンテーション・姿勢推定まで、各カテゴリの代表モデルと技術を解説。モデル同士の構造的なつながりや技術的背景を踏まえ、因果関係をもとに体系的に理解を深めていく。
究極カンペの作り方についての問い合わせが増えている。G検定の評判を確認し、ネガティブな意見を問題提起として捉える。勉強のステージを定義し、語彙力と因果関係の把握が重要であることを説明。
フーリエ変換には角周波数を扱うものと周波数を扱うものがある。角周波数と周波数の間には角度と1回転という差があるのみ。よって、周波数に2πをかければ角周波数となる。
MATLAB,Python,Scilab,Julia比較するシリーズの第4章。第4章では分類問題で最終的にはニューラルネットワークや最適化アルゴリズムの話だった。第5章はフーリエ解析学から高速フーリエの話がメインとなる。
立ち絵の配置: PSDファイルをAviUtlに配置し、画面サイズやフレームレートを設定。のっぺらぼう化: 目と口を消して、アニメーション効果を追加。アニメーション効果: 目パチと口パクの設定を行い、リップシンクを調整。
フーリエ変換を定義。フーリエの積分公式の一部を抜き出す。逆フーリエ変換を定義。フーリエの積分公式にフーリエ変換を代入するだけ。
Δωで刻みにしたので、極限を利用して連続系へ。数式上は連続ではあるが、一般的な表現ではない。区分求積法とリーマン積分について。フーリエの積分公式を導出した。
VOICEVOXとAivisSpeechキャラと一緒に!AviUtlを使った動画作成 バックナンバーはじめに以前、AivisSpeechのAnneliというキャラの立ち絵を作成した。さらにそこに加えて、AivisSpeechのアイコン画像を...
PSDToolKitプラグインの導入の仕方を説明。PSDファイルを探してGIMPで内容を確認。GIMPで瞬き用、口パク用のレイヤー編集。
フーリエに積分公式は複素フーリエ級数と複素フーリエ係数から導出する。周期2Lの波の数を示すnを周期2πに於ける波の数である角周波数ωに変換。角周波数ωの刻みであるΔωについて説明。Δωを定義することで、離散的な係数算出が連続的な角周波数算出に近づけていっている。
区分求積法とリーマン積分について。離散と連続の分け目。フーリエの積分公式を導出した。演算したはずなのに変化しない。つまり変換、逆変換が成立することを示している。
Δωで刻みにしたので、極限を利用して連続系へ。数式上は連続ではあるが、一般的な表現ではない。よって、一般的な表現に書き換える必要がある。
角周波数ωの刻みであるΔωについて説明。Δωを定義することで、離散的な係数算出が連続的な角周波数算出に近づけていっている。
周期2Lの波の数を示すnを周期2πに於ける波の数である角周波数ωに変換。ω=nπ/Lを使用して変換するだけ。これにより少し数式がシンプルになった。
VOICEVOXとAivisSpeechキャラと一緒に!AviUtlを使った動画作成 バックナンバーはじめに以前、AivisSpeechのAnneliというキャラの立ち絵を作成した。ほぼ独自に作成したが、Anneliの画像自体はAivisS...
フーリエに積分公式は複素フーリエ級数と複素フーリエ係数から導出する。変換を想定した式に変換。複素指数関数との積と積分、総和を経由すると元に関数に戻るというイメージが重要。
ニューラルネットワークの最適化アルゴリズムAdamをScilabにて確認。 学習率を0.001にしている都合、収束までは時間がかかる。 勾配降下法、モーメンタムでは見れなかった分類パターンが拾えた。
ニューラルネットワークの最適化アルゴリズムAdamをPythonにて確認。 学習率を0.001にしている都合、収束までは時間がかかる。 勾配降下法、モーメンタムでは見れなかった分類パターンが拾えた。
ニューラルネットワークの最適化アルゴリズムAdamをMATLABにて確認。 学習率を0.001にしている都合、収束までは時間がかかる。 勾配降下法、モーメンタムでは見れなかった分類パターンが拾えた。
はじめに MATLAB,Python,Scilab,Julia比較するシリーズの第4章。 第3章では画像処理、座標変換の話がメインだった。 第4章は分類問題関連の話がメインとなる。基本的には以下の流れとなる。 形式ニューロン 決定境界線の安
分類問題を扱って第4章終了。 最も原始的なニューラルネットワークをやったことでディープラーニングの基礎部分は把握できたかもしれない。 次の章はこれから考える。
Adamだけで出てくる分類結果を確認。 四角形で分類する理想的な形状。 この分類結果になる場合は、誤差関数の値が一気に跳ね上がる時。 これにより大域最適解を引き当てやすくなる。
ニューラルネットワークの最適化アルゴリズムAdamをJuliaにて確認。 学習率を0.001にしている都合、収束までは時間がかかる。 勾配降下法、モーメンタムでは見れなかった分類パターンが拾えた。
ニューラルネットワークの最適化アルゴリズムAdamをScilabにて確認。 学習率を0.001にしている都合、収束までは時間がかかる。 勾配降下法、モーメンタムでは見れなかった分類パターンが拾えた。
ニューラルネットワークの最適化アルゴリズムAdamをPythonにて確認。 学習率を0.001にしている都合、収束までは時間がかかる。 勾配降下法、モーメンタムでは見れなかった分類パターンが拾えた。
ニューラルネットワークの最適化アルゴリズムAdamをMATLABにて確認。 学習率を0.001にしている都合、収束までは時間がかかる。 勾配降下法、モーメンタムでは見れなかった分類パターンが拾えた。
各最適化アルゴリズムの依存関係を記載。 1次の勾配で勢いをつけて、2次の勾配で抑制するというのが全体を通しての共通点。 Adamの更新式を実現するためのプログラムフローを記載。 学習率は0.001とかなり小さめの値に設定。 これにより収束は遅くなる。 かわりに特殊な最適解が得られるのでそれを確認する。
AdaDeltaについて説明。 RMSpropの拡張版に当たる。 最適化アルゴリズムAdamについて説明。 モーメンタムとRMSpropの合わせ技。 1次の勾配と、2次の勾配の指数移動平均を使用する。
もう一個試す予定の最適化アルゴリズムAdamへ至る系譜を説明予定。 AdaGradについて説明。 更新式をモーメンタムと比較。 RMSpropについて説明。 AdaGradの完了版であるため、AdaGradと更新式を比較。
Adamの更新式を実現するためのプログラムフローを記載。 モーメンタムの部分をAdamに差し替えただけ。 学習率は0.001とかなり小さめの値に設定。 これにより収束は遅くなる。 かわりに特殊な最適解が得られるのでそれを確認する。
各最適化アルゴリズムの依存関係を記載。 1次の勾配で勢いをつけて、2次の勾配で抑制するというのが全体を通しての共通点。 Adamが1次の勾配と2次の勾配を合わせたアルゴリズムとなる。
最適化アルゴリズムAdamについて説明。 モーメンタムとRMSpropの合わせ技。 1次の勾配と、2次の勾配の指数移動平均を使用する。
AdaDeltaについて説明。 RMSpropの拡張版に当たる。 学習率というハイパーパラメータ無しで動作する。 最終的な学習率は1近傍になるため振動しやすいらしい。
RMSpropについて説明。 AdaGradの完了版であるため、AdaGradと更新式を比較。 AdaGradでは2次の勾配の累積だったものが、2次の勾配の指数移動平均に。 これにより、極小値近辺やプラトーになっても更新を続けられる。
AdaGradについて説明。 更新式をモーメンタムと比較。 更新幅は、最初は大きく、徐々に小さくなり、最終的には学習が進まなくなる欠点を抱えている。
もう一個試す予定の最適化アルゴリズムへ至る系譜を説明予定。 プログラム化して試すのはAdamだが、それに至るアルゴリズムを数式レベルで確認。 Adam以降の最適化アルゴリズムもあるが、基本はAdamベースでクリッピングが入ってる感じ。