ラビットチャレンジ【応用数学】~線形代数~

概要

線形代数に含まれるスカラー、ベクトル、行列などの知識は機械学習や深層学習にとって必要である。

この章では以下の項目を学んだ。

スカラー、ベクトル、行列

単位行列逆行列行列式

固有値固有ベクトル

固有値分解

特異値分解

スカラー、ベクトル、行列

スカラー

いわゆる普通の数であり四則演算が可能である。ベクトルを実数倍できる係数になれる。

ベクトル

「大きさ」、「向き」を持つ。矢印で図示される。

行列

スカラーを表にしたもの。ベクトルを並べたもの。

f:id:Maruring:20210713225419p:plain

行列計算
単位行列逆行列行列式

単位行列

斜めが全て1で、それ以外の要素が0の行列。何をかけても、かけられた行列に戻る。

f:id:Maruring:20210713230430p:plain

 

f:id:Maruring:20210713230430p:plain

 

逆行列

その行列を打ち消す(単位行列)にする行列

f:id:Maruring:20210713230633p:plain

 

行列式

行列の特徴を表す指標の1つ。方程式などではなく、スカラーである。つまり、「1」「3」みたいな値をとる。

f:id:Maruring:20210713231834p:plain

行列式の計算

 

f:id:Maruring:20210713231838p:plain

N次元行列の特徴

 

固有値固有値ベクトル

固有値

ある行列Aに対して以下のような式が成り立つような、特殊なベクトルx

と係数λがある

f:id:Maruring:20210713234502p:plain

 

固有値分解

ある正方行列Aの固有値をλ1,λ2...、それに対応する固有ベクトルをv1,v2...を持ったとする。固有値を斜めに並べた行列*λ以外は0である

f:id:Maruring:20210713235212p:plain

 

上記のような式が成り立って何が嬉しいのか?

f:id:Maruring:20210713235426p:plain

 

予備知識

①At=AのときAを対称行列

②At = A-1のときAを対称行列

AAT = ATA = I

特異値分解(正方行列ではない行列の特異値)

f:id:Maruring:20210714000613p:plain

 

f:id:Maruring:20210714000624p:plain

 

f:id:Maruring:20210714000636p:plain

 

特異値分解の使用方法

画像などでは特異値の成分が小さいところを消す(0近似)ことによって、画像内の成分が大きいところだけを表示することができる。

pythonでもベクトルの計算ができる

ノルム

import numpy as np
a = np.array([1, 2, 3])
n = np.linalg.norm(a)
print('norm=',n)
norm= 3.7416573867739413

内積

import numpy as np
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
p = np.dot(a,b)
print('dot product=',p)
dot product= 32

外積

import numpy as np
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
p = np.cross(a,b)
print('cross product=',p)
cross product= [-3 6 -3]