4
Most read
8
Most read
14
Most read
2017-01更新 熊本高専
森下功啓
VBAで
数値計算10
本資料の目次
逆行列
最小二乗法による連立方程式の解法
その他
2
逆行列
3
逆行列とは
𝐀𝐀がn次の正方行列(n×n行列)で、式(1)と式(2)を満たすと
き、𝐀𝐀−𝟏𝟏を𝐀𝐀の逆行列という。逆行列を用いると、式(3)の様に
行列の方程式を簡単に解くことができる。
4
𝐀𝐀−𝟏𝟏
𝐀𝐀 = 𝐀𝐀𝐀𝐀−𝟏𝟏
= 𝐈𝐈
(1)𝐀𝐀 ≠ 𝟎𝟎
(2)
* 𝐀𝐀 は𝐀𝐀の行列式で、式(1)を満
たした行列を正則行列という。
𝐀𝐀𝐁𝐁 = 𝐂𝐂
(3)𝐀𝐀−𝟏𝟏
𝐀𝐀𝐁𝐁 = 𝐀𝐀−𝟏𝟏
𝐂𝐂
𝐁𝐁 = 𝐀𝐀−𝟏𝟏 𝐂𝐂
逆行列のアルゴリズム
掃き出し法を用いて、逆行列を求めることができる。
5
𝐀𝐀𝐀𝐀−1
= 𝐈𝐈
𝑎𝑎11 ⋯ 𝑎𝑎1𝑛𝑛
⋮ ⋱ ⋮
𝑎𝑎 𝑚𝑚1 ⋯ 𝑎𝑎 𝑚𝑚𝑚𝑚
𝒃𝒃1, ⋯ , 𝒃𝒃𝑛𝑛 =
1 ⋯ 0
⋮ ⋱ ⋮
0 ⋯ 1
𝒃𝒃𝑗𝑗 :𝐀𝐀−1の列ベクトル
𝑎𝑎11 ⋯ 𝑎𝑎1𝑛𝑛
⋮ ⋱ ⋮
𝑎𝑎 𝑚𝑚1 ⋯ 𝑎𝑎 𝑚𝑚𝑚𝑚
𝒃𝒃1 =
1
⋮
0
𝑎𝑎11 ⋯ 𝑎𝑎1𝑛𝑛
⋮ ⋱ ⋮
𝑎𝑎 𝑚𝑚1 ⋯ 𝑎𝑎 𝑚𝑚𝑚𝑚
𝒃𝒃𝑛𝑛 =
0
⋮
1
𝑎𝑎11 ⋯ 𝑎𝑎1𝑛𝑛
⋮ ⋱ ⋮
𝑎𝑎 𝑚𝑚1 ⋯ 𝑎𝑎 𝑚𝑚𝑚𝑚
𝒃𝒃𝑗𝑗 =
𝛿𝛿1
⋮
𝛿𝛿𝑚𝑚
𝛿𝛿𝑖𝑖 = �
1, 𝑖𝑖 = 𝑗𝑗
0, 𝑖𝑖 ≠ 𝑗𝑗
係数行列の列ベクトルと単位行列の列ベクトルの関係に注目してみる。
一般化して書き直すと↓の様になる。
6
既知 未知
これは、掃き出し法で使った構造と同じですね!?
結論 𝑎𝑎11 ⋯ 𝑎𝑎1𝑛𝑛
⋮ ⋱ ⋮
𝑎𝑎 𝑚𝑚1 ⋯ 𝑎𝑎 𝑚𝑚𝑚𝑚
1 ⋯ 0
⋮ ⋱ ⋮
0 ⋯ 1
1 ⋯ 0
⋮ ⋱ ⋮
0 ⋯ 1
́𝑏𝑏11 ⋯ ́𝑏𝑏1𝑛𝑛
⋮ ⋱ ⋮
́𝑏𝑏𝑚𝑚1 ⋯ ́𝑏𝑏𝑚𝑚𝑚𝑚
これを
こうしてしまう
𝑎𝑎11 ⋯ 𝑎𝑎1𝑛𝑛
⋮ ⋱ ⋮
𝑎𝑎 𝑚𝑚1 ⋯ 𝑎𝑎 𝑚𝑚𝑚𝑚
𝒃𝒃𝑗𝑗 =
𝛿𝛿1
⋮
𝛿𝛿𝑚𝑚
𝛿𝛿𝑖𝑖 = �
1, 𝑖𝑖 = 𝑗𝑗
0, 𝑖𝑖 ≠ 𝑗𝑗
𝒃𝒃1 𝒃𝒃𝑛𝑛
𝐀𝐀−1
実線で示された四角の枠
内が逆行列である。
逆行列を求めるアルゴリズム
逆行列を求めるアルゴリズムは複数あるが、ここでは以下の様に考えたい。
一度に計算した方が速いが、資産(作ったプログラム)を活用したい
そこで、逆行列を列ベクトル単位で求める
求めた列ベクトルをArrayに順番に格納してもそのままでは転置状態
matrix = Array(vect1, vect2, vect3)で行列を作ると、転置状態となる。
転置状態の行列を転置して逆行列を得る。
テストとして元の行列と逆行列の積を計算し、単位行列を得るか確認
7
𝑎𝑎11 ⋯ 𝑎𝑎1𝑛𝑛
⋮ ⋱ ⋮
𝑎𝑎 𝑚𝑚1 ⋯ 𝑎𝑎 𝑚𝑚𝑚𝑚
𝒃𝒃𝑗𝑗 =
𝛿𝛿1
⋮
𝛿𝛿𝑚𝑚
𝛿𝛿𝑖𝑖 = �
1, 𝑖𝑖 = 𝑗𝑗
0, 𝑖𝑖 ≠ 𝑗𝑗
つまり、→の計算を𝑗𝑗 = 1
から𝑚𝑚まで繰り返す。
逆行列を求める
関数の実装例
8
Function matrix_inverse(matrix)
Dim delta As Variant
delta = Array()
ReDim delta(UBound(matrix))
inverse = matrix ' コピーはしているが、ただ同じサイズの行列が欲しいだけ
For i = 0 To UBound(matrix)
For k = 0 To UBound(delta)
If k = i Then
delta(k) = 1
Else
delta(k) = 0
End If
Next k
b = get_x_2(delta, matrix)
inverse(i) = b
Next i
inverse = matrix_t(inverse)
matrix_inverse = inverse
End Function
@VBA
転置
Array()の入れ子を想定
実用上は正方行列であるこ
とや、行列式が0にならない
事を確認した方がいい。
逆行列の列ベクトルの計算
単位行列の列ベクトル
を格納する変数
単位行列のi列における列
ベクトルを作っている
動作のテスト
デバッグモードで止めながら変数の変化の様子を観察した様
子を以下に示す。
9
元々の行列との積で単位行列ができているこ
とが分かる。
最小二乗法による
連立方程式の解法
10
最小二乗法とは
計算結果と観測値との差の2乗値の和(合計値)を最小にする
係数を求める手法を最小二乗法という。回帰式を求める際に
よく利用される。
11
例えば、左の例では𝑦𝑦 = 𝑥𝑥2 + 1にノイ
ズを加えて作った点に近似曲線𝑦𝑦 =
𝑎𝑎𝑥𝑥2 + 𝑏𝑏𝑏𝑏 + 𝑐𝑐 を当てはめたものである。
この例では、予測値と実測値との差の
二乗和が最小になるように 𝑎𝑎と𝑏𝑏と𝑐𝑐が
決定される。
最小を目指すので、和の関数を各係数
で偏微分した値が0になるように調整
するのだが詳細は省略する。
観測値Yにノイズがある場
合の連立方程式の解法は?
ところで、観測値にノイズ(ランダムな観測誤差)がある場
合、解の精度が劣化する。そこで最小二乗法の出番である。
結論を述べると、未知数の数pに対し方程式の数(観測の数)
qをp<qとし、行列Aから作成した擬似逆行列を逆行列の替わ
りに利用する。
観測値に誤差がある場合は多数の観測により計算精度を上げ
ることができることは直感的に理解できると思う。なお、p<q
の場合はAが正方行列にならないので逆行列は求まらない。 12
𝐀𝐀𝐱𝐱 = 𝐲𝐲
(4)𝐀𝐀−𝟏𝟏 𝐀𝐀𝐱𝐱 = 𝐀𝐀−𝟏𝟏 𝐲𝐲
𝐱𝐱 = 𝐀𝐀−𝟏𝟏
𝒚𝒚
観測値にノイズのない連立方程式は、式(4)に示すように式に
逆行列をかけることで簡単に解ける。
近似曲線𝑦𝑦 = 𝑎𝑎𝑥𝑥2 + 𝑏𝑏𝑏𝑏 + 𝑐𝑐
の𝑎𝑎と𝑏𝑏と𝑐𝑐が𝐱𝐱に格納されて
いると思ってほしい。
擬似逆行列
擬似逆行列は式(5)で求める。擬似逆行列であることを示すた
めに、行列の右上に+マークがついている。
13
𝐀𝐀+ = (𝐀𝐀𝐓𝐓 𝐀𝐀)−𝟏𝟏 𝐀𝐀𝐓𝐓 (5)
擬似逆行列の実装例
擬似逆行列の実装例を以下に示す。
14
Function matrix_pseudo_inverse(m)
' 疑似逆行列を返す
matrix_pseudo_inverse = matrix_cross(matrix_inverse(matrix_cross(matrix_t(m), m)), matrix_t(m))
End Function
@VBA
動作のテスト
デバッグモードで止めながら変数の変化の様子を観察した様
子を以下に示す。
15
係数行列は正方行列ではないが、擬似逆行列と元々
の行列との積で単位行列ができていることが分かる。
なお、掛ける順序に注意のこと。
その他
16
参考文献
SAK Streets - VB 開発言語資料
 http://sak.cool.coocan.jp/w_sak3/doc/sysbrd/sak3vb.htm
 基本的にVB6.0の解説だが、VBAにほぼそのまま適用できる。かなり詳しい。
擬似逆行列(一般化逆行列)
 http://imagingsolution.net/math/pseudoinversematrix/
最小二乗法と特異値
 http://www.comp.tmu.ac.jp/kzmurota/lect-keieisuri/1401singval160101.pdf
17

More Related Content

PPTX
【解説】 一般逆行列
PPTX
Graph convolution (スペクトルアプローチ)
PDF
Hyperoptとその周辺について
PDF
Indeedなう A日程 解説
PDF
Deep Learningハンズオン勉強会「Caffeで画像分類を試してみようの会」
PPTX
【論文読み会】Autoregressive Diffusion Models.pptx
PDF
Rubinの論文(の行間)を読んでみる-傾向スコアの理論-
PDF
8 予測と回帰分析
【解説】 一般逆行列
Graph convolution (スペクトルアプローチ)
Hyperoptとその周辺について
Indeedなう A日程 解説
Deep Learningハンズオン勉強会「Caffeで画像分類を試してみようの会」
【論文読み会】Autoregressive Diffusion Models.pptx
Rubinの論文(の行間)を読んでみる-傾向スコアの理論-
8 予測と回帰分析

What's hot (20)

PDF
ベイズ機械学習(an introduction to bayesian machine learning)
PDF
XGBoostからNGBoostまで
PDF
シリーズML-07 ニューラルネットワークによる非線形回帰
PPTX
【論文読み会】Moser Flow: Divergence-based Generative Modeling on Manifolds
PPTX
[DL輪読会]Understanding deep learning requires rethinking generalization
PDF
ΠΛΗ10 ΜΑΘΗΜΑ 2.6
PDF
PRML上巻勉強会 at 東京大学 資料 第2章2.3.3 〜 2.3.6
PPTX
DiagrammeRと仲良くなった話ーグラフィカルモデルのためのDiagrammeR速習ー
PDF
変分法
PDF
直交領域探索
PDF
Tokyo r7 sem_20100724
PDF
PRML2.1 2.2
PPTX
EMアルゴリズム
PDF
20130716 はじパタ3章前半 ベイズの識別規則
PPTX
Rでのtry関数によるエラー処理
PDF
サポートベクトルデータ記述法による異常検知 in 機械学習プロフェッショナルシリーズ輪読会
PDF
自然言語処理における深層学習を用いた予測の不確実性 - Predictive Uncertainty in NLP -
PDF
PRML読書会#4資料+補足
PPTX
2014.02.20_5章ニューラルネットワーク
PPTX
データサイエンス概論第一=4-1 相関・頻度・ヒストグラム
ベイズ機械学習(an introduction to bayesian machine learning)
XGBoostからNGBoostまで
シリーズML-07 ニューラルネットワークによる非線形回帰
【論文読み会】Moser Flow: Divergence-based Generative Modeling on Manifolds
[DL輪読会]Understanding deep learning requires rethinking generalization
ΠΛΗ10 ΜΑΘΗΜΑ 2.6
PRML上巻勉強会 at 東京大学 資料 第2章2.3.3 〜 2.3.6
DiagrammeRと仲良くなった話ーグラフィカルモデルのためのDiagrammeR速習ー
変分法
直交領域探索
Tokyo r7 sem_20100724
PRML2.1 2.2
EMアルゴリズム
20130716 はじパタ3章前半 ベイズの識別規則
Rでのtry関数によるエラー処理
サポートベクトルデータ記述法による異常検知 in 機械学習プロフェッショナルシリーズ輪読会
自然言語処理における深層学習を用いた予測の不確実性 - Predictive Uncertainty in NLP -
PRML読書会#4資料+補足
2014.02.20_5章ニューラルネットワーク
データサイエンス概論第一=4-1 相関・頻度・ヒストグラム
Ad

Viewers also liked (15)

PDF
Introduction to NumPy & SciPy
PDF
決定木を用いた、異性タイプの嗜好パターン分析
PPS
Php Lt 20080316
PDF
購入時のメンタルモデルが製品評価に及ぼす影響
PDF
質問紙調査による回答の揺れといわゆる量的研究の危うさ(一部)
PDF
VBAで数値計算 04 ニュートン法
PDF
「3.1.2最小二乗法の幾何学」PRML勉強会4 @筑波大学 #prml学ぼう
PPTX
MlaPP 7章 「線形回帰」 8章 「ロジスティック回帰」
PDF
Rexhep qosja te vertetat e vonuara
PDF
フリーソフトウェアを通じた多変量解析講習
PPTX
Partial least squares回帰と画像認識への応用
PPTX
幅広なテスト分析ができるようになろう
PDF
決定木学習
PDF
パターン認識 第10章 決定木
PDF
機械学習によるデータ分析まわりのお話
Introduction to NumPy & SciPy
決定木を用いた、異性タイプの嗜好パターン分析
Php Lt 20080316
購入時のメンタルモデルが製品評価に及ぼす影響
質問紙調査による回答の揺れといわゆる量的研究の危うさ(一部)
VBAで数値計算 04 ニュートン法
「3.1.2最小二乗法の幾何学」PRML勉強会4 @筑波大学 #prml学ぼう
MlaPP 7章 「線形回帰」 8章 「ロジスティック回帰」
Rexhep qosja te vertetat e vonuara
フリーソフトウェアを通じた多変量解析講習
Partial least squares回帰と画像認識への応用
幅広なテスト分析ができるようになろう
決定木学習
パターン認識 第10章 決定木
機械学習によるデータ分析まわりのお話
Ad

Similar to VBAで数値計算 10 逆行列と疑似逆行列 (20)

PDF
VBAで数値計算 09 掃き出し法
PPTX
AI course report part 1(Fix)
PDF
AI course report part 1
PPTX
連立一次方程式.pptx
PDF
PDF
第8回 配信講義 計算科学技術特論A(2021)
PDF
210603 yamamoto
PDF
化学科自主ゼミ1
PDF
さくっと線形代数
PDF
1 応用情報
PDF
VBAで数値計算 08 行列
PPTX
【Deep Learning (MIT Press)】線形代数 2.1~2.7
PDF
データ解析11 因子分析の応用
PDF
わかりやすいパターン認識_3章
PDF
VBAで数値計算 編集後記
PDF
PRML復々習レーン#3 3.1.3-3.1.5
PDF
第14回 配信講義 計算科学技術特論B(2022)
PDF
クラシックな機械学習の入門 6. 最適化と学習アルゴリズム
PDF
第15回 配信講義 計算科学技術特論B(2022)
PDF
VBAで数値計算 09 掃き出し法
AI course report part 1(Fix)
AI course report part 1
連立一次方程式.pptx
第8回 配信講義 計算科学技術特論A(2021)
210603 yamamoto
化学科自主ゼミ1
さくっと線形代数
1 応用情報
VBAで数値計算 08 行列
【Deep Learning (MIT Press)】線形代数 2.1~2.7
データ解析11 因子分析の応用
わかりやすいパターン認識_3章
VBAで数値計算 編集後記
PRML復々習レーン#3 3.1.3-3.1.5
第14回 配信講義 計算科学技術特論B(2022)
クラシックな機械学習の入門 6. 最適化と学習アルゴリズム
第15回 配信講義 計算科学技術特論B(2022)

More from Katsuhiro Morishita (20)

PDF
数ページの卒業論文作成のためのwordの使い方
PDF
Pythonのパッケージ管理ツールの話@2020
PDF
オトナのpandas勉強会(資料)
PDF
SIgfox触ってみた in IoTLT in 熊本市 vol.3
PDF
Google Colaboratoryの使い方
PDF
Excelでのグラフの作成方法re
PDF
Pythonのmain関数
PDF
Pythonスクリプトの実行方法@2018
PDF
機械学習と主成分分析
PDF
Pythonで始めた数値計算の授業@わんくま勉強会2018-04
PDF
マークシート読み込みプログラムを作ってみた@2018-04-04
PDF
オトナの画像認識 2018年3月21日実施
PDF
LoRa-WANで河川水位を計測してみた@IoTLT@熊本市 vol.001
PDF
シリーズML-08 ニューラルネットワークを用いた識別・分類ーシングルラベルー
PDF
シリーズML-06 ニューラルネットワークによる線形回帰
PDF
シリーズML-05 ニューラルネットワーク
PDF
シリーズML-03 ランダムフォレストによる自動識別
PDF
シリーズML-01 機械学習の概要
PDF
Pandas利用上のエラーとその対策
PDF
Pythonによる、デジタル通信のための ビタビ符号化・復号ライブラリの作成
数ページの卒業論文作成のためのwordの使い方
Pythonのパッケージ管理ツールの話@2020
オトナのpandas勉強会(資料)
SIgfox触ってみた in IoTLT in 熊本市 vol.3
Google Colaboratoryの使い方
Excelでのグラフの作成方法re
Pythonのmain関数
Pythonスクリプトの実行方法@2018
機械学習と主成分分析
Pythonで始めた数値計算の授業@わんくま勉強会2018-04
マークシート読み込みプログラムを作ってみた@2018-04-04
オトナの画像認識 2018年3月21日実施
LoRa-WANで河川水位を計測してみた@IoTLT@熊本市 vol.001
シリーズML-08 ニューラルネットワークを用いた識別・分類ーシングルラベルー
シリーズML-06 ニューラルネットワークによる線形回帰
シリーズML-05 ニューラルネットワーク
シリーズML-03 ランダムフォレストによる自動識別
シリーズML-01 機械学習の概要
Pandas利用上のエラーとその対策
Pythonによる、デジタル通信のための ビタビ符号化・復号ライブラリの作成

Recently uploaded (17)

PDF
13_「他者と自分、対立を防ぐには?」市原中央高等学校 大野リリinspirehigh.pdf
PDF
3_「本当の『悪者』って何?」鷗友学園女子中学校_福島 雪乃さんinspirehigh.pdf
PDF
My Inspire High Award 2024(岡田秀幸).pptx.pdf
PDF
12_星の杜中学校小倉ももこ『家族ってなに』inspirehigh発表物.pdf
PPTX
PPT KANJI IRODORI SHOKYUU 1 BAB 9 (FURIGANA)
PDF
9_前田音葉さん:「Yakushima Islandってなんか変じゃない?」.pdf
PDF
12_「家族とは何か」星の杜中学校小倉ももこ『家族ってなに』inspirehigh.pdf
PDF
7_「なぜ人は他人と違うところがあってもそれをなかなか誇れないのか?」明治大学付属中野八王子中学校宮本ゆりかさん.pdf
PDF
6_「老いることは不幸なこと?」植草学園大学附属高等学校森 珠貴さんinspirehigh.pdf
PDF
8_「世の中の流行はどのようにして生まれるのか」学校法人聖ドミニコ学園竹野はるいpptx.pdf
PDF
11_「なぜ議会への関心が低いのか?」長野県長野西高等学校 片桐 菜々美さん.pdf
PDF
「なぜ、好きなことにいつかは飽きるの?」大塚莉子 - My Inspire High Award 2024.pdf
PDF
共同売店から考える沖縄の新しい流通のしくみ2025琉球大学流通原論講義資料.pdf
PDF
外国人が日本のテーブルマナーに驚く理由は?_公文国際学園高等部 角田 恵梨佳さん
PDF
5_「AIと仲良くなるには?」日本大学東北高等学校南梨夢乃さんinspirehigh.pdf
PDF
14_「スーパーマーケットで回収されたキャベツ外葉は廃棄されているの?」公文国際学園高等部古澤琴子.pdf
PDF
10_「孤独は敵なのか?」 桜花学園高等学校堀川愛可さんinspirehigh.pdf
13_「他者と自分、対立を防ぐには?」市原中央高等学校 大野リリinspirehigh.pdf
3_「本当の『悪者』って何?」鷗友学園女子中学校_福島 雪乃さんinspirehigh.pdf
My Inspire High Award 2024(岡田秀幸).pptx.pdf
12_星の杜中学校小倉ももこ『家族ってなに』inspirehigh発表物.pdf
PPT KANJI IRODORI SHOKYUU 1 BAB 9 (FURIGANA)
9_前田音葉さん:「Yakushima Islandってなんか変じゃない?」.pdf
12_「家族とは何か」星の杜中学校小倉ももこ『家族ってなに』inspirehigh.pdf
7_「なぜ人は他人と違うところがあってもそれをなかなか誇れないのか?」明治大学付属中野八王子中学校宮本ゆりかさん.pdf
6_「老いることは不幸なこと?」植草学園大学附属高等学校森 珠貴さんinspirehigh.pdf
8_「世の中の流行はどのようにして生まれるのか」学校法人聖ドミニコ学園竹野はるいpptx.pdf
11_「なぜ議会への関心が低いのか?」長野県長野西高等学校 片桐 菜々美さん.pdf
「なぜ、好きなことにいつかは飽きるの?」大塚莉子 - My Inspire High Award 2024.pdf
共同売店から考える沖縄の新しい流通のしくみ2025琉球大学流通原論講義資料.pdf
外国人が日本のテーブルマナーに驚く理由は?_公文国際学園高等部 角田 恵梨佳さん
5_「AIと仲良くなるには?」日本大学東北高等学校南梨夢乃さんinspirehigh.pdf
14_「スーパーマーケットで回収されたキャベツ外葉は廃棄されているの?」公文国際学園高等部古澤琴子.pdf
10_「孤独は敵なのか?」 桜花学園高等学校堀川愛可さんinspirehigh.pdf

VBAで数値計算 10 逆行列と疑似逆行列