DS:数学的基礎 - 線形代数
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
「[[.NET 開発基盤部会 Wiki>http://dotnetdevelopmentinfras...
-戻る
--[[DS:数学的基礎]]
---線形代数
---[[微分・積分>DS:数学的基礎 - 微分・積分]]
---[[微分・偏微分>DS:数学的基礎 - 微分・偏微分]]
---[[確率・統計>DS:数学的基礎 - 確率・統計]]
--[[データサイエンス力]] > [[データ分析]]
---[[ベイズ統計]]
--[[ニューラルネットワーク(学習)]]
*目次 [#i07fc9bd]
#contents
*概要 [#k757c95e]
*詳細 [#s3e89929]
**スカラ、ベクトル、行列 [#w81894f7]
***スカラ [#i81f0d5e]
数値
***ベクトル [#ze383257]
ベクトルは、
-スカラの組合せ。
-大きさ・向きを持つ。
-矢印で表される。
-ある種の演算ができる。
--ベクトルの加減算
--ベクトルの内積・外積
***行列 [#ac9578ac]
行列は、
-スカラの組合せ。
-列ベクトルを並べたもの。
-ある種の演算ができる。
--ベクトルの変換
---行列とベクトルの積
---行列と行列のドット積、アダマール積
--連立方程式を解く。
**行列とベクトルの積 [#u3b86c56]
***...はベクトルの変換 [#nb849503]
行列はベクトルAをベクトルの変Bに変換している。
-前提
--Aはj行i列の行列
--eiはi成分のみ1で他は0のベクトル
-答え1:Aはベクトルeiをaiに変換する。
Aei=ai
-答え2:Aはベクトルpiをλi倍(λipiに変換)する。~
(詳しくは[[対角化>#h5a18d6f]]を参照)
Api=λipi
-ajiはAeiの第j成分(答え1の延長上で)
--Aeiでi列の列ベクトルが取り出される。
--この列ベクトルのj成分がajiになる。
-解り易さ(解り難さ)保存の法則
--ベクトルeiは解り易いが、aiは良く解らない。
--ベクトルpiは良く解らないが、λiは解り易い。
***...は電車の乗り継ぎ [#k5b5a32b]
-Aはj行i列の行列で、行列のn列の列ベクトルを電車とする。
-このn列の列ベクトル(電車)をベクトルのn成分で数値倍する...
-上記のi個の列ベクトル(全電車)を合成した(乗り継いだ)...
***...は内積を縦に並べたもの。 [#q03a97b6]
-Aはj行i列の行列で、行列のn行の行ベクトル
-この行ベクトルとベクトルの内積を計算する
-コレを立てに並べると計算結果になる。
-内積は「類似度」や「データと係数の積」などで使用。
**行列で連立方程式を解く。 [#k6cc6fc1]
行列は連立方程式を扱うようになって発達した。
***行基本変形 [#fcd932be]
連立方程式の加減法を行列の行基本変形で計算できる。
-行基本変形~
行基本変形は、単位行列に同じ行基本変形をした正則行列を左...
--二つの行を入れ替える。
--ある行を 0 でない定数倍する。
--ある行に、他のある行の定数倍を加える。
-列基本変形~
列基本変形は、単位行列に同じ行基本変形をした正則行列を右...
--二つの列を入れ替える。
--ある列を0でない定数倍する。
--ある列に、他のある列の定数倍を加える。
-行列を簡単にする掃き出し法は、
--1行1列を1にして、1行x列、x行1列の値を0にする。
--2行2列を1にして、2行x列、x行2列の値を0にする。
--...。
※ 列基本変形を行っても同じ解が得られるため、通常は行基本...
***逆行列 [#f43a484c]
-逆行列は、当該行列とドット積で計算すると、単位行列(I)...
-行列Aの逆行列はA^-1と書き、インバースと読み、A^-1 A = A ...
-逆行列の求め方
--行基本変形は行列のドット積で計算でき、変形の行列をドッ...
--掃き出し法の拡大行列(?)の左側に対角線に1が並ぶように...
--2行2列の行列の逆行列なら公式で計算できる。
┌a b┐
A =└c d┘
┌ d -b ┐
A^-1 = 1/(ab-cd)└ -c a ┘
--3行3列の行列の逆行列なら掃き出し法の拡大行列で計算でき...
┌a b c┐
A = │d e f│
└g h i┘
┌a b c┐ ┌a b c | 1 0 0┐ ┌1 0 0 | r s t┐
│d e f│→│d e f | 0 1 0│→│0 1 0 | u v w│
└g h i┘ └g h i | 0 0 1┘ └0 0 1 | x y z┘
┌r s t┐
A^-1 = │u v w│
└x y z┘
--3行3列以上の行列の逆行列なら
---掃き出し法の拡大行列で計算できる。
---行列式の余因子を用いて計算することもできる。
--参考:https://manabitimes.jp/math/1153
-逆行列はi列のベクトルaiをei(i成分のみ1で他は0のベクトル...
--Aei = ai(自明) → A^-1 Aei = A^-1 ai → ei = A^-1 ai
--A^-1 A = A^-1(a1, a2, ... ai, ... an) = (e1, e2, ... ei...
-連立方程式を逆行列で計算できる。
--逆行列が存在する場合、yは一次結合で表せる。
Ax = y → A^-1 Ax = A^-1 y → x = A^-1 y
--逆行列が存在しない場合、~
これは、≒ 連立方程式の解が無い場合で、2以上のベクトル(=...
---交点がなくて並行の場合(2つのベクトルが「平行」)
---交点があって並行の場合(2つのベクトルが「同じ」か「長...
-正方行列Aの逆行列A^-1は成分抽出(A^-1(∑xi ai) = x)
--コレは行列とベクトルの積を列ベクトルとベクトルの内積の...
--コレに逆行列をかけると、A^-1 Ax = A^-1(∑xi ai) → x = A^...
--∑xi ai = y とすると、x = A^-1 y となる。これによって、...
--電車の式 A乗り継ぎx = 行き先y の逆を求める A^-1 A(乗...
***行列式 [#l7a8ee99]
行列式によって連立方程式の解の有無を判別できる。
-行列式とは
--一次方程式の可解性を判定する指標
--正方行列で列をベクトルに見立てる。
--n個のベクトルからなる面積・体積を考える。
-行列式の特性
>
+1つでも平行なベクトル、同じベクトルがあれば、面積・体積...
+1つのベクトルが*nされれば、行列式(≒面積・体積)全体が...
+1つのベクトルが+wされれば、行列式(≒面積・体積)の足し...
+ベクトルを入れ替えると行列式はマイナスになる(が、コレは...
入れ替え前と後のベクトルを足し算すると2つの同じベクトルが...
-行列式の計算
--たすき掛けの計算方法は3行3列の行列式までしか使えない。
---2行2列
┌a11 a12┐
└a21 a22┘
=a11a22-a12a21
---3行3列
┌a11 a12 a13┐
│a21 a22 a23│
└a31 a32 a33┘
=a11a22a33+a12a23a31+a13a21a32-a13a22a31-a12a21a33-a11a2...
--3行3列以上の行列式は余因子展開でn-1行n-1列の行列式の計...
---この計算は、体積の計算を面積✕高さに変換する的な話らし...
---この際、「行列式の特性(4)」を使用するので符号が切り...
#ref(matrix-det3-1024x608.png,left,nowrap,60%)
**固有値分解 [#m9ae68cd]
-ある正方行列Aを直交行列と対角行列の積に分解する計算
A = 𝑉𝛬𝑉^-1
--行列の特徴が見えやすくなり、A^nの計算がラク。
--ゼロに近い[[固有値>#z8ef8aab]]は行列全体に与える影響が...
この[[固有値>#z8ef8aab]]を無視することで、高精度で近似計...
-Aが正方行列の場合、
A=┌ab┐
└cd┘
-Aの[[固有値>#z8ef8aab]]・[[固有ベクトル>#o7fc1c72]]は、
→ →
Av = λv
-具体例
┌1 4┐┌1┐ = ┌5┐ = 5┌1┐
└2 3┘└1┘ └5┘ └1┘
-Aの対角化 = 固有ベクトル(A = 𝑉𝛬𝑉^-1、𝛬 = 𝑉^-1A𝑉)
-累乗計算が簡単になる式(A^n = 𝑉 𝛬^n 𝑉^-1)に実際値を代入...
***固有値 [#z8ef8aab]
λ
λは行列ではなくスカラ
***固有ベクトル [#o7fc1c72]
→
v ≠ 0
-λ毎にある。
-「固有ベクトルの内の一つ」というのは、ある特定の比率にな...
***計算方法 [#c08b060a]
-以下を解くとn個の[[固有値>#z8ef8aab]]λが求まる。
--
→ →
Av = λv
--
→ →
Av - λv = 0
--
→
(A-λI)v = 0
--
→
v ≠ 0
--|A-λI|が逆行列を持たない([[行列式>#l7a8ee99]] = 0)で...
---
|A-λI| = 0
---
┌ a-λ b ┐= 0
└ c d-λ ┘
---
(a - λ)(d - λ) - bc = 0
---
(λ - x)(d - y) = 0
---
λ1 = x, λ2 = y
-[[固有値>#z8ef8aab]]λの個数分、[[固有ベクトル>#o7fc1c72]...
([[固有ベクトル>#o7fc1c72]]はxn間の比率が解りさえすれば...
--
---
→ →
Av = λv
---
┌ab┐┌x┐=λn┌x┐
└cd┘└y┘ └y┘
--λnに対応する[[固有ベクトル>#o7fc1c72]]、vn
---計算方法
ax + by = λnx
cx + dy = λny
---[[固有ベクトル>#o7fc1c72]]、vn =
(x, y)^T
-[[固有値分解>#m9ae68cd]]
--対角行列:正方行列の対角線上にλnを並べたもの。
┌λ1 0 0 ┐
𝛬 =│0 λ2 0
└0 0 ...┘
--直交行列:λnに対応する[[固有ベクトル>#o7fc1c72]]、vnを...
𝑉 =┌→ → ┐
└v1 v2 ...┘
--A = 𝑉𝛬𝑉^-1
---A𝑉 = 𝑉𝛬
---A = A𝑉𝑉^-1 = 𝑉𝛬𝑉^-1
---𝛬 = 𝑉^-1𝑉𝛬 = 𝑉^-1A𝑉
-累乗計算が簡単になる
--A^n = 𝑉 𝛬^n 𝑉^-1
---AA = (𝑉𝛬𝑉^-1)(𝑉𝛬𝑉^-1) = 𝑉𝛬(𝑉^-1𝑉)𝛬𝑉^-1 = 𝑉 𝛬^2 𝑉^-1
---AAA = (𝑉𝛬𝑉^-1)(𝑉𝛬𝑉^-1)(𝑉𝛬𝑉^-1) = 𝑉𝛬(𝑉^-1𝑉)𝛬(𝑉^-1𝑉)𝛬𝑉^-...
--𝛬^n = 𝑉^-1 A^n 𝑉𝛬
---𝛬𝛬 = (𝑉^-1𝑉𝛬)(𝑉^-1𝑉𝛬) = 𝑉^-1(𝑉𝛬𝑉^-1)𝑉𝛬 = 𝑉^-1 A 𝑉𝛬
---𝛬𝛬𝛬 = (𝑉^-1𝑉𝛬)(𝑉^-1𝑉𝛬)(𝑉^-1𝑉𝛬) = 𝑉^-1(𝑉𝛬𝑉^-1)(𝑉𝛬𝑉^-1)𝑉...
-試験対策
--3*3行列の計算は大変だが、
--時間内で計算可能になるようにゼロが多く計算が楽になって...
--また、vの穴埋め問題は以下で計算可能になっている。
→ →
Av = λv
**特異値分解 [#eb2ec602]
-あるm行n列の長方行列を直交行列と対角行列の積に分解する計算
𝑀 = 𝑈𝑆𝑉^T
--[[固有値分解>#m9ae68cd]]では、Aは正方行列
--特異値分解では、Mが長方行列(主に2行3列)だが~
𝑀^Tを掛けて𝑀𝑀^Tと正方行列化することで似たように処理する。
---MM^T(2行2列)を固有値分解すれば左特異ベクトル。
---M^TM(3行3列)を固有値分解すれば右特異ベクトル(やって...
-特異値σは固有値√λだが、特異値分解の計算は固有値分解(λ)...
-𝑀の[[特異値>#ied62513]]σ・[[特異ベクトル>#le220e49]]uvは、
--
→ →
𝑀v = σu
--
→ →
𝑀^Tu = σv
-[[固有値分解>#m9ae68cd]]に対し特異値分解は
--[[固有値分解>#m9ae68cd]]
A = 𝑉𝛬𝑉^-1
--特異値分解
𝑀 = 𝑈𝑆𝑉^-1
--𝑀𝑀^Tとか𝑀^T𝑀(対称行列)を[[固有値分解>#m9ae68cd]]
-特異値分解の利用例、白黒画像の
--圧縮などに利用できる。
--特異値が似ていれば分類できる可能性がある。
***特異値 [#ied62513]
σ
***特異ベクトル [#le220e49]
-左特異ベクトル
→
u
-右特異ベクトル
→
v
-それぞれ、
--直交する。
--[[単位ベクトル>#rd8760e7]]
---大きさを変えないため。
---UV直交行列を単位行列にすると転置すると逆行列になる。
***単位ベクトル [#rd8760e7]
以下の計算から各要素の二乗の合計の平方根になる。
┌x┐ ┌cx┐
c│y│=│cy│
└z┘ └cz┘
(cx)^2+(cy)^2+(cz)^2 = 1
c^2 * (x^2 + y^2 + z^2) = 1
c = 1 / √(x^2 + y^2 + z^2)
***計算方法 [#r5220359]
-[[特異値>#ied62513]]σは以下のようなもの。
--
→ →
𝑀v = σu
--
→ →
𝑀^Tu = σv
-特異値分解
--対角行列:r行r列の正方行列の対角線上にσを並べたもの。
┌σ1 0 0 ┐
𝑆=│0 σ2 0
└0 0 ...┘
--直交行列は[[特異ベクトル>#le220e49]]を並べたもの。
---左特異ベクトルは𝑀𝑀^T固有値分解の直交行列(転置で逆行列)
𝑈=┌→ → ┐
└u1 u2 ...┘
---右特異ベクトルは𝑀^T𝑀の固有値分解の直交行列(転置で逆行...
𝑉=┌→ → ┐
└v1 v2 ...┘
--𝑀𝑀^T、𝑀^T𝑀の
---√λ([[固有値>#z8ef8aab]]) = σ([[特異値>#ied62513]])~
---[[固有ベクトル>#o7fc1c72]]がそれぞれ[[特異ベクトル>#le...
---([[特異ベクトル>#le220e49]]は[[固有ベクトル>#o7fc1c72...
---𝑀 = 𝑈𝑆𝑉^T
---𝑀𝑉 = 𝑈𝑆𝑉^T𝑉 = 𝑈𝑆
---𝑀^T = 𝑉𝑆^T𝑈^T
---𝑀^T𝑈 = 𝑉𝑆^T𝑈^T𝑈 = 𝑉𝑆^T
---𝑀𝑀^T = (𝑈𝑆𝑉^T)(𝑉𝑆^T𝑈^T) = 𝑈𝑆(𝑉^T𝑉)𝑆^T𝑈^T = 𝑈 (𝑆𝑆^T) 𝑈^T
---𝑀^T𝑀 = (𝑉𝑆^T𝑈^T)(𝑈𝑆𝑉^T) = 𝑉𝑆^T(𝑈^T𝑈)𝑆𝑉^T = 𝑉 (𝑆^T𝑆) 𝑉^T
-試験対策
--3*3行列の計算は大変だが、
--時間内で計算可能になるようにゼロが多く計算が楽になって...
--また、𝑉、𝑈の穴埋め問題は、𝑈を正規直行性で算出し、
--𝑉のx=xとかy=yの場合の±1の符号を選択させるなど。
**後付の、そもそも対角化とは? [#h5a18d6f]
対角化([[固有値分解>#m9ae68cd]]、[[特異値分解>#eb2ec602]...
***[[Api = λipi>#nb849503]] [#y4bb0500]
[[固有値分解>#m9ae68cd]]:piにAをかけるとpiのλi倍になる。
-λi:固有値
-pi:固有ベクトル
-証明
--A = 𝑉𝛬𝑉^-1
--Api = 𝑉𝛬𝑉^-1 pi
--[[逆行列>#f43a484c]]はi列のベクトルaiをeiに変換(A^-1ai...
--Api = 𝑉𝛬 ei
--Aはベクトルeiをaiに変換(Aei=ai)、
--且つaiはeiが1の成分のみλi(ai=λiei)なので
--Api = 𝑉λiei
--λi(固有値)はスカラなので外に出せる。
--Api = λi𝑉ei
--Aはベクトルeiをaiに変換(Aei=ai)するので、
--Api = λipi
***A∑xi pi = ∑λi xi pi [#f99c83b8]
[[固有値分解>#m9ae68cd]]:Ayを計算する際(Aは正方行列、y...
-y = ∑xi pi = x1 p1 + x2 p2 とする。
-A = λ1 p1 + λ2 p2 なので、
-Ay = A∑xi pi = λ1 x1 p1 + λ2 x2 p2 = ∑λi xi pi
-A^n y = A^n ∑xi pi = λ1^n x1 p1 + λ2^n x2 p2 = ∑λi^n xi pi
とできる(x1, x2をどうやって求めるか?は[[次回>#af686403]...
***A = 𝑉𝛬𝑉^-1 [#af686403]
-[[固有値分解>#m9ae68cd]]:Ay を Ay = 𝑉𝛬𝑉^-1 y で計算でき...
--y = ∑xi pi = x1 p1 + x2 p2 のx1, x2は、~
[[逆行列の成分抽出>#f43a484c]]で求める事が出来る(x = 𝑉^-...
---pi なので 𝑉 を使う。
y = 𝑉┌x1┐
└x2┘
---コレを求めるには𝑉^-1を使う。
𝑉^-1 y = 𝑉^-1 𝑉┌x1┐ = ┌x1┐
└x2┘ └x2┘
--で、
Ay = 𝑉𝛬 ┌x1┐
└x2┘
--で、
Ay = 𝑉 ┌λ1x1┐
└λ1x2┘
--[[前回>#f99c83b8]]の式に戻る。
Ay = p1 λ1 x1 + p2 λ2 x2 = ∑λi xi pi
-上記を要約すると Ay = 𝑉𝛬𝑉^-1 y を以下の3ステップ(式を右...
--ステップ1:𝑉^-1 yでは、yをpで表した際のx成分を計算し、
--ステップ2:これに左から対角行列𝛬をかけるので、x1はλ1倍...
--ステップ3:これに左から𝑉をかけるので = p1 λ1 x1 + p2 λ2...
*参考 [#s56df69b]
**[[NumPy]] [#ycf9b306]
**Qiita [#x9a28fd1]
-【ハックしないE資格対策記-02-】~固有値分解って結局何なの...
https://qiita.com/Nuka-san-Engineering/items/e4045942d3e9...
-【ハックしないE資格対策記-03-】~さようなら、全ての付け焼...
https://qiita.com/Nuka-san-Engineering/items/ebc63564db8c...
**YouTube [#c34a3b54]
-線型代数基礎シリーズ~
https://www.youtube.com/playlist?list=PLhDAH9aTfnxKfmufxF...
終了行:
「[[.NET 開発基盤部会 Wiki>http://dotnetdevelopmentinfras...
-戻る
--[[DS:数学的基礎]]
---線形代数
---[[微分・積分>DS:数学的基礎 - 微分・積分]]
---[[微分・偏微分>DS:数学的基礎 - 微分・偏微分]]
---[[確率・統計>DS:数学的基礎 - 確率・統計]]
--[[データサイエンス力]] > [[データ分析]]
---[[ベイズ統計]]
--[[ニューラルネットワーク(学習)]]
*目次 [#i07fc9bd]
#contents
*概要 [#k757c95e]
*詳細 [#s3e89929]
**スカラ、ベクトル、行列 [#w81894f7]
***スカラ [#i81f0d5e]
数値
***ベクトル [#ze383257]
ベクトルは、
-スカラの組合せ。
-大きさ・向きを持つ。
-矢印で表される。
-ある種の演算ができる。
--ベクトルの加減算
--ベクトルの内積・外積
***行列 [#ac9578ac]
行列は、
-スカラの組合せ。
-列ベクトルを並べたもの。
-ある種の演算ができる。
--ベクトルの変換
---行列とベクトルの積
---行列と行列のドット積、アダマール積
--連立方程式を解く。
**行列とベクトルの積 [#u3b86c56]
***...はベクトルの変換 [#nb849503]
行列はベクトルAをベクトルの変Bに変換している。
-前提
--Aはj行i列の行列
--eiはi成分のみ1で他は0のベクトル
-答え1:Aはベクトルeiをaiに変換する。
Aei=ai
-答え2:Aはベクトルpiをλi倍(λipiに変換)する。~
(詳しくは[[対角化>#h5a18d6f]]を参照)
Api=λipi
-ajiはAeiの第j成分(答え1の延長上で)
--Aeiでi列の列ベクトルが取り出される。
--この列ベクトルのj成分がajiになる。
-解り易さ(解り難さ)保存の法則
--ベクトルeiは解り易いが、aiは良く解らない。
--ベクトルpiは良く解らないが、λiは解り易い。
***...は電車の乗り継ぎ [#k5b5a32b]
-Aはj行i列の行列で、行列のn列の列ベクトルを電車とする。
-このn列の列ベクトル(電車)をベクトルのn成分で数値倍する...
-上記のi個の列ベクトル(全電車)を合成した(乗り継いだ)...
***...は内積を縦に並べたもの。 [#q03a97b6]
-Aはj行i列の行列で、行列のn行の行ベクトル
-この行ベクトルとベクトルの内積を計算する
-コレを立てに並べると計算結果になる。
-内積は「類似度」や「データと係数の積」などで使用。
**行列で連立方程式を解く。 [#k6cc6fc1]
行列は連立方程式を扱うようになって発達した。
***行基本変形 [#fcd932be]
連立方程式の加減法を行列の行基本変形で計算できる。
-行基本変形~
行基本変形は、単位行列に同じ行基本変形をした正則行列を左...
--二つの行を入れ替える。
--ある行を 0 でない定数倍する。
--ある行に、他のある行の定数倍を加える。
-列基本変形~
列基本変形は、単位行列に同じ行基本変形をした正則行列を右...
--二つの列を入れ替える。
--ある列を0でない定数倍する。
--ある列に、他のある列の定数倍を加える。
-行列を簡単にする掃き出し法は、
--1行1列を1にして、1行x列、x行1列の値を0にする。
--2行2列を1にして、2行x列、x行2列の値を0にする。
--...。
※ 列基本変形を行っても同じ解が得られるため、通常は行基本...
***逆行列 [#f43a484c]
-逆行列は、当該行列とドット積で計算すると、単位行列(I)...
-行列Aの逆行列はA^-1と書き、インバースと読み、A^-1 A = A ...
-逆行列の求め方
--行基本変形は行列のドット積で計算でき、変形の行列をドッ...
--掃き出し法の拡大行列(?)の左側に対角線に1が並ぶように...
--2行2列の行列の逆行列なら公式で計算できる。
┌a b┐
A =└c d┘
┌ d -b ┐
A^-1 = 1/(ab-cd)└ -c a ┘
--3行3列の行列の逆行列なら掃き出し法の拡大行列で計算でき...
┌a b c┐
A = │d e f│
└g h i┘
┌a b c┐ ┌a b c | 1 0 0┐ ┌1 0 0 | r s t┐
│d e f│→│d e f | 0 1 0│→│0 1 0 | u v w│
└g h i┘ └g h i | 0 0 1┘ └0 0 1 | x y z┘
┌r s t┐
A^-1 = │u v w│
└x y z┘
--3行3列以上の行列の逆行列なら
---掃き出し法の拡大行列で計算できる。
---行列式の余因子を用いて計算することもできる。
--参考:https://manabitimes.jp/math/1153
-逆行列はi列のベクトルaiをei(i成分のみ1で他は0のベクトル...
--Aei = ai(自明) → A^-1 Aei = A^-1 ai → ei = A^-1 ai
--A^-1 A = A^-1(a1, a2, ... ai, ... an) = (e1, e2, ... ei...
-連立方程式を逆行列で計算できる。
--逆行列が存在する場合、yは一次結合で表せる。
Ax = y → A^-1 Ax = A^-1 y → x = A^-1 y
--逆行列が存在しない場合、~
これは、≒ 連立方程式の解が無い場合で、2以上のベクトル(=...
---交点がなくて並行の場合(2つのベクトルが「平行」)
---交点があって並行の場合(2つのベクトルが「同じ」か「長...
-正方行列Aの逆行列A^-1は成分抽出(A^-1(∑xi ai) = x)
--コレは行列とベクトルの積を列ベクトルとベクトルの内積の...
--コレに逆行列をかけると、A^-1 Ax = A^-1(∑xi ai) → x = A^...
--∑xi ai = y とすると、x = A^-1 y となる。これによって、...
--電車の式 A乗り継ぎx = 行き先y の逆を求める A^-1 A(乗...
***行列式 [#l7a8ee99]
行列式によって連立方程式の解の有無を判別できる。
-行列式とは
--一次方程式の可解性を判定する指標
--正方行列で列をベクトルに見立てる。
--n個のベクトルからなる面積・体積を考える。
-行列式の特性
>
+1つでも平行なベクトル、同じベクトルがあれば、面積・体積...
+1つのベクトルが*nされれば、行列式(≒面積・体積)全体が...
+1つのベクトルが+wされれば、行列式(≒面積・体積)の足し...
+ベクトルを入れ替えると行列式はマイナスになる(が、コレは...
入れ替え前と後のベクトルを足し算すると2つの同じベクトルが...
-行列式の計算
--たすき掛けの計算方法は3行3列の行列式までしか使えない。
---2行2列
┌a11 a12┐
└a21 a22┘
=a11a22-a12a21
---3行3列
┌a11 a12 a13┐
│a21 a22 a23│
└a31 a32 a33┘
=a11a22a33+a12a23a31+a13a21a32-a13a22a31-a12a21a33-a11a2...
--3行3列以上の行列式は余因子展開でn-1行n-1列の行列式の計...
---この計算は、体積の計算を面積✕高さに変換する的な話らし...
---この際、「行列式の特性(4)」を使用するので符号が切り...
#ref(matrix-det3-1024x608.png,left,nowrap,60%)
**固有値分解 [#m9ae68cd]
-ある正方行列Aを直交行列と対角行列の積に分解する計算
A = 𝑉𝛬𝑉^-1
--行列の特徴が見えやすくなり、A^nの計算がラク。
--ゼロに近い[[固有値>#z8ef8aab]]は行列全体に与える影響が...
この[[固有値>#z8ef8aab]]を無視することで、高精度で近似計...
-Aが正方行列の場合、
A=┌ab┐
└cd┘
-Aの[[固有値>#z8ef8aab]]・[[固有ベクトル>#o7fc1c72]]は、
→ →
Av = λv
-具体例
┌1 4┐┌1┐ = ┌5┐ = 5┌1┐
└2 3┘└1┘ └5┘ └1┘
-Aの対角化 = 固有ベクトル(A = 𝑉𝛬𝑉^-1、𝛬 = 𝑉^-1A𝑉)
-累乗計算が簡単になる式(A^n = 𝑉 𝛬^n 𝑉^-1)に実際値を代入...
***固有値 [#z8ef8aab]
λ
λは行列ではなくスカラ
***固有ベクトル [#o7fc1c72]
→
v ≠ 0
-λ毎にある。
-「固有ベクトルの内の一つ」というのは、ある特定の比率にな...
***計算方法 [#c08b060a]
-以下を解くとn個の[[固有値>#z8ef8aab]]λが求まる。
--
→ →
Av = λv
--
→ →
Av - λv = 0
--
→
(A-λI)v = 0
--
→
v ≠ 0
--|A-λI|が逆行列を持たない([[行列式>#l7a8ee99]] = 0)で...
---
|A-λI| = 0
---
┌ a-λ b ┐= 0
└ c d-λ ┘
---
(a - λ)(d - λ) - bc = 0
---
(λ - x)(d - y) = 0
---
λ1 = x, λ2 = y
-[[固有値>#z8ef8aab]]λの個数分、[[固有ベクトル>#o7fc1c72]...
([[固有ベクトル>#o7fc1c72]]はxn間の比率が解りさえすれば...
--
---
→ →
Av = λv
---
┌ab┐┌x┐=λn┌x┐
└cd┘└y┘ └y┘
--λnに対応する[[固有ベクトル>#o7fc1c72]]、vn
---計算方法
ax + by = λnx
cx + dy = λny
---[[固有ベクトル>#o7fc1c72]]、vn =
(x, y)^T
-[[固有値分解>#m9ae68cd]]
--対角行列:正方行列の対角線上にλnを並べたもの。
┌λ1 0 0 ┐
𝛬 =│0 λ2 0
└0 0 ...┘
--直交行列:λnに対応する[[固有ベクトル>#o7fc1c72]]、vnを...
𝑉 =┌→ → ┐
└v1 v2 ...┘
--A = 𝑉𝛬𝑉^-1
---A𝑉 = 𝑉𝛬
---A = A𝑉𝑉^-1 = 𝑉𝛬𝑉^-1
---𝛬 = 𝑉^-1𝑉𝛬 = 𝑉^-1A𝑉
-累乗計算が簡単になる
--A^n = 𝑉 𝛬^n 𝑉^-1
---AA = (𝑉𝛬𝑉^-1)(𝑉𝛬𝑉^-1) = 𝑉𝛬(𝑉^-1𝑉)𝛬𝑉^-1 = 𝑉 𝛬^2 𝑉^-1
---AAA = (𝑉𝛬𝑉^-1)(𝑉𝛬𝑉^-1)(𝑉𝛬𝑉^-1) = 𝑉𝛬(𝑉^-1𝑉)𝛬(𝑉^-1𝑉)𝛬𝑉^-...
--𝛬^n = 𝑉^-1 A^n 𝑉𝛬
---𝛬𝛬 = (𝑉^-1𝑉𝛬)(𝑉^-1𝑉𝛬) = 𝑉^-1(𝑉𝛬𝑉^-1)𝑉𝛬 = 𝑉^-1 A 𝑉𝛬
---𝛬𝛬𝛬 = (𝑉^-1𝑉𝛬)(𝑉^-1𝑉𝛬)(𝑉^-1𝑉𝛬) = 𝑉^-1(𝑉𝛬𝑉^-1)(𝑉𝛬𝑉^-1)𝑉...
-試験対策
--3*3行列の計算は大変だが、
--時間内で計算可能になるようにゼロが多く計算が楽になって...
--また、vの穴埋め問題は以下で計算可能になっている。
→ →
Av = λv
**特異値分解 [#eb2ec602]
-あるm行n列の長方行列を直交行列と対角行列の積に分解する計算
𝑀 = 𝑈𝑆𝑉^T
--[[固有値分解>#m9ae68cd]]では、Aは正方行列
--特異値分解では、Mが長方行列(主に2行3列)だが~
𝑀^Tを掛けて𝑀𝑀^Tと正方行列化することで似たように処理する。
---MM^T(2行2列)を固有値分解すれば左特異ベクトル。
---M^TM(3行3列)を固有値分解すれば右特異ベクトル(やって...
-特異値σは固有値√λだが、特異値分解の計算は固有値分解(λ)...
-𝑀の[[特異値>#ied62513]]σ・[[特異ベクトル>#le220e49]]uvは、
--
→ →
𝑀v = σu
--
→ →
𝑀^Tu = σv
-[[固有値分解>#m9ae68cd]]に対し特異値分解は
--[[固有値分解>#m9ae68cd]]
A = 𝑉𝛬𝑉^-1
--特異値分解
𝑀 = 𝑈𝑆𝑉^-1
--𝑀𝑀^Tとか𝑀^T𝑀(対称行列)を[[固有値分解>#m9ae68cd]]
-特異値分解の利用例、白黒画像の
--圧縮などに利用できる。
--特異値が似ていれば分類できる可能性がある。
***特異値 [#ied62513]
σ
***特異ベクトル [#le220e49]
-左特異ベクトル
→
u
-右特異ベクトル
→
v
-それぞれ、
--直交する。
--[[単位ベクトル>#rd8760e7]]
---大きさを変えないため。
---UV直交行列を単位行列にすると転置すると逆行列になる。
***単位ベクトル [#rd8760e7]
以下の計算から各要素の二乗の合計の平方根になる。
┌x┐ ┌cx┐
c│y│=│cy│
└z┘ └cz┘
(cx)^2+(cy)^2+(cz)^2 = 1
c^2 * (x^2 + y^2 + z^2) = 1
c = 1 / √(x^2 + y^2 + z^2)
***計算方法 [#r5220359]
-[[特異値>#ied62513]]σは以下のようなもの。
--
→ →
𝑀v = σu
--
→ →
𝑀^Tu = σv
-特異値分解
--対角行列:r行r列の正方行列の対角線上にσを並べたもの。
┌σ1 0 0 ┐
𝑆=│0 σ2 0
└0 0 ...┘
--直交行列は[[特異ベクトル>#le220e49]]を並べたもの。
---左特異ベクトルは𝑀𝑀^T固有値分解の直交行列(転置で逆行列)
𝑈=┌→ → ┐
└u1 u2 ...┘
---右特異ベクトルは𝑀^T𝑀の固有値分解の直交行列(転置で逆行...
𝑉=┌→ → ┐
└v1 v2 ...┘
--𝑀𝑀^T、𝑀^T𝑀の
---√λ([[固有値>#z8ef8aab]]) = σ([[特異値>#ied62513]])~
---[[固有ベクトル>#o7fc1c72]]がそれぞれ[[特異ベクトル>#le...
---([[特異ベクトル>#le220e49]]は[[固有ベクトル>#o7fc1c72...
---𝑀 = 𝑈𝑆𝑉^T
---𝑀𝑉 = 𝑈𝑆𝑉^T𝑉 = 𝑈𝑆
---𝑀^T = 𝑉𝑆^T𝑈^T
---𝑀^T𝑈 = 𝑉𝑆^T𝑈^T𝑈 = 𝑉𝑆^T
---𝑀𝑀^T = (𝑈𝑆𝑉^T)(𝑉𝑆^T𝑈^T) = 𝑈𝑆(𝑉^T𝑉)𝑆^T𝑈^T = 𝑈 (𝑆𝑆^T) 𝑈^T
---𝑀^T𝑀 = (𝑉𝑆^T𝑈^T)(𝑈𝑆𝑉^T) = 𝑉𝑆^T(𝑈^T𝑈)𝑆𝑉^T = 𝑉 (𝑆^T𝑆) 𝑉^T
-試験対策
--3*3行列の計算は大変だが、
--時間内で計算可能になるようにゼロが多く計算が楽になって...
--また、𝑉、𝑈の穴埋め問題は、𝑈を正規直行性で算出し、
--𝑉のx=xとかy=yの場合の±1の符号を選択させるなど。
**後付の、そもそも対角化とは? [#h5a18d6f]
対角化([[固有値分解>#m9ae68cd]]、[[特異値分解>#eb2ec602]...
***[[Api = λipi>#nb849503]] [#y4bb0500]
[[固有値分解>#m9ae68cd]]:piにAをかけるとpiのλi倍になる。
-λi:固有値
-pi:固有ベクトル
-証明
--A = 𝑉𝛬𝑉^-1
--Api = 𝑉𝛬𝑉^-1 pi
--[[逆行列>#f43a484c]]はi列のベクトルaiをeiに変換(A^-1ai...
--Api = 𝑉𝛬 ei
--Aはベクトルeiをaiに変換(Aei=ai)、
--且つaiはeiが1の成分のみλi(ai=λiei)なので
--Api = 𝑉λiei
--λi(固有値)はスカラなので外に出せる。
--Api = λi𝑉ei
--Aはベクトルeiをaiに変換(Aei=ai)するので、
--Api = λipi
***A∑xi pi = ∑λi xi pi [#f99c83b8]
[[固有値分解>#m9ae68cd]]:Ayを計算する際(Aは正方行列、y...
-y = ∑xi pi = x1 p1 + x2 p2 とする。
-A = λ1 p1 + λ2 p2 なので、
-Ay = A∑xi pi = λ1 x1 p1 + λ2 x2 p2 = ∑λi xi pi
-A^n y = A^n ∑xi pi = λ1^n x1 p1 + λ2^n x2 p2 = ∑λi^n xi pi
とできる(x1, x2をどうやって求めるか?は[[次回>#af686403]...
***A = 𝑉𝛬𝑉^-1 [#af686403]
-[[固有値分解>#m9ae68cd]]:Ay を Ay = 𝑉𝛬𝑉^-1 y で計算でき...
--y = ∑xi pi = x1 p1 + x2 p2 のx1, x2は、~
[[逆行列の成分抽出>#f43a484c]]で求める事が出来る(x = 𝑉^-...
---pi なので 𝑉 を使う。
y = 𝑉┌x1┐
└x2┘
---コレを求めるには𝑉^-1を使う。
𝑉^-1 y = 𝑉^-1 𝑉┌x1┐ = ┌x1┐
└x2┘ └x2┘
--で、
Ay = 𝑉𝛬 ┌x1┐
└x2┘
--で、
Ay = 𝑉 ┌λ1x1┐
└λ1x2┘
--[[前回>#f99c83b8]]の式に戻る。
Ay = p1 λ1 x1 + p2 λ2 x2 = ∑λi xi pi
-上記を要約すると Ay = 𝑉𝛬𝑉^-1 y を以下の3ステップ(式を右...
--ステップ1:𝑉^-1 yでは、yをpで表した際のx成分を計算し、
--ステップ2:これに左から対角行列𝛬をかけるので、x1はλ1倍...
--ステップ3:これに左から𝑉をかけるので = p1 λ1 x1 + p2 λ2...
*参考 [#s56df69b]
**[[NumPy]] [#ycf9b306]
**Qiita [#x9a28fd1]
-【ハックしないE資格対策記-02-】~固有値分解って結局何なの...
https://qiita.com/Nuka-san-Engineering/items/e4045942d3e9...
-【ハックしないE資格対策記-03-】~さようなら、全ての付け焼...
https://qiita.com/Nuka-san-Engineering/items/ebc63564db8c...
**YouTube [#c34a3b54]
-線型代数基礎シリーズ~
https://www.youtube.com/playlist?list=PLhDAH9aTfnxKfmufxF...
ページ名: