行列分解1:特異値分解(Singular value decomposition,SVD)
1.1 Overview
1.2 Matrix Approximation
1.3 Mathematical Properties and
Manipulations
1.4 Pseudo-Inverse, Least-Squares, and
Regression
1.5 Principal Component Analysis (PCA)
1.6 Eigenface Example
1.7 Truncation and Alignment
1.8 Randomized PCA
1.9 Tensor Decomposition and N-Way Data
Analysis
4.
行列分解1:特異値分解(Singular value decomposition,SVD)
% 1.2 SVD Example: Image Compression
CH01_SEC02_production.m
% 1.4 Psudo-Inverse, Least-Squares, and Regression
CH01_SEC04_1_Linear.m
CH01_SEC04_2_Cement.m
CH01_SEC04_3_Housing.m
% 1.5 Principal Component Analysis
CH01_SEC05_1_PCAGaussian.m
CH01_SEC05_2_OvarianCancer.m
% 1.6 Eigenface Example
CH01_SEC06_1.m
CH01_SEC06_2_3_4.m
CH01_SEC06_2_3_4_production.m
% 1.7 Truncation and Alignment
CH01_SEC07_1_Truncation.m
CH01_SEC07_1_production.m
CH01_SEC07_2_Truncation.m
CH01_SEC07_2_production.m
CH01_SEC07_3_Alignment.m
CH01_SEC07_3_production.m
% 1.8 Randomized PCA
CH01_SEC08_RSVD.m
【本日の講義内容】特異値分解(SVD)
1. 特異値分解(Singular valuedecomposition)
- 行列の因子分解の一つ
2. 行列近似(Matrix approximation)
- 特異値の大きい成分のみを用いて行列を近似(ランク r 近似)
3. 応用例:画像圧縮(Image compression)
4. 擬逆行列、最小二乗、回帰問題
1 1 1
ˆ ˆ
m m mσ σ= = + +X U u vΣV u v
1 1 1
ˆ ˆˆ
r r r r r r rσ σ≈ = = + +X ΣX U u vV u v
1
,+
+ −
=
=
→ =
A A A
Ax b x A b
A ΣV U
7.
【本日の講義内容】特異値分解(SVD)
1. 特異値分解(Singular valuedecomposition)
- 行列の因子分解の一つ
2. 行列近似(Matrix approximation)
- 特異値の大きい成分のみを用いて行列を近似(ランク r 近似)
3. 応用例:画像圧縮(Image compression)
4. 擬逆行列、最小二乗、回帰問題
1 1 1
ˆ ˆ
m m mσ σ= = + +X UΣV u v u v
1 1 1
ˆ ˆˆ
r r r r r r rσ σ≈ = = + +X ΣX U u vV u v
1
,+
+ −
=
=
→ =
A A A
Ax b x A b
A ΣV U
行列の特異値分解:定義
[ ]1 2m
n m×
= ∈X x x x
[ ]1 2 n
n n×
= ∈U u u u
[ ]1 2 m
m m×
= ∈V v v v
ˆ n m×
∈=
Σ
Σ
0
17.
行列の特異値分解:直交行列UとV
[ ]1 2n
n n×
= ∈U u u u
[ ]1 2 m
m m×
= ∈V v v v
1 if
0 if
i j
j
i j
i
=
=
≠
u u
は直交行列であり、 を左特異ベクトルと呼ぶ
n= =U U UU I
も直交行列であり、 を右特異ベクトルと呼ぶ
1 if
0 if
i j
j
i j
i
=
=
≠
v v
m= =V V VV I
・
・
{ } 1
n
i i=
u
{ } 1
m
i i=
v
18.
直交行列の例:回転行列と反転行列
( )
cos sin
sincos
θ θ
θ
θ θ
−
=
R
xe
ye
x′e
y′e
( ) ( ) ( ) ( ) 2θ θ θ θ= =R R R R I
xe
ye
x′e
y′e
1
0 1
0−
=
P
2= =P P PP I
【本日の講義内容】特異値分解(SVD)
1. 特異値分解(Singular valuedecomposition)
- 行列の因子分解の一つ
2. 行列近似(Matrix approximation)
- 特異値の大きい成分のみを用いて行列を近似(ランク r 近似)
3. 応用例:画像圧縮(Image compression)
4. 擬逆行列、最小二乗、回帰問題
1 1 1
ˆ ˆ
m m mσ σ= = + +X U u vΣV u v
1 1 1
ˆ ˆ ˆ
r r r r r r rσ σ≈ = = + +X X U Σ V u v u v
1
,+
+ −
=
=
→ =
A A A
Ax b x A b
A ΣV U
(補足)minとargmin
min: 関数の最小値(minimum)
arg min:関数の最小値を与えるxの値(argument of the minimum)
( )y f x=
x
y
*
x
( )*
f x ( )*
arg min
x
x f x=
( ) ( )*
min
x
f x f x=
( ) ( ) ( ) ( ){ }min | :
x
xf x f x y f fy= ∀ ≥
( ) ( ) ( ){ }arg min | :
x
f xf x x y f y ≥= ∀
【本日の講義内容】特異値分解(SVD)
1. 特異値分解(Singular valuedecomposition)
- 行列の因子分解の一つ
2. 行列近似(Matrix approximation)
- 特異値の大きい成分のみを用いて行列を近似(ランク r 近似)
3. 応用例:画像圧縮(Image compression)
4. 擬逆行列、最小二乗、回帰問題
1 1 1
ˆ ˆ
m m mσ σ= = + +X U u vΣV u v
1 1 1
ˆ ˆˆ
r r r r r r rσ σ≈ = = + +X ΣX U u vV u v
1
,+
+ −
=
=
→ =
A A A
Ax b x A b
A ΣV U
【本日の講義内容】特異値分解(SVD)
1. 特異値分解(Singular valuedecomposition)
- 行列の因子分解の一つ
2. 行列近似(Matrix approximation)
- 特異値の大きい成分のみを用いて行列を近似(ランク r 近似)
3. 応用例:画像圧縮(Image compression)
4. 擬逆行列、最小二乗、回帰問題
1 1 1
ˆ ˆ
m m mσ σ= = + +X U u vΣV u v
1 1 1
ˆ ˆˆ
r r r r r r rσ σ≈ = = + +X ΣX U u vV u v
1
,+
+ −
= → =
= A A A
Ax b x A b
A V Σ U
41.
線形回帰と最小二乗法
A x b=A x =A =
(# 方程式) > (# 未定変数) (# 方程式) = (# 未定変数) (# 方程式) < (# 未定変数)
bx
, 23m n= = , 22m n= = , 21m n= =
b
解は一意に求まる 解は無数解はなし
42.
線形回帰と最小二乗法
=Ax b
, ,mnn m×
∈ ∈ ∈A x b
A x b= A x =A =
(# 方程式) > (# 未定変数) (# 方程式) = (# 未定変数) (# 方程式) < (# 未定変数)
bx b
1−
=x A b+
=x A b
スパース解
(講義4,5でやります)逆行列擬逆行列
43.
線形回帰:優決定系 (overdetermined system)
=Axb
, ,m nn m×
∈ ∈ ∈A x b
A x b=
• 優決定系 (# 方程式) > (# 未定変数)
→ 一般にAx=bを満たす変数xは存在しない
→ Axとbの差を最小にする変数xを求める
• 最小二乗問題
( ){ }
22
min min ii
i
Ax b−= −∑x x
Ax b
44.
最小二乗問題と擬逆行列
( )
1 mn− ×+
∈=A A A A
m m
+
×=A A I
( ){ }
22
min min ii
i
Ax b−= −∑x x
Ax b
+
=x A b
n n×
+
≠AA I
最小二乗問題
最小二乗問題の解
擬逆行列
45.
擬逆行列について注意
( )
1 mn− ×+
∈=A A A A
m m
+
×=A A I
n n×
+
≠AA I
A
n>m: tall-skinny matrix
n<m: shot-fat matrix
A
( )
1 m n×+ −
= ∈A A AA
n n×
+
=AA I
m m
+
×≠A A I
n
n
m
m
46.
特異値分解を用いた擬逆行列の計算
( )
1 mn− ×+
∈=A A A A
m m
+
×=A A I
n n×
+
≠AA I
A
m>n: tall-skinny matrix
m
n
ˆˆ= A A AA ΣU V 1ˆ ˆ+ −
= A A AA ΣV U
47.
特異値分解を用いた擬逆行列の計算
( )
1+ −
=AA A A
1ˆ ˆ+ −
= A A AA ΣV U
ˆˆ= A A AA ΣU V
[U,S,V] = svd(A,'econ');
V*inv(S)*U'
inv(A'*A)*A'
% pinv(A)
線形回帰:劣決定系 (underdetermined system)
=Axb
, ,n mm n×
∈ ∈ ∈A x b
A x b=
• 劣決定系 (# 方程式) < (# 未定変数)
→ Ax=bを満たす変数xは無数に存在
→ 解を一意に求めるには制約条件が必要
• 講義4, 5「スパース性と圧縮センシング」
で解法を学びます
51.
【本日のまとめ】特異値分解(SVD)
1. 特異値分解(Singular valuedecomposition)
- 行列の因子分解の一つ
2. 行列近似(Matrix approximation)
- 特異値の大きい成分のみを用いて行列を近似(ランク r 近似)
3. 応用例:画像圧縮(Image compression)
4. 擬逆行列、最小二乗、回帰問題
1 1 1
ˆ ˆ
m m mσ σ= = + +X U u vΣV u v
1 1 1
ˆ ˆˆ
r r r r r r rσ σ≈ = = + +X ΣX U u vV u v
1
,+
+ −
=
=
→ =
A A A
Ax b x A b
A ΣV U