フーリエ変換には角周波数を扱うものと周波数を扱うものがある。角周波数と周波数の間には角度と1回転という差があるのみ。よって、周波数に2πをかければ角周波数となる。
シミュレーションで実物を扱わなくても仕事ができる環境を目指す。つまり家に引きこもって外に出なくてもOKな世界。
G検定法律問題対策【個人情報保護法、著作権法、特許法、不正競争防止法】
その他のG検定関連情報はこちらはじめに割と対策が難しいG検定の法律問題。普通にやると「暗記で対策」になるが、それではちょっと非効率だし、その後に使える知識になるかは疑問。暗記した記憶か、構造的に把握した知識のどちらを得るべきかと考えるとやは
【FFTへ】MATLAB、Pythonで株価予測 その8【至る道⑥】
フーリエ変換とフーリエ逆変換のもう一つのバリエーションである、数式対称性について。 3パターンある。 1/2πをどちらが持つかって違い。 1/√2πのように折半するパターンもある。 バリエーションを認識していないと異なるバリエーションの変換/逆変換の組み合わせを使用してしまい、元の波形に戻らない事故が発生する。
【FFTへ】MATLAB、Pythonで株価予測 その7【至る道⑤】
フーリエ変換とフーリエ逆変換のバリエーション自体もバリエーションがある。 角周波数表現と周波数表現によるバリエーション。 数式対称性によるバリエーション。 角周波数表現は前回&今回再掲したもの。 周波数表現は角周波数を単純に周波数の式を代入したもの。 角周波数は角速度のスカラー量。
【FFTへ】MATLAB、Pythonで株価予測 その6【至る道④】
フーリエの積分公式は「とある関数を畳み込み積分を経ても同じ関数に戻せる」と証明されているもの。 複素フーリエ級数、複素フーリエ係数で証明可能だが、ここでは省略。 フーリエの積分公式の一部をフーリエ変換と定義した。 フーリエ変換の式をフーリエの積分公式に戻すことで逆フーリエ変換の式が完成。
【FFTへ】MATLAB、Pythonで株価予測 その5【至る道③】
フーリエ変換、逆フーリエ変換の元ネタがフーリエの積分公式。 f(t)とf(x)は同じものだが、複素指数関数との畳み込み積分を経由しても等しい状態を作れることを示している。 複素指数関数はオイラーの公式より三角関数に展開可能。 畳み込み積分は三角関数とf(t)の内積を示しており、同一角周波数のみが取り出せる理屈。
【FFTへ】MATLAB、Pythonで株価予測 その4【至る道②】
逆フーリエ変換が正しいのかフーリエ逆変換が正しいのか。 どっちも正しいと思っておいた方が良さそう。 英単語の並びを重視するか、逆変換という日本語としての意味を重視するか。 フーリエ変換/逆変換はバンドパスフィルタ利用が有名。 フーリエ変換、逆フーリエ変換にバリエーションがある点に注意。
【FFTへ】MATLAB、Pythonで株価予測 その3【至る道①】
フーリエ変換について簡単に説明。 実際には逆フーリエ変換も含めないと全体像は見えない。 フーリエ変換自体は実用されてるツールなので、数学者と言うよりエンジニア側の領域 逆フーリエ変換を知らずにフーリエ変換だけの性質を見ると不透明な感じがして恐怖感が芽生えている可能性が高い。
【FFT】MATLAB、Pythonで株価予測 その2【導入編②】
業務でFFTを使っていても、FFTそのものが何か知らない人も多い。 見るべき、比較すべきデータが揃っていると割と知らなくても平気。 これ自体は標準化、過去データ利用の結果なので褒められるべき事象。 FFTを知るには最低限以下の知識が必要。 フーリエ変換、DFT、FFTとそれらの逆変換。
【FFT】MATLAB、Pythonで株価予測 その1【導入編①】
FFTで振動解析を行うことが多い。 自動車だと静粛性評価などが代表的。 株価も振動っぽいからFFTで解析できるかも? 周波数成分を見れることは間違いない。 ただし、そこから予測に至れるかは別問題。 ここでの話を鵜呑みにして株売買をしてもそれは自己責任。
Modelicaによるプラント設計。 それをFMUにして他のプラットフォーム(Python等)での再利用。 さらに制御器との様々な接続方法(ASAM XCP等)の事例を紹介していく話。 Modelica用ツールとしてはOpenModelicaを使用する。
【MDF】最小構成のMBD事例 第2章 その317【仮想HILS⑦】
仮想HILSにMDF生成を組み込んだものの動作確認実施 リアルタイム波形は30秒の範囲なので、比較用といしてその範囲で計測してMDF生成 リアルタイム波形をMDFを比較。 AsamMdf付属Viewer、CANapeと比較したところOK。 一応、今回が本シリーズ最終回(たぶん)
【MDF】最小構成のMBD事例 第2章 その316【仮想HILS⑥】
仮想HILSの改修済みコードを開示。 XCP等の通信周りへの影響は無し。 GUIがちゃんと配置されてることだけ確認。 ボタンGUIを増やしたので、スケールの表示位置の微調整を入れた。
【MDF】最小構成のMBD事例 第2章 その315【仮想HILS⑤】
計測データの取得場所はFMU処理をしているFMU_handler内が妥当。 描画用のデータもここで取ってる。 計測データ対象はFMUの戻りのデータ。 仮想HILSが描画しているデータと合わせておくと評価し易い。 追加コードは描画用データのdequeとほぼ一緒。 リスト、dequeのメソッド名が共通化している恩恵。
【MDF】最小構成のMBD事例 第2章 その314【仮想HILS④】
ボタン押下時にやることを確認。 MDFインスタンス生成。 各種シグナル生成。 各種シグナルをリストにまとめる。 MDFインスタンスに統合 MDFを生成。 各種シグナルとMDFインスタンスを再初期化。 上記を元にコードを書いてみた。 実際には動かしてみないとわからないが流れはOK。
【MDF】最小構成のMBD事例 第2章 その313【仮想HILS③】
Pythonのリストの宣言の仕方について簡単に説明。 空っぽのリストも宣言できる。 データ保持用のストレージの候補を列挙。 上記に合わせて空っぽのリストを事前に宣言。 本来であれば一時ファイルの方が望ましので、必要であればファイルアクセスに差し替える必要がある。
【MDF】最小構成のMBD事例 第2章 その312【仮想HILS②】
MDF生成をするためのimportを説明。 以前のMDF生成実験の時と一緒。 ボタンGUI追加方法説明。 以前のチェックボックス、スケールの時と似たような感じ。 スケールの時と同じくイベントハンドラを設定可能。 ボタン押下時のイベントに紐づいて呼び出されるメソッドを設定可能。
【MDF】最小構成のMBD事例 第2章 その311【仮想HILS①】
仮想HILS改修計画として以下を提示。 仮想HILS側にAsamMdfを組み込んでMDF出力機能の追加を示している。 少なくとも仮想HILSのみの修正になる。 任意のタイミングでMDFを生成するためGUI側の修正も必要。 収録データは一時ファイルにした方が良いが今回はメモリ上に蓄える。
【Viewer】最小構成のMBD事例 第2章 その310【CANape⑥】
value range to textの物理変換をCANapeで確認。 値の設定上、value to textと同じ感じになる。 なんだかんだでCANapeの方がAsamMdf付属Viewerより高度なことができる。 自動レポート機能もあったり。 次回から仮想HILSへAsamMdfを組み込む作業となる。
【Viewer】最小構成のMBD事例 第2章 その309【CANape⑤】
value to textの物理変換をCANapeで確認。 value to textの表現がAsamMdf付属Viewerと異なることが発覚。 MDF仕様としてはファイルフォーマットの規定だけなので表現方法の標準仕様は存在しない。 欧州ではツールが先に存在し、それらの共通項をASAM仕様にまとめただけと推測される。
【Viewer】最小構成のMBD事例 第2章 その308【CANape④】
tabular with rangeの物理変換をCANapeで確認。 階段状に変換されているのに加え、指定範囲外の値はdefault値になっていることを確認。 文字列へ変換するタイプの物理変換用にグラフィックウィンドウでの文字列表示のやり方をレクチャー。 次回からの文字列変換タイプにはこれを実施する。
【Viewer】最小構成のMBD事例 第2章 その307【CANape③】
tabular without interpolationをCANapeで確認。 実はECUではあまり見かけないタイプの物理変換。 tabular with interpolationをCANapeで確認。 これもECUではあまり見かけないタイプの物理変換だが、センサ値に対して使われることは多い。
【Viewer】最小構成のMBD事例 第2章 その306【CANape②】
Linearの物理変換を確認。 想定通り、y=2x-0.5になっている。 algebraicの物理変換を確認。 あまり使わないパターンなのでなんか新鮮。 CANapeのグラフィックウィンドウにはオートスケール機能がある。 「最適に合わせる」を選ぶか「F」キーを押す。
【Viewer】最小構成のMBD事例 第2章 その305【CANape①】
MDFを異なるツールで読み込めるのは標準仕様の真骨頂と言える。 CANapeへMDF内の信号取り込み方法を説明。 MDFを開いた段階で選択する方法とエクスプローラの測定からのドラッグ&ドロップの方法がある。 物理値、生値の切り替え方法を説明。 グラフィックウィンドウの設定から可能。
【Viewer】最小構成のMBD事例 第2章 その304【AsamMdf⑤】
value range to textを抱えた信号をAsamMdf付属Viewerで確認。 この後はCANapeで同様に各信号を確認していく予定。 CANapeで確認したことが無い物理値変換もある。 AsamMdf付属ViewerとPyQT5のVersion不整合が発生。 Version落として整合。
【Viewer】最小構成のMBD事例 第2章 その303【AsamMdf④】
AsamMdf付属Viewerで各信号を確認。 value to text確認。 plotでは確認できないので、Tabular表示で確認。 tabular with range確認。 狙い通り階段上になっている。 さらに、範囲外はdefault指定した-1になっている。
【Viewer】最小構成のMBD事例 第2章 その302【AsamMdf③】
AsamMdf付属Viewerで信号確認再開。 tabular without interpolationを確認。 tabular with interpolationを確認。 補間処理はViewer側で行っているため浮動小数点の演算誤差問題が絡む場合がある。 実際は気にするレベルではない。
【Viewer】最小構成のMBD事例 第2章 その301【AsamMdf②】
「同一Channelの複数表示」と「Channelの生値表示」のやり方を説明。 基本触りながら覚えて行った方が良い。 その他plot周りの基本操作を説明。 波形の拡大縮小、移動、スケール変更などの基本的操作。 上記の操作方法が分かっていればそれほど困ることは無い。
【Viewer】最小構成のMBD事例 第2章 その300【AsamMdf①】
AsamMdf付属Viewerで作成したMDFを確認していく。 まずはMDFを開くところ。 それっぽく表示されるのは確認。 Linear変換を細かく確認。 指定通りの線形変換がされている。 同一のChannelを複数表示する方法に加えて片方だけ生値表示する方法がある。 次回説明予定。
【Python】最小構成のMBD事例 第2章 その299【AsamMdf⑲】
MDFの残りの物理値変換式をMDF validatorで確認 tabular with range。 Lower、Upper、valueで1セットになるよに情報が埋まっている。 value range to text。 tabular with rangeの文字列変換型。 文字列も情報として埋まっている。
【Python】最小構成のMBD事例 第2章 その298【AsamMdf⑱】
今回もMDF Validatorで物理変換式を確認。 tabular without interpolationとtabular with interpolationはcc_typeが違うだけで保持している情報は一緒。 value to textはtabularのようなテーブル情報と変換先の文字列を格納している。
「ブログリーダー」を活用して、KEIさんをフォローしませんか?
フーリエ変換には角周波数を扱うものと周波数を扱うものがある。角周波数と周波数の間には角度と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...
フーリエに積分公式は複素フーリエ級数と複素フーリエ係数から導出する。変換を想定した式に変換。複素指数関数との積と積分、総和を経由すると元に関数に戻るというイメージが重要。
AviUtlのセットアップと拡張編集Pluginの導入を行った。mp4ファイルの入力と出力の方法を説明。アニメーションgifの対応方法を説明。
分数は割り算の別表現として理解しやすく、逆数を掛けることで計算が簡単になる。これにより、小数の掛け算や割り算の理解が深まる。一次関数の数式をグラフにすることや、グラフから数式を導くことは、データのトレンド分析や物理現象の理解に役立つ。微分は関数の変化率を求める手法であり、数値微分を使って近似的に求めることができる。これにより、物理学や経済学など多くの分野で応用可能。
Youtube動画やブログ記事のアイキャッチ用に作成した、VOCEIVX(四国めたん、ずんだもん、春日部つむぎ)、AivisSpeech(Anneli)の画像たち。Stable Diffusionで生成&少しペン入れ&GIMPによる補正したものになります。
各種フーリエについてまとめてみた。いままでは級数→係数の順番でやっていたため、逆フーリエ変換→フーリエ変換の順番が自然。実際には「フーリエの積分公式を求める」ことになるが、これは逆フーリエ変換そのものである。
各種フーリエについてまとめてみた。いままでは級数→係数の順番でやっていたため、逆フーリエ変換→フーリエ変換の順番が自然。実際には「フーリエの積分公式を求める」ことになるが、これは逆フーリエ変換そのものである。
最適化アルゴリズム モーメンタムを用いて分類の学習をPythonで実現。 問題無く動作。 学習の収束が通常の勾配降下法よりも比較的早い。
最適化アルゴリズム モーメンタムを用いて分類の学習をMATLABで実現。 問題無く動作。 学習の収束が通常の勾配降下法よりも比較的早い。
モーメンタムを確認するプログラムの方針を確認。 以前の勾配降下法のプログラムをベースにする。 隠れ層のユニット数は4。 プログラムのフローを確認。 モーメンタム項とパラメータ更新が基本的な差分となる。
モーメンタムの更新式について確認。 指数移動平均を利用して直近の値を重視する。 モーメンタムの動作イメージについて確認。 最初は大きく更新して、最適解が近いと小さく更新。 勾配降下法で言うところの学習率が可変と同義な動きになる。
勾配降下法の更新式を確認。 勾配降下法の動作イメージを確認。 学習率が大きい場合と小さい場合で挙動が変わる。 ちょうど良い学習率を人間の手で探す。 これにより、一般的なパラメータとは異なるハイパーパラメータというカテゴリになる。
最適化アルゴリズムを取り扱う。 今回のネットワークだとさほど恩恵はないが知っていて損はない。 まずはモーメンタムから解説&実験をしていく。 最初は復習を兼ねて勾配降下法についても確認する。
モーメンタムを確認するプログラムの方針を確認。 以前の勾配降下法のプログラムをベースにする。 隠れ層のユニット数は4。 プログラムのフローを確認。 モーメンタム項とパラメータ更新が基本的な差分となる。
モーメンタムの動作イメージについて確認。 動作イメージの表現は難しい。 最初は大きく更新して、最適解が近いと小さく更新。 勾配降下法で言うところの学習率が可変と同義な動きになる。
モーメンタムの更新式について確認。 指数移動平均を利用して直近の値を重視する。 実際の指数移動平均とは異なっているので、その点は注意。
勾配降下法の動作イメージを確認。 学習率が大きい場合と小さい場合で挙動が変わる。 ちょうど良い学習率を人間の手で探す。 これにより、一般的なパラメータとは異なるハイパーパラメータというカテゴリになる。
今回改めてまじめに更新式を確認。 勾配降下法の更新式が一番シンプルなので今後の最適化アルゴリズムの更新式を見る際は比較対象になりやすい。
最適化アルゴリズムを取り扱う。 今回のネットワークだとさほど恩恵はないが知っていて損はない。 まずはモーメンタムから解説&実験をしてい 最初は復習を兼ねて勾配降下法についても確認する。
多層パーセプトロンの隠れ層のユニット数を2から4に変えたJuliaコードで分類を実施。 大きく2パターンの分類パターンがある。 やや複雑な分類パターンが4ユニットにすることで出てきたもの。
多層パーセプトロンの隠れ層のユニット数を2から4に変えたScilabコードで分類を実施。 大きく2パターンの分類パターンがある。 やや複雑な分類パターンが4ユニットにすることで出てきたもの。
多層パーセプトロンの隠れ層のユニット数を2から4に変えたPythonコードで分類を実施。 大きく2パターンの分類パタ やや複雑な分類パターンが4ユニットにすることで出てきたもの。
多層パーセプトロンの隠れ層のユニット数を2から4に変えたMATLABコードで分類を実施。 大きく2パターンの分類パターン やや複雑な分類パターンが4ユニットにすることで出てきたもの。
多層パーセプトロンの隠れ層のユニット数を2から4に変えたJuliaコードで分類を実施。 大きく2パターンの分類パターンがある。 やや複雑な分類パターンが4ユニットにすることで出てきたもの。
多層パーセプトロンの隠れ層のユニット数を2から4に変えたScilabコードで分類を実施。 大きく2パターンの分類パターンがある。 やや複雑な分類パターンが4ユニットにすることで出てきたもの。
多層パーセプトロンの隠れ層のユニット数を2から4に変えたPythonコードで分類を実施。 大きく2パターンの分類パターンがある。 やや複雑な分類パターンが4ユニットにすることで出てきたもの。
多層パーセプトロンの隠れ層のユニット数を2から4に変えたMATLABコードで分類を実施。 大きく2パターンの分類パターンがある やや複雑な分類パターンが4ユニットにすることで出てきたもの。