Matrix Decomposition
2020-01-07
Jun Sok Huhh | ๐ lostineconomics.com
Summary in advance
Name |
Aโ |
Restriction |
Comments |
LU |
Rmรn |
|
|
Cholesky |
Cnรn |
PD, Symmetric(Hermite) |
fast algorithm |
Eigendecomposition |
Cnรn |
invertible |
|
QR |
Rmรn |
|
Gram-Schmidt processing |
SVD |
Cmรn |
|
|
LU Decomposition
- AโRnรn
๊ธฐ๋ณธ์ ์ผ๋ก๋ ๊ฐ์ฐ์ค-์กฐ๋ฅด๋จ ์๊ฑฐ๋ฒ์ ๋ ์ฌ๋ฆฌ๋ฉด ์ข๋ค. ๊ฐ์ฐ์ค ์๊ฑฐ๋ฒ์ด๋๊ฒ ๋ญ๊ฐ? ์ฐ๋ฆฌ๊ฐ ์ค๊ณ ๋ฑํ๊ต ๋ ๋ฐฐ์ ๋ ์ฐ๋ฆฝ๋ฐฉ์ ์์ ํด๋ฅผ ์ป๋ ๊ณผ์ ์ด๋ค. LU ๋ฐฉ๋ฒ์ ๊ฐ์ฐ์ค-์กฐ๋ฅด๋จ ์๊ฑฐ๋ฒ์ 2๋จ๊ณ๋ก ๋ถ๋ฆฌํ ํํ๋ผ๊ณ ์ดํดํ๋ฉด ๋๋ค.
Row operation
- Row exchange
- ์ฐ๋ฆฝ๋ฐฉ์ ์์ ํ ๋ ์์ ์์๋ฅผ ๋ฐ๊พผ๋ค๊ณ ํด๊ฐ ๋ฌ๋ผ์ง์ง๋ ์๋๋ค.
- Multiply a row by a nonzero constant
- ์ด๋ค ์์ ์๋ณ์ 0์ด ์๋ ์๋ฅผ ๊ณฑํ๋ค๊ณ ํด์ ํด๊ฐ ๋ฌ๋ผ์ง์ง๋ ์๋๋ค.
- Add one row to another
- ์ฐ๋ฆฝ๋ฐฉ์ ์์ ํด๋ฅผ ๊ตฌํ๋ ๊ณผ์ ์ด ์ด๋ฌํ ์ ์กฐ์์ ์ฐ์์ด๋ค.
Solution for linear equation
Ax=b์ ๊ฐ์ ์ ๋นํ ์ ํ ์ฐ๋ฆฝ๋ฐฉ์ ์์ด ์๋ค๊ณ ํ์. ์ด๋
PA=LU
- P๋ ํ๊ณผ ์ด์ ์ ๋นํ ์ฌ๋ฐฐ์นํ๋ ๋ฐ ๋์๋๋ ์์ด ํ๋ ฌ์ด๋ฉฐ, 0๊ณผ 1๋ง ์์๋ก ์ง๋๋ค.
PAxLUxโ=Pb=Pbโ
์ด๋, Ux=y๋ผ๊ณ ๋๊ณ ๋ฌธ์ ๋ฅผ ํ๋ฒ ํ๊ณ , Ly=Pb๋ผ๊ณ ๋๊ณ ๋ฌธ์ ๋ฅผ ๋ค์ ํ๋ฒ ํ๋ฉด ํด๋ฅผ ์ฝ๊ฒ ๊ตฌํ ์ ์๋ค.
Determinant
A=Pโ1LU ๋ฅผ ๋ง์กฑํ๊ณ ,
detAโ=detPโ1detLdetU=detP(i=1โnโliiโ)(i=1โnโuiiโ)=(โ1)S(i=1โnโliiโ)(i=1โnโuiiโ)โ
- S๋ ํ์ด ๊ตํ๋ ํ์๋ฅผ ๋ํ๋ธ๋ค.
- P๋ ์ง๊ตํ๋ ฌ์ด๋ฏ๋ก, Pโ1=PT๊ฐ ์ฑ๋ฆฝํ๋ค.
- UTM(Upper Triangular Matrix, ์์ผ๊ฐ ํ๋ ฌ), LTM(Lower Triangular Matrix, ํ์ผ๊ฐ ํ๋ ฌ)์ ๊ฒฝ์ฐ ํ๋ ฌ์์ ๊ฐ์ ๋๊ฐ์์๋ฅผ ๊ณฑํ ๊ฒ๊ณผ ๊ฐ๋ค.
Cholesky Decomposition
- AโCnรn
- ์๋ฅด๋ฏธํธ ํ๋ ฌ(Hermite matrix)์ด๋ A๊ฐ ๊ทธ ์ผค๋ ์ ์น(conjugate transpose) ํ๋ ฌ(Aโ)๊ณผ ๊ฐ์ ํ๋ ฌ์ด๋ค.
A=Aโ, where Aijโ=Ajiโโ
- ์ด๋ ์๋ฅด๋ฏธํธ ํ๋ ฌ์ด๊ณ ์์ ๋ถํธ ํ๋ ฌ A๊ฐ ์์ ๋ ์๋ ์คํค ๋ถํด๋ ๋ค์๊ณผ ๊ฐ๋ค.
A=LLโ
- L์ LTM์ด๋ฉฐ, Lโ๋ UTM์ด๋ค. ํํธ L์ ๋๊ฐ์ฑ๋ถ์ ๋ชจ๋ ์์ ์ค์๊ฐ ๋๋ค.
- ๋ง์ผ AโRnรn์ด๋ผ๋ฉด,
A=LLT
- LU ๋ถํด์ ํน๋ณํ ๊ฒฝ์ฐ๋ผ๊ณ ๋ณผ ์ ์๋ค. ์๊ณ ๋ฆฌ๋ฌ์ ๊ด์ ์์๋ณด๋ฉด, LU์ ๋นํด ์๋ ์คํค ๋ถํด๊ฐ 2~3 ๋ฐฐ ๋น ๋ฅด๋ค.
Eigendecomposition
- AโRnรn
- ์์ธํ ๋ด์ฉ์ ์ฌ๊ธฐ๋ฅผ ์ฐธ๊ณ ํ๋ฉด ๋๋ค.
- ํ๋ ฌ A๊ฐ ๊ฐ์ญ์ผ ๊ฒฝ์ฐ A=QฮปQโ1๋ก ๋ถํดํ ์ ์๋ค.
- ๋ง์ผ A๊ฐ ๊ฐ์ญ์ด๊ณ ๋์นญํ๋ ฌ์ด๋ผ๋ฉด, QTQ=I ์ด๋ฏ๋ก Qโ1=QT๊ฐ ๋๋ค. ๋ฐ๋ผ์ A=QฮปQT
QR decomposition
- AโRnรn
- ํ๋ ฌ์ ์ง๊ต ํ๋ ฌ๊ณผ ์ผ๊ฐ ํ๋ ฌ(UTM, LTM)๋ก ๋ถํดํ๋ ๊ณผ์ ์ ๋ปํ๋ค.
Gram-Schmidt processing
A=โฃโกโโฃ v1โ โฃ โโฆโฆโฆโ โฃ vnโ โฃโโฆโคโ
u1โ=v1โ,u2โ=v2โโ(v2โโ
e1โ)e1โ,vk+1โ=vk+1โโ(vk+1โโ
e1โ)e1โโโฏโ(vk+1โโ
ekโ)ekโ,โ e1โ=โฅu1โโฅu1โโ e2โ=โฅu2โโฅu2โโ ek+1โ=โฅuk+1โโฅuk+1โโโ
-
G-S ๊ณผ์ ์ ์ ๊ทธ๋ฆผ์ด ์ ํํํด์ค๋ค. ์ฆ, ๊ทธ๋ฆผ์ v2โ(์์ a2โ)์์ e1โ์ผ๋ก ํ๋ก์ ์
์ ํ ๋ฒกํฐ๋ฅผ ๋นผ์ฃผ๊ฒ ๋๋ฉด v1โ๊ณผ ์ง๊ตํ๋ u2โ๋ฅผ ์ป์ ์ ์๋ ๊ฒ์ด๋ค.
-
๊ณผ์ ์ ํ๋ ฌ์ ๊ณฑ์ผ๋ก ์ฌ๋ฐฐ์ดํด์ค ๊ฒ์ด QR ๋ถํด๋ค. ์ฆ,
Aโ=โฃโกโโฃ v1โ โฃ โโฆโฆโฆโ โฃ vnโ โฃโโฆโคโ=Q[e1โ โฆ enโ]โโRโฃโขโขโขโกโv1โโ
e1โ0โฎ0โv2โโ
e1โv2โโ
e2โโฎ0โโฆโฆโฑโฆโvnโโ
e1โvnโโ
e2โโฎvnโโ
enโโโฆโฅโฅโฅโคโโโโ
- e1โ,โฆ,enโ๋ง ๊ตฌํ๋ฉด ์ฝ๊ฒ ๋ถํด๋ฅผ ๋ฌ์ฑํ ์ ์์์ ์ ์ ์๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๋ ๊ฒ ๋ถํด๊ฐ ๊ฐ๋ฅํ ์ด์ ๋ G-S ์๊ณ ๋ฆฌ๋ฌ ๋๋ฌธ์ด๋ค.
Least quares solution
- QR ๋ถํด๋ ๋ค์ ์๋ฑํ๊ฒ๋ ์ต์์์น๋ฒ์ ํด๋ฅผ ๊ตฌํ ๋ ์ ์ฉํ๊ฒ ํ์ฉํ ์ ์๋ค.
๋จผ์ AโRmรn (mโฅn)์ด๋ผ๊ณ ํ์. ์ด๋ ๋ค์๊ณผ ๊ฐ์ QR ๋ถํด๊ฐ ์กด์ฌํ๋ค.
A=Q[R0โ]
- QโRnรn์ ์ง๊ตํ๋ ฌ(์ฆ, Qโ1=QT), RโRmรm์ UTM(upper triangular matrix, ์์ผ๊ฐํ๋ ฌ)์ด๋ค.
- ๋ง์ผ m=n์ด๊ณ A๊ฐ ๊ฐ์ญ์ด๋ฉด QR ๋ถํด๋ ์ ์ผํ๋ค.
- ์ด์ A๊ฐ full-column rank(์ฆ, rank(A)=n)๋ผ๊ณ ํ๋ฉด, A์ QR ๋ถํด๋ ์๋์ ๊ฐ์ด ์ธ ์ ์๋ค.
A=[Q1โ,Q2โ][R0โ]=Q1โR
์ด์ ์ต์์์น๋ฒ์ ๋ชฉ์ ํจ์๋ฅผ ๋ค์๊ณผ ๊ฐ์ด ์จ๋ณด์.
โฅAxโbโฅ22โโ=โฅQT(Axโb)โฅ=โฅ[R0โ]xโQTbโฅ=(โ)โฅRxโd1โโฅโโ+โฅd2โโฅโ
์ด๋ โฅd2โโฅ๋ ์์์ด๋ฏ๋ก, ๊ทน์ํ ๋ฌธ์ ๋ (โ)๋ฅผ ์ต์ํํ๋ฉด ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ ๊ฑฐ๋ฆฌ๋ฅผ ์ต์ํํด์ฃผ๋ ๊ฒ์ ๋น์ฐํ๊ฒ
x=Rโ1d1โ
- ์ด ํด๋ normal equation์ ์ต์ํํ์ฌ ์ป์ ํด์ ๊ฐ์์ ์ ์ ์๋ค.
Singular Value Decomposition
- MโCmรn
M=UฮฃVโ
- eigendecomposition๋ฅผ ๋ณด๋ค ์ผ๋ฐํํ๋ค๊ณ ๋ณด๋ฉด ์ข๊ฒ ๋ค.
- UโCmรm: ์ ๋ํฐ๋ฆฌ ํ๋ ฌ, ์ฆ UUโ=Imโ
- ฮฃโRmรn: ๋๊ฐ ์์๊ฐ ์์๊ฐ ์๋๋ฉฐ ๋๋จธ์ง ์์๋ ๋ชจ๋ 0
- VโโCnรn: ์ ๋ํฐ๋ฆฌ ํ๋ ฌ, ์ฆ VVโ=Inโ
- ๋ง์ผ U, V๊ฐ ๋ชจ๋ ์ค์๋ผ๋ฉด ๊ฐ๊ฐ์ m ์ฐจ์ n ์ฐจ์์ ์ง๊ต ํ๋ ฌ์ด๋ค.
Geometric interpretation
๊ธฐํํ์ ์ผ๋ก ํด์ํด๋ณผ ์ ์๊ฒ ๋ค. ๋์ฒด๋ก ์ ๋ํฐ๋ฆฌ ํน์ ์ง๊ต ํ๋ ฌ๋ค์ ์๋ก ์ง๊ตํ๋ ์ถ์ ํ์ ํ๋ ์ญํ ์ ํ๋ค. ํํธ, ์ค์๋ก ๊ตฌ์ฑ๋ ๋๊ฐ ํ๋ ฌ์ ๋ฒกํฐ์ ๊ธธ์ด๋ฅผ ๋์ด๊ณ ์ค์ด๋ ์ญํ ์ ํ๋ค. ์์ธ๋ฌ SVD์์๋ ์ฐจ์์ ์กฐ์ ํ๋ ์ญํ ์ ํ๋ค. ์ด๋ค ์ถ์ ์์ ๊ธฐ๋ ํ๊ณ , ์๋ ์ถ์ ์์ฑํ๊ธฐ๋ ํ๋ค.
๋ฐ๋ผ์ ์ด๋ค xโCnร1๊ฐ ์์ ๋
- Vโ๋ ์ด ๋ฒกํฐ์ ์ถ์ ๋ฐ๊ฟ์ค๋ค.
- ฮฃ์ ๊ฐ ์ถ์ ๋จ์ ๊ฑฐ๋ฆฌ์ ์ฐจ์์ ์กฐ์ ํ๋ค. - U๋ ๋ค์ ๋ฒกํฐ์ ์ถ์ ๋ฐ๊พผ๋ค.
Reduced SVD
- SVD๋ฅผ ๋์ํํด์ ๋ํ๋ด๋ฉด ์๋์ ๊ฐ๋ค.
- ๊ทธ๋ฆฌ๊ณ ๊ด๋ก์ ฮฃ์ ํฐ ์์๋๋ก ๋์ดํ๋ ๊ฒ์ผ๋ก ํ๋ค.
Thin SVD
- svd๊ฐ ์กด์ฌํ์ง ์์ ์์ญ์ ์ฌ์ค์ ๋ถํ์ํ ์
์ด๋ ์ด๋ค์ ์๋ผ๋ธ๋ค.
Compact SVD
- ๋ง์ผ svd๊ฐ 0์ธ ๊ฐ๋ค์ด ๋ค์ด ์๋ค๋ฉด, ์ด๋ค์ ์ ์ธํ๊ณ ๋ค์ ๋น์ทํ ์ถ์ฝ์ ๊ฑฐ์น๋ค. r<s
Truncated SVD
- svd ๊ฐ์ ์ผ์ ํ ๊ธฐ์ค์ผ๋ก ์๋ผ๋ธ ๊ฒ์ด๋ค. ์ฆ, ํด๋น ๊ธฐ์ค ์ดํ์ ๊ฐ๋ค์ ์ณ๋๋ค๊ณ ๋ณด๋ฉด ์ข๋ค.
์ด๋, raw, thin, compact๋ ์ ๋ณด์ ์์ค์ด ์๋ค๋ ์ ์ ์๊ธฐํ์. Truncated ๋ถํฐ ์ ๋ณด์ ์์ค์ด ๋ฐ์ํ๋ค.
Pseudo-inverse
๋ณดํต AโRmรn (m>n)์ธ ๊ฒฝ์ฐ ์ญํ๋ ฌ์ ๊ตฌํ ์ ์๋ค. ์ด๋ ์ญํ๋ ฌ๊ณผ ์ต๋ํ ๋น์ทํ ํ๋ ฌ์ ์ฐพ๋ ๊ฒ์ด ๋ชฉํ๋ค. ๋ง์ผ Ax=b์์ ์ญํ๋ ฌ์ด ์กด์ฌํ๋ค๋ฉด x=Aโ1b๋ก ์ฝ๊ฒ ๊ตฌํ ์ ์๋ค. ํ์ง๋ง ์ญํ๋ ฌ์ด ์กด์ฌํ์ง ์๋๋ค๋ฉด ์ด๋ค x๋ฅผ ๊ตฌํ๋ ๊ฒ ์ข์๊น? โฅAxโbโฅ๋ฅผ ์ต์ํํ๋ x๋ฅผ ๊ตฌํ๋ค๊ณ ํ ๋, ์ด๋ฅผ ๋ฌ์ฑํด์ฃผ๋ A+๋ฅผ A์ ์ ์ฌ์ญํ๋ ฌ์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค. ์ฆ,
x=A+b
SVD๋ ์ด ์ ์ฌ์ญํ๋ ฌ์ ๊ตฌํ๋ ๊ณผ์ ์์ ํ์ฉ๋ ์ ์๋ค. ์ฆ, A=UฮฃVโ์ด๋ผ๋ฉด A+=Vฮฃ+Uโ๋ผ๊ณ ๋ ์ ์๋ค. ์ฌ๊ธฐ์
- ฮฃ+๋ ฮฃ์ ๋๊ฐ ์์ ์ค 0์ด ์๋ ๊ฒ๋ค์ ์ญ์๋ฅผ ๋ฃ์ ํ ์ด๋ฅผ ์ ์นํ ํ๋ ฌ์ ๋ปํ๋ค. ์ฆ,
A=mรmUโโmรnโฃโขโขโขโขโขโขโขโขโกโฯ1โ โฏ 0โฎ โฑ โฎ0 โฏ ฯsโ0 โฏ 0โฎ โฑ โฎ0 โฏ 0โโฆโฅโฅโฅโฅโฅโฅโฅโฅโคโโโnรnVTโโ
A+=nรnVโโnรmโฃโขโกโฯ1โ1โ โฏ 0 0 โฏ 0โฎ โฑ โฎ 0 โฏ 00 โฏ ฯsโ1โ 0 โฏ 0โโฆโฅโคโโโmรmUTโโ
- ์ด๋ ์ฌ์ค ์ต์์์น๋ฒ๊ณผ ๊ฐ์ ํด๋ฅผ ๊ตฌํด์ค๋ค.
- Aโ1์ ํ๋ ฌ์ ์ข๊ณฑ๊ณผ ์ฐ๊ณฑ์ด ๋์ผํ ๋จ์ ํ๋ ฌ์ ์์ฑํ๋ค. ๋ฐ๋ฉด,
A+A=(Vฮฃ+UT)(UฮฃVT)=VVT=Inโ
AA+=(UฮฃVT)(Vฮฃ+UT)=UUT=Imโ
Reference
https://darkpgmr.tistory.com/106
๐ lostineconomics.com | Jun Sok Huhh