はじめに MATLAB,Python,Scilab,Julia比較するシリーズの第4章。 第3章では画像処理、座標変換の話がメインだった。 第4章は分類問題関連の話がメインとなる。基本的には以下の流れとなる。 形式ニューロン 決定境界線の安
シミュレーションで実物を扱わなくても仕事ができる環境を目指す。つまり家に引きこもって外に出なくてもOKな世界。
[CanTp] Vehicle Diagnostic Communication Part 18 [Simulation 6]
CAN transmissions were replayed in can.player and recorded in can.logger. There are three file formats recorded by can.logger. asc, blf, and csv.
[CanTp] Vehicle Diagnostic Communication Part 17 [Simulation 5]
I installed python-can. Checked the operation of python-can. Sent by can.player and recorded by BusMaster. The performance of python-can is on the order of 1-2[ms]. CANoe has better accuracy.
[CanTp] Vehicle Diagnostic Communication Part 16 [Simulation 4]
Finally, we get into Python. I'll use Anaconda, but you can use the official Python for Windows. You'd better make sure each one works! (I keep telling myself that…)
[CanTp] Vehicle Diagnostic Communication Part 15 [Simulation 3]
We set up BusMaster. Monitored CAN frames on Virtual CAN Bus with BusMaster.
[CanTp] Vehicle Diagnostic Communication Part 14 [Simulation 2]
We installed Vector's free XL Driver Library and Vector Driver Setup. There is an application called xlCANControl in the XL Driver Library, so it is a quick way to check the operation. You can assign channels to each app, so you need to assign them in VectorHardware in the control panel.
[CanTp] Vehicle Diagnostic Communication Part 13 [Simulation 1]
We are tired of studying and it's time to do some simulations. I will also do AUTOSAR related things. I will also dare the challenge of using Python.
[DoCAN] Vehicle Diagnostic Communication Part 12 [ISO-TP 8]
ISO15765-2 (UDS) and ISO15765-4 (OBD) have different values for the timeout parameter. The UDS side is looser and the OBD side is stricter. Some timeout parameters are set as performance requirements. N_Br and N_Cs.
[DoCAN] Vehicle Diagnostic Communication Part 11 [ISO-TP 7]
ISO-TP has six timeout parameters. N_As, N_Bs, N_Cs, N_Ar, N_Br, and N_Cr. Single frame transmission is complete in one frame, so only N_As. Multi-frame transmission uses all parameters. ISO-TP only determines the timeout at the frame level, and the timeout per message is determined by a higher layer.
[DoCAN] Vehicle Diagnostic Communication Part 10 [ISO-TP 6]
Decomposition of SF-SF and MF-MF communications into type of frame. MF-MF communication behaves slightly differently in the BS and FS of FC. The parts of the message that are not included in the message for DLC reasons are filled in with padding. Any value can be used for padding. Commonly used values are 00, 55, AA, CC, and FF.
[DoCAN] Vehicle Diagnostic Communication Part 9 [ISO-TP 5]
Four types of frames are explained. The first N_PCItype is available for immediate judgment upon reception. Each has its own unique parameters. SF. SF_DL. FF. FF_DL. FC. FS. BS. STmin. CF. SN.
[DoCAN] Vehicle Diagnostic Communication Part 8 [ISO-TP 4]
CAN multiple frames can send/receive up to 4095 bytes. The parameter N_PCI is at the start of each frame, and there is a mechanism to concatenate the frames well. There are two main transmission methods depending on the number of data to be sent. If the number of data to be sent is 7 bytes or less, single frame transmission is used. If the number of transmitted data is 8 bytes or more, it is a multi-frame transmission. Multi-frame transmission has a mechanism to control the throughput by setting the CF transmission interval and the timing for receiving another FC with FC.
[DoCAN] Vehicle Diagnostic Communication Part 7 [ISO-TP 3]
Extended addressing is an extended version of Normal addressing with N_TA added. Mixed addressing has 11bitID and 29bitID versions. The 11bitID (standard ID) version is based on Normal addressing and assumes gateway traversal. The 29bitID (extended ID) version is based on Normal fixed addressing and assumes gateway traversal.
[DoCAN] Vehicle Diagnostic Communication Part 6 [ISO-TP 2]
Normal addressing is the simplest addressing format. Normal fixed addressing is the easiest addressing format to define as a specification
[DoCAN] Vehicle Diagnostic Communication Part 5 [ISO-TP 1]
There are physical addresses for one-to-one communication and functional addresses for one-to-many communication. Physical and functional addresses are composed of four different addressing formats The addressing formats consist of N_AI, N_TAtype, N_TA, N_SA, and N_AE. However, they may or may not be used depending on the addressing format.
[DoCAN] Vehicle Diagnostic Communication Part 4 [CAN 3]
Click here for back issues.Introduction.This article is the second part of a series on the data link layer of CAN, ISO 1
[DoCAN] Vehicle Diagnostic Communication Part 3 [CAN 2]
Basically, a Google search can provide information on the CAN data link layer. CAN baud rate setting is special. It is not possible to set the baud rate directly, but the quantum time, which is a decomposition of 1 bit, is determined first. Since the total quantum is the baud rate, it is necessary to calculate backward from the baud rate you want to set. CAN can adjust the sampling point. It can be decided at which quantum in the total quantum to sample. This is often expressed as [%]. 50[%] for the middle, 75[%] for slightly behind (around 3/4).
[DoCAN] Vehicle Diagnostic Communication Part 2 [CAN 1]
The required standard numbers were reviewed. CAN has become a relatively common specification, and you can find information there on the Internet and in books. 1 Mbps is not often used in DoCAN. For legal reasons 1Mbps lacks stability in some aspects.
[DoCAN] Vehicle Diagnostic Communication Part 1 [Overview]
The typical standards for vehicle diagnostic communication are ISO 15765-2 and ISO 14229-1. Depending on the manufacturer's policy, the standard number may be a requirement rather than a specific requirement. The layers of vehicle diagnostic communication can be represented by the OSI model. There are two main axes of vehicle diagnostic communication. UDS and OBD. OBD is referenced by vehicle emission regulations, so the various parameters are clear. UDS only has recommended values, and the actual values are dependent on the finished vehicle manufacturer.
【入門】状態空間モデルをPID制御(Julia)【数値計算】
JuliaでDCモータ状態空間モデルをPID制御シミュレーション。 Juliaも構造体を定義できるが、structだと更新不可になる。よってmutableを使って更新可能な構造体にする必要がある。 シミュレーション結果は他のツール言語と同じ結果が得られた。
【入門】状態空間モデルをPID制御(Scilab)【数値計算】
ScilabでDCモータ状態空間モデルをPID制御シミュレーション実施。 コード自体はMATLABと一緒。 構造体の生成の仕方も一緒だが、内部的には連想配列で実現されている。 シミュレーション結果もOK。
【入門】状態空間モデルをPID制御(Python)【数値計算】
MATLABでやったDCモータ状態空間モデルをPID制御をPython(Numpy)で実施。 Pythonの場合、構造体はclassで実現。 事前にclassを定義する必要はある。 MATLABと同様の結果が得られた。
【入門】状態空間モデルをPID制御(MATLAB)【数値計算】
PID制御器のブロック線図と全体構成を再掲。 上記をMATLABで実現。 接続に関してはコード上では分かり難いので全体構成図と見比べながら確認した方が良い。 シミュレーション実施。 u(t)の挙動と見るとPID制御っぽい挙動になっている。 各PIDゲインを調整すると挙動が変わるはず。
MATLAB,Python,Scilab,Julia比較【バックナンバー】
はじめにMATLAB,Python,Scilab,Julia比較するシリーズ。といっても基本はベクトル行列ベースの演算に留め、各環境独自の機能はあまり使わない方針。あくまでベクトル&行列でどこまでできて、ベクトル&行列に留めているが故に各ツ
MATLAB,Python,Scilab,Julia比較 その80【PID制御⑨】
JuliaでDCモータ状態空間モデルをPID制御シミュレーション。 Juliaも構造体を定義できるが、structだと更新不可になる。よってmutableを使って更新可能な構造体にする必要がある。 シミュレーション結果は他のツール言語と同じ結果が得られた。
MATLAB,Python,Scilab,Julia比較 その79【PID制御⑧】
ScilabでDCモータ状態空間モデルをPID制御シミュレーション実施。 コード自体はMATLABと一緒。 構造体の生成の仕方も一緒だが、内部的には連想配列で実現されている。 シミュレーション結果もOK。
MATLAB,Python,Scilab,Julia比較 その78【PID制御⑦】
MATLABでやったDCモータ状態空間モデルをPID制御をPython(Numpy)で実施。 Pythonの場合、構造体はclassで実現。 事前にclassを定義する必要はある。 MATLABと同様の結果が得られた。
MATLAB,Python,Scilab,Julia比較 その77【PID制御⑥】
PID制御器のブロック線図と全体構成を再掲。 上記をMATLABで実現。 接続に関してはコード上では分かり難いので全体構成図と見比べながら確認した方が良い。 シミュレーション実施。 u(t)の挙動と見るとPID制御っぽい挙動になっている。 各PIDゲインを調整すると挙動が変わるはず。
DCモータの状態空間モデルを制御するためPID制御器を追加する。 上記を実現するためPID制御器の離散化を行う必要がある。 PID制御器は速度型PIDとする。 ワインドアップ対策の都合、速度型PIDを使うことが多い。 数式は複雑っぽく見えるがブロック線図としてはシンプル。
MATLAB,Python,Scilab,Julia比較 その75【PID制御④】
PID制御の数式をオイラー法で微分解決して離散化。 一見するとカオスには見えるが、似たような式が並んではいる。 上記がブロック線図にする際にいい感じに効いてくる。(たぶん)
「ブログリーダー」を活用して、KEIさんをフォローしませんか?
はじめに MATLAB,Python,Scilab,Julia比較するシリーズの第4章。 第3章では画像処理、座標変換の話がメインだった。 第4章は分類問題関連の話がメインとなる。基本的には以下の流れとなる。 形式ニューロン 決定境界線の安
多層パーセプトロンによる分類をMATLABで実施。 一応ちゃんと分類できた。
連鎖律の「プログラミングするための最適化」は連鎖律上の共通部分の特定が重要。 連鎖律の共通部分の算出。 共通変数で実際の処理に相当する数式を書き出し。
多層パーセプトロンの重みを決定するための誤差逆伝播法が必要。 誤差逆伝播法の全体像を確認。 出力層の連鎖律と各偏導関数を導出。 隠れ層から誤差関数までの連鎖律を導出。
GUGA 生成AIパスポート試験の問題集を設置。 現状は121問ほど放り込んでいる。問題のカテゴリは現状以下の範囲 第4章 情報リテラシー・基本理念とAI社会原則 第5章 テキスト生成AIのプロンプト制作と実例 問題は随時追加予定。(すべて
GUGA 生成AIパスポート試験の問題集を設置。 現状は121問ほど放り込んでいる。問題のカテゴリは現状以下の範囲 第4章 情報リテラシー・基本理念とAI社会原則 第5章 テキスト生成AIのプロンプト制作と実例 問題は随時追加予定。(すべて
連鎖律の共通部分の算出。 いままでの部品の組み合わせで導出できる。 共通変数で実際の処理に相当する数式を書き出し。 ついでに学習率を加味した各重み、各バイアスの更新式も記載。
連鎖律の「プログラミングするための最適化」は連鎖律上の共通部分の特定が重要。 連鎖律の共通部分を特定。 共通部分を変数化。 変数化したもので連鎖律を表現し直し。
隠れ層から誤差関数までの合成関数を確認。 隠れ層から誤差関数までの連鎖律を導出。
出力層の合成関数を確認。 出力層の連鎖律と各偏導関数を導出。 多層であるが故に、順伝播時の中間変数を記憶しておく必要がある。
誤差逆伝播法の全体像を確認。 更新したい重みとバイアスの層によって連鎖律のルートが少し変わる。 出力層と隠れ層の合成関数を確認。
多層パーセプトロンの重みを決定するための誤差逆伝播法が必要。 多層に渡っているため、少しメンドウクサイ。 各層の連鎖律を求め、その後結合させたり、プログラミング向けに最適化したりしていく予定。
JDLA Generative AI Testの問題集を設置。 現状は40問ほど放り込んでいる。問題は随時追加予定。(問題を解いてこのページに飛んできた場合、解答はこのページの下部に表示されてます。) 動画とか そのうち作ります。 学習書籍
単純パーセプトロンでは分類できないものがある。 決定境界直線を求めるというより決定領域を特定するというイメージになる。 非線形分類するにはパーセプトロンを複数使う。 単純パーセプトロン、多層パーセプトロンの構造と数式を説明。
非線形分類するにはパーセプトロンを複数使う。 つまり多層パーセプトロンにする。 単純パーセプトロン、多層パーセプトロンの構造と数式を説明。
単純パーセプトロンでは分類できないものがある。 XORなどの非線形分類を求められるものなどが代表的。 決定境界直線を求めるというより決定領域を特定するというイメージになる。
単純パーセプトロンの分類をJuliaで実施。 想定通り分類可能。 おおよそ200エポックあれば分類可能。
単純パーセプトロンの分類をScilabで実施。 想定通り分類可能。 おおよそ200エポックあれば分類可能。
単純パーセプトロンの分類をPythonで実施。 想定通り分類可能。 おおよそ200エポックあれば分類可能。
単純パーセプトロンの分類をMATLABで実施。 想定通り分類可能。 おおよそ200エポックあれば分類可能。
正規方程式による単回帰分析をPython(NumPy)で実施。 MATLABと同じ結果が得られた。 ベクトル、行列の内積の演算子は「@」。 「*」にしてしまうとアダマール積になってしまうので注意。
正規方程式による単回帰分析をMATLABで実施。 以前の最小二乗法と同じ結果が得られた。 数式で定義した通りの演算をするのみ。
正規方程式を使って単回帰分析を行う。 単回帰分析の二乗和誤差関数の定義。 正規方程式の各成分の定義。 上記を元に各ツール、各言語で演算を実施すればOK。
正規方程式を使って単回帰分析を行う。 単回帰分析の二乗和誤差関数の定義。 正規方程式の各成分の定義。 上記を元に各ツール、各言語で演算を実施すればOK。
いままでの知識の総動員すべく数式列挙。 二乗和誤差の偏導関数を元に最小化問題へ。 正規方程式がわかっていると、単回帰、重回帰、多項式回帰が一撃で解けるようになる。
二乗和誤差の偏導関数を元に最小化問題へ。 上記式を元に極小値を求める式へ。 これをxを求める式に変形したものが正規方程式。 正規方程式がわかっていると、単回帰、重回帰、多項式回帰が一撃で解けるようになる。
グラム行列が対称行列であることを利用して、二次形式であることを保証してしまう。 二次形式を保証した上で、それの偏導関数を利用する。
一般化した二乗和誤差の数式の変形を実施。 上記の途中で行列の積に対 (Ax)^T=x^T A^T。 計算すると分かるが普通に等しい結果になる。
二次形式の行列表現。 二次形式の微分。 グラム行列。 二乗和誤差の一般化。
二乗和誤差に関しては、以前の最小二乗法の誤差関数で扱ってはいる。 「正しいを思われる線との誤差を2乗にしたもの」という意味自体は変わらない。 二乗和誤差を多変量で表現。 ベクトル、行列で表現する。 一般化した後に具体化して確認。
多変量について説明。 いっぱい変数あるってこと。 二乗和誤差を多変量で表現。 ベクトル、行列で表現するってこと。 一般化した後に具体化して確認。
二乗和誤差に関しては、以前の最小二乗法の誤差関数で扱ってはいる。 「正しいを思われる線との誤差を2乗にしたもの」という意味自体は変わらない。 しかし、今回はこれを多変量として一般化しようという話になる。
グラム行列の定義について説明。 グラム行列の性質について説明。 対称行列になる。 グラム行列が対称行列になることの証明。
グラム行列が対称行列になることを証明。 m×nの行列を行ベクトルに分解してからグラム行列の演算をさせる。 演算結果の対称部をピックアップして等しいことを証明する。
グラム行列の説明。 グラム行列は対称行列になる。 試しにグラム行列の演算をして対象行列になるか確認。
二次形式の多項式としての偏導関数、行列形式による偏導関数を元にJuliaで算出及びプロット。 ともに同一の算出結果とプロットが得られた。 コードの差は演算部分はmeshgridを自作、グラフ表示がPyPlot経由Matplotlibの仕様になってる程度。
二次形式の多項式としての偏導関数、行列形式による偏導関数を元にScilabで算出及びプロット。 ともに同一の算出結果とプロットが得られた。 コードの差はreshapeがmatrixになった程度。
二次形式の多項式としての偏導関数、行列形式による偏導関数を元にPython(NumPy)で算出及びプロット。 ともに同一の算出結果とプロットが得られた。
二次形式の多項式としての偏導関数、行列形式による偏導関数を元にMATLABで算出及びプロット。 ともに同一の算出結果とプロットが得られた。
二次形式の多項式としての偏導関数、行列形式による偏導関数を元にScilabで算出及びプロット。 ともに同一の算出結果とプロットが得られた。 コードの差は演算部分はmeshgridを自作、グラフ表示がPyPlot経由Matplotlibの仕様になってる程度。