SlideShare a Scribd company logo
1 of 11
Linear Algebra
12. Gram-Schmidt Orthogonalization
한양대 이상화 교수님 <선형대수>
http://www.kocw.net/home/search/kemView.do?kemId=977757
• 회귀 분석 문제
• 일직선에 있지 않은 (같은 벡터 공간에 있지 않은) 점들을 가장 근사한(error가 작은) 직선에
투영하기
Least Square Problem
𝑦 = 𝐷𝑥 + 𝐶  𝐶와 𝐷가 미지수
𝒃 𝟏
𝒃 𝟐
𝒃 𝟑
𝒃 𝟒
𝒃 𝟓
𝒃 𝟔
𝒃 𝟕
2. 행렬로 접근하기
1 𝑡1
1 𝑡2
⋮ ⋮
1 𝑡 𝑛
𝐶
𝐷
=
𝑏1
𝑏2
⋮
𝑏 𝑛
 𝐴𝑥 = 𝑏 형태
𝑨 𝑻
𝑨 𝒙 = 𝑨 𝑻
𝒃 
𝑚 𝑡𝑖
𝑡𝑖 𝑡𝑖
2
𝐶
𝐷
=
𝑏𝑖
𝑏𝑖 𝑡𝑖
1. 미분으로 접근하기
𝐸2
= 𝐴𝑥 − 𝑏 2
=
𝑖=1
𝑛
𝑏𝑖 − 𝐶 + 𝐷𝑡𝑖
2
 2차식의 최소값은 기울기=0 일 때 존재
Gram-Schmidt Orthogonalization
• Orthogonal한 벡터들로 벡터 공간을 구성하면 연산이 간편해진다!
 Linearly Independent한 벡터들이 주어졌을 때, 이들을 적절히 변형하여 Orthogonal Basis로
만들어보자 : Gram-Schmidt Orthogonalization
• 2차원 공간
1. 벡터 𝒂 방향으로 Orthonormal한 𝒒 𝟏을 구한다.
𝑞1 =
𝑎
𝑎
2. 𝒒 𝟏에 벡터 𝒃를 Project 한다.
3. 𝒒 𝟏(벡터 𝒂)의 수직 방향(𝒒 𝟐)으로 벡터 𝒃를 Project 한다.
𝐵 = 𝑏 −
𝑎 𝑇
𝑏
𝑎 𝑇 𝑎
𝑎 = 𝑏 − 𝑞1
𝑇
𝑏 𝑞1 = 𝑞2
𝑇
𝑏 𝑞2
4. 벡터 b는 서로 수직인 두 벡터의 합으로 나타낼 수 있다.
𝑏 = 𝑞1
𝑇
𝑏 𝑞1 + 𝑞2
𝑇
𝑏 𝑞2
𝑎
𝑏
𝑞1
𝑇
𝑏 𝑞1
𝑞1에 대한 𝑏의 Projection
𝑏 − 𝑞1
𝑇
𝑏 𝑞1
𝐵
𝑞2
Gram-Schmidt Orthogonalization
• 3차원 공간  N차원 공간
1. 2차원 공간에서의 𝒒 𝟏, 𝒒 𝟐를 활용하여 3차원 축에 Project
한다.
𝐶 = 𝑐 − 𝑞1
𝑇
𝑐 𝑞1 + 𝑞2
𝑇
𝑐 𝑞2 = 𝑞3
𝑇
𝑐 𝑞3
𝑐 = 𝑞1
𝑇
𝑐 𝑞1 + 𝑞2
𝑇
𝑐 𝑞2 + 𝑞3
𝑇
𝑐 𝑞3 =
𝑖=1
3
𝑞𝑖
𝑇
𝑐 𝑞𝑖
2. 위 법칙을 N차원으로 확장하면,
𝐴𝑗 = 𝑎𝑗 −
𝑖=1
𝑗−1
𝑞𝑖
𝑇
𝑎𝑗 𝑞𝑖 = 𝑞 𝑗
𝑇
𝑎𝑗 𝑞 𝑗
𝑎𝑗 =
𝑖=1
𝑗
𝑞𝑖
𝑇
𝑎𝑗 𝑞𝑖 , 𝑞 𝑗 =
𝐴𝑗
𝐴𝑗
𝑐
𝑞1
𝑞2
𝑞3
𝐶
𝑞1
𝑇
𝑐 𝑞1 + 𝑞2
𝑇
𝑐 𝑞2
Gram-Schmidt Orthogonalization
• 예제
𝒂 =
𝟏
𝟎
𝟏
, 𝒃 =
𝟏
𝟎
𝟎
, 𝒄 =
𝟐
𝟏
𝟎
1. 𝒒 𝟏 =
𝑎
𝑎
=
1
2
1
0
1
2. 𝐵 = 𝑏 − 𝑞1
𝑇
𝑏 𝑞1 =
1
0
0
−
1
2
∗
1
2
1
0
1
=
1
2
0
− 1
2
= 𝑞2
𝑇
𝑏 𝑞2 ( 𝑞2는 normalize된 값)  𝒒 𝟐 =
𝐵
𝐵
=
2
2
1
0
−1
3. 𝐶 = 𝑐 − 𝑞1
𝑇
𝑐 𝑞1 − 𝑞2
𝑇
𝑐 𝑞2 =
2
1
0
− 2
1
2
0
1
2
− 2
1
2
0
−1
2
=
2
1
0
−
1
0
1
−
1
0
−1
=
0
1
0
= 𝒒 𝟑 (길이가 이미 1이기 때문에)
Orthogonal Basis
• Orthogonal Basis를 사용하면 정말 연산이 편해질까? 어떤 면에서 편하다고 하는 것일까?
• 𝑞1, 𝑞2, … , 𝑞 𝑛이 서로 Orthonormal 일 때 (Orthogonal + 벡터의 길이가 1)
𝑞𝑖
𝑇
𝑞 𝑗 =
0 (𝑖 ≠ 𝑗)
1 (𝑖 = 𝑗)
이고, 𝑄 = 𝑞1 𝑞2 … 𝑞 𝑛 으로 표현할 수 있다.
• 𝑄 𝑇 𝑄 =
𝑞1
𝑞2
…
𝑞 𝑛
𝑞1 𝑞2 … 𝑞 𝑛 = 𝐼  𝑸 𝑻 = 𝑸−𝟏 (Left-inverse)
• Q행렬의 예시
• Rotation Matrix
cos 𝜃 −sin 𝜃
sin 𝜃 cos 𝜃
• Permutation Matrix
0 1 0
1 0 0
0 0 1
 𝑃 𝑇
= 𝑃−1
Orthogonal Basis
• 벡터에 Q를 적용해도 원래의 길이와 각도는 변하지 않는다.
• 길이 : 𝑄𝑥 2
= 𝑥 𝑇
𝑄 𝑇
𝑄𝑥 = 𝑥 𝑇
𝐼𝑥 = 𝑥 𝑇
𝑥
• 각도 : 𝑄𝑥 𝑇
𝑄𝑦 = 𝑥 𝑇
𝑄 𝑇
𝑄𝑦 = 𝑥 𝑇
𝐼𝑦 = 𝑥 𝑇
𝑦
• For any vector b,
• 𝑏 = 𝑥1 𝑞1 + 𝑥2 𝑞2 + … + 𝑥 𝑛 𝑞 𝑛  𝑄𝑥 = 𝑏
• 𝑞𝑖
𝑇
𝑏 = 𝑞𝑖
𝑇
𝑥1 𝑞1 + 𝑥2 𝑞2 + … + 𝑥 𝑛 𝑞 𝑛 = 𝑥𝑖 ( 𝑞𝑖
𝑇
𝑞 𝑗 =
0 (𝑖 ≠ 𝑗)
1 (𝑖 = 𝑗)
이기 때문에 )
 𝑏 = (𝑞1
𝑇
𝑏)𝑞1 + (𝑞2
𝑇
𝑏)𝑞2 + … + (𝑞 𝑛
𝑇
𝑏)𝑞 𝑛 = 𝑄𝑥
• 𝒙 = 𝑸−𝟏
𝒃 = 𝑸 𝑻
𝒃
• 𝑨𝒙 = 𝒃에서 행렬 𝑨가 𝑸 형태라면, 𝑸 𝑻
= 𝑸−𝟏
성질을 사용하여 G/E 없이도 𝒙를 쉽게 구할 수 있다.
Orthogonal Basis
• 𝑞1, 𝑞2, … , 𝑞 𝑛은 𝐶(𝑄)를 구성하는 Orthogonal Basis 들이기 때문에, 𝑏를 각 𝑞𝑖에 Projection 한다면,
𝒒 𝒊
𝑻
𝒃
𝒒 𝒊
𝑻 𝒒𝒊
𝒒𝒊 = 𝒒𝒊
𝑻
𝒃 𝒒𝒊 = 𝒙𝒊 𝒒𝒊 ( 𝑞𝑖
𝑇
𝑞𝑖 = 1 이기 때문에), 결국 𝑥𝑖는 𝑏를 𝑞𝑖에 Projection 한 길이 값이다.
𝑞1
𝑏
𝑞1
𝑇
𝑏 𝑞1 = 𝑥1 𝑞1
𝑞2
𝑞2
𝑇
𝑏 𝑞2
= 𝑥2 𝑞2
𝑥1
𝑥2
Rectangular Matrix with Orthogonal Basis
• 앞선 예제들은 정사각 행렬을 기준으로 했다면, 직사각 행렬에 적용해보자.
• M x N 행렬에서 직사각 행렬은 M > N의 경우와, M < N 경우 두 가지가 발생하는데,
3차원 공간에서 서로 직교하는 벡터가 4개 이상 나올 수 없다는 것을 떠올리면,
Orthogonal Column을 가지는 직사각 행렬은 항상 M > N 경우이다.
• 𝑄𝑥 = 𝑏
𝑄 𝑇
𝑄 𝑥 = 𝑄 𝑇
𝑏, 𝒙 = 𝑸 𝑻
𝑸
−𝟏
𝑸 𝑻
𝒃 = 𝑸 𝑻
𝒃 (𝑄 𝑇
𝑄 = 𝐼 이기 때문에)
𝑝 = 𝑄 𝑥 = 𝑄 𝑄 𝑇
𝑄 −1
𝑄 𝑇
𝑏 = 𝑄𝑄 𝑇
𝑏 (𝑄 𝑇
는 Left-Inverse 일 뿐!)
• Orthonormal Basis로 벡터 공간을 구성하면, Projection 𝒙, 𝒑 를 Q 행렬로 쉽게 구할 수 있다.
• Gram-Schmidt 기법을 사용하면 𝐴𝑥 = 𝑏에서 행렬 𝐴를 𝑄로 변환하여 연산을 간편하게 할 수 있다.
𝐴 = 𝑎1 𝑎2 … 𝑎 𝑛 =
𝑞1
𝑇
𝑎1 𝑞1 𝑞1
𝑇
𝑎2 𝑞1 …
+ 𝑞2
𝑇
𝑎2 𝑞2 …
𝑖=1
𝑛
𝑞𝑖
𝑇
𝑎 𝑛 𝑞𝑖
𝑇
…
= 𝑞1 𝑞2 … 𝑞 𝑛
𝑞1
𝑇
𝑎1 𝑞1
𝑇
𝑎2 … 𝑞1
𝑇
𝑎 𝑛
𝑞2
𝑇
𝑎2 … 𝑞2
𝑇
𝑎 𝑛
⋱
𝑞 𝑛
𝑇 𝑎 𝑛
QR Factorization
Q x R
• 𝐴 = 𝑞1 𝑞2 … 𝑞 𝑛
𝑞1
𝑇
𝑎1 𝑞1
𝑇
𝑎2 … 𝑞1
𝑇
𝑎 𝑛
𝑞2
𝑇
𝑎2 … 𝑞2
𝑇
𝑎 𝑛
⋱
𝑞 𝑛
𝑇 𝑎 𝑛
로 변환하면,
𝐴𝑥 = 𝑏 에서
𝒙 = 𝐴 𝑇
𝐴 −1
𝐴 𝑇
𝑏 = 𝑅 𝑇
𝑄 𝑇
𝑄𝑅 −1
𝑅 𝑇
𝑄 𝑇
𝑏
= 𝑹 𝑻 𝑹
−𝟏
𝑹 𝑻 𝑸 𝑻 𝒃
• Upper Triangular Matrix R과 Q, b만으로 𝒙를 구하기 때문에 연산량이 확연히 줄어든다.
 행렬에 0이 많으면 연산이 편해지니까!
QR Factorization

More Related Content

What's hot

Medical Image Synthesis with Improved Cycle-GAN: CT from CECT
Medical Image Synthesis with Improved Cycle-GAN: CT from CECT Medical Image Synthesis with Improved Cycle-GAN: CT from CECT
Medical Image Synthesis with Improved Cycle-GAN: CT from CECT BoahKim2
 
確率モデルを用いた3D点群レジストレーション
確率モデルを用いた3D点群レジストレーション確率モデルを用いた3D点群レジストレーション
確率モデルを用いた3D点群レジストレーションKenta Tanaka
 
Membuat CV dengan HTML
Membuat CV dengan HTMLMembuat CV dengan HTML
Membuat CV dengan HTMLDasufianti
 
LSD-SLAM:Large Scale Direct Monocular SLAM
LSD-SLAM:Large Scale Direct Monocular SLAMLSD-SLAM:Large Scale Direct Monocular SLAM
LSD-SLAM:Large Scale Direct Monocular SLAMEndoYuuki
 
Normalization 방법
Normalization 방법 Normalization 방법
Normalization 방법 홍배 김
 
Integral image (Summed Area Table)
Integral image (Summed Area Table)Integral image (Summed Area Table)
Integral image (Summed Area Table)Randy Wihandika
 
선형대수 05. 열벡터공간
선형대수 05. 열벡터공간선형대수 05. 열벡터공간
선형대수 05. 열벡터공간AHRA CHO
 
Geometria espacial
Geometria espacialGeometria espacial
Geometria espacialCldsonDiniz
 
TokyoNLP#5 パーセプトロンで楽しい仲間がぽぽぽぽ~ん
TokyoNLP#5 パーセプトロンで楽しい仲間がぽぽぽぽ~んTokyoNLP#5 パーセプトロンで楽しい仲間がぽぽぽぽ~ん
TokyoNLP#5 パーセプトロンで楽しい仲間がぽぽぽぽ~んsleepy_yoshi
 
Derivada lateral com limite
Derivada lateral com limiteDerivada lateral com limite
Derivada lateral com limiteDiego Oliveira
 
DTAM: Dense Tracking and Mapping in Real-Time, Robot vision Group
DTAM: Dense Tracking and Mapping in Real-Time, Robot vision GroupDTAM: Dense Tracking and Mapping in Real-Time, Robot vision Group
DTAM: Dense Tracking and Mapping in Real-Time, Robot vision GroupLihang Li
 
알기쉬운 Variational autoencoder
알기쉬운 Variational autoencoder알기쉬운 Variational autoencoder
알기쉬운 Variational autoencoder홍배 김
 
学習係数
学習係数学習係数
学習係数hoxo_m
 
Diffusion Deformable Model for 4D Temporal Medical Image Generation
Diffusion Deformable Model for 4D Temporal Medical Image GenerationDiffusion Deformable Model for 4D Temporal Medical Image Generation
Diffusion Deformable Model for 4D Temporal Medical Image GenerationBoahKim2
 
Prml 11.1.4 重点サンプリング
Prml 11.1.4 重点サンプリングPrml 11.1.4 重点サンプリング
Prml 11.1.4 重点サンプリングYo Ehara
 

What's hot (20)

Medical Image Synthesis with Improved Cycle-GAN: CT from CECT
Medical Image Synthesis with Improved Cycle-GAN: CT from CECT Medical Image Synthesis with Improved Cycle-GAN: CT from CECT
Medical Image Synthesis with Improved Cycle-GAN: CT from CECT
 
確率モデルを用いた3D点群レジストレーション
確率モデルを用いた3D点群レジストレーション確率モデルを用いた3D点群レジストレーション
確率モデルを用いた3D点群レジストレーション
 
Membuat CV dengan HTML
Membuat CV dengan HTMLMembuat CV dengan HTML
Membuat CV dengan HTML
 
LSD-SLAM:Large Scale Direct Monocular SLAM
LSD-SLAM:Large Scale Direct Monocular SLAMLSD-SLAM:Large Scale Direct Monocular SLAM
LSD-SLAM:Large Scale Direct Monocular SLAM
 
Big M Methode
Big M MethodeBig M Methode
Big M Methode
 
Normalization 방법
Normalization 방법 Normalization 방법
Normalization 방법
 
Integral image (Summed Area Table)
Integral image (Summed Area Table)Integral image (Summed Area Table)
Integral image (Summed Area Table)
 
선형대수 05. 열벡터공간
선형대수 05. 열벡터공간선형대수 05. 열벡터공간
선형대수 05. 열벡터공간
 
Geometria espacial
Geometria espacialGeometria espacial
Geometria espacial
 
TokyoNLP#5 パーセプトロンで楽しい仲間がぽぽぽぽ~ん
TokyoNLP#5 パーセプトロンで楽しい仲間がぽぽぽぽ~んTokyoNLP#5 パーセプトロンで楽しい仲間がぽぽぽぽ~ん
TokyoNLP#5 パーセプトロンで楽しい仲間がぽぽぽぽ~ん
 
Derivada lateral com limite
Derivada lateral com limiteDerivada lateral com limite
Derivada lateral com limite
 
Polígonos regulares
Polígonos regularesPolígonos regulares
Polígonos regulares
 
DTAM: Dense Tracking and Mapping in Real-Time, Robot vision Group
DTAM: Dense Tracking and Mapping in Real-Time, Robot vision GroupDTAM: Dense Tracking and Mapping in Real-Time, Robot vision Group
DTAM: Dense Tracking and Mapping in Real-Time, Robot vision Group
 
알기쉬운 Variational autoencoder
알기쉬운 Variational autoencoder알기쉬운 Variational autoencoder
알기쉬운 Variational autoencoder
 
学習係数
学習係数学習係数
学習係数
 
Diffusion Deformable Model for 4D Temporal Medical Image Generation
Diffusion Deformable Model for 4D Temporal Medical Image GenerationDiffusion Deformable Model for 4D Temporal Medical Image Generation
Diffusion Deformable Model for 4D Temporal Medical Image Generation
 
Variational AutoEncoder(VAE)
Variational AutoEncoder(VAE)Variational AutoEncoder(VAE)
Variational AutoEncoder(VAE)
 
Prml 11.1.4 重点サンプリング
Prml 11.1.4 重点サンプリングPrml 11.1.4 重点サンプリング
Prml 11.1.4 重点サンプリング
 
Bilangan berpangkat kls_9
Bilangan berpangkat kls_9Bilangan berpangkat kls_9
Bilangan berpangkat kls_9
 
Teori pappus
Teori pappusTeori pappus
Teori pappus
 

Similar to 선형대수 12강 Gram-Schmidt Orthogonalization

선형대수 01. 선형성의 정의와 1차 연립방정식의 의미
선형대수 01. 선형성의 정의와 1차 연립방정식의 의미선형대수 01. 선형성의 정의와 1차 연립방정식의 의미
선형대수 01. 선형성의 정의와 1차 연립방정식의 의미AHRA CHO
 
선형대수 06. 영벡터공간과 해집합
선형대수 06. 영벡터공간과 해집합선형대수 06. 영벡터공간과 해집합
선형대수 06. 영벡터공간과 해집합AHRA CHO
 
선형대수 11강 벡터 투영과 최소제곱법
선형대수 11강 벡터 투영과 최소제곱법선형대수 11강 벡터 투영과 최소제곱법
선형대수 11강 벡터 투영과 최소제곱법AHRA CHO
 
Ray-triangle intersection
Ray-triangle intersectionRay-triangle intersection
Ray-triangle intersection동환 김
 
Eigendecomposition and pca
Eigendecomposition and pcaEigendecomposition and pca
Eigendecomposition and pcaJinhwan Suk
 
0124 1 linear_algebra_basic_vector
0124 1 linear_algebra_basic_vector0124 1 linear_algebra_basic_vector
0124 1 linear_algebra_basic_vectorJeonghun Yoon
 
Linear algebra.pptx
Linear algebra.pptxLinear algebra.pptx
Linear algebra.pptxGeonWooYoo1
 
0131 1 spectral_theorem_transformation
0131 1 spectral_theorem_transformation0131 1 spectral_theorem_transformation
0131 1 spectral_theorem_transformationJeonghun Yoon
 
선형대수 04. Inverse and Transpose
선형대수 04. Inverse and Transpose선형대수 04. Inverse and Transpose
선형대수 04. Inverse and TransposeAHRA CHO
 
Auto-Encoders and Variational Auto-Encoders
Auto-Encoders and Variational Auto-EncodersAuto-Encoders and Variational Auto-Encoders
Auto-Encoders and Variational Auto-EncodersJinho Lee
 
0131 2 spectral_theorem_eigenvalue
0131 2 spectral_theorem_eigenvalue0131 2 spectral_theorem_eigenvalue
0131 2 spectral_theorem_eigenvalueJeonghun Yoon
 
Deep Learning from scratch 5장 : backpropagation
 Deep Learning from scratch 5장 : backpropagation Deep Learning from scratch 5장 : backpropagation
Deep Learning from scratch 5장 : backpropagationJinSooKim80
 
03. linear regression
03. linear regression03. linear regression
03. linear regressionJeonghun Yoon
 
Closest pair problem with randomization
Closest pair problem with randomizationClosest pair problem with randomization
Closest pair problem with randomizationChangki Yun
 
08. spectal clustering
08. spectal clustering08. spectal clustering
08. spectal clusteringJeonghun Yoon
 

Similar to 선형대수 12강 Gram-Schmidt Orthogonalization (20)

선형대수 01. 선형성의 정의와 1차 연립방정식의 의미
선형대수 01. 선형성의 정의와 1차 연립방정식의 의미선형대수 01. 선형성의 정의와 1차 연립방정식의 의미
선형대수 01. 선형성의 정의와 1차 연립방정식의 의미
 
벡터
벡터벡터
벡터
 
선형대수 06. 영벡터공간과 해집합
선형대수 06. 영벡터공간과 해집합선형대수 06. 영벡터공간과 해집합
선형대수 06. 영벡터공간과 해집합
 
선형대수 11강 벡터 투영과 최소제곱법
선형대수 11강 벡터 투영과 최소제곱법선형대수 11강 벡터 투영과 최소제곱법
선형대수 11강 벡터 투영과 최소제곱법
 
Ray-triangle intersection
Ray-triangle intersectionRay-triangle intersection
Ray-triangle intersection
 
Eigendecomposition and pca
Eigendecomposition and pcaEigendecomposition and pca
Eigendecomposition and pca
 
0124 1 linear_algebra_basic_vector
0124 1 linear_algebra_basic_vector0124 1 linear_algebra_basic_vector
0124 1 linear_algebra_basic_vector
 
Linear algebra.pptx
Linear algebra.pptxLinear algebra.pptx
Linear algebra.pptx
 
0131 1 spectral_theorem_transformation
0131 1 spectral_theorem_transformation0131 1 spectral_theorem_transformation
0131 1 spectral_theorem_transformation
 
선형대수 04. Inverse and Transpose
선형대수 04. Inverse and Transpose선형대수 04. Inverse and Transpose
선형대수 04. Inverse and Transpose
 
Auto-Encoders and Variational Auto-Encoders
Auto-Encoders and Variational Auto-EncodersAuto-Encoders and Variational Auto-Encoders
Auto-Encoders and Variational Auto-Encoders
 
0131 2 spectral_theorem_eigenvalue
0131 2 spectral_theorem_eigenvalue0131 2 spectral_theorem_eigenvalue
0131 2 spectral_theorem_eigenvalue
 
06. graph mining
06. graph mining06. graph mining
06. graph mining
 
Deep Learning from scratch 5장 : backpropagation
 Deep Learning from scratch 5장 : backpropagation Deep Learning from scratch 5장 : backpropagation
Deep Learning from scratch 5장 : backpropagation
 
03. linear regression
03. linear regression03. linear regression
03. linear regression
 
Vae
VaeVae
Vae
 
Closest pair problem with randomization
Closest pair problem with randomizationClosest pair problem with randomization
Closest pair problem with randomization
 
행렬
행렬행렬
행렬
 
08. spectal clustering
08. spectal clustering08. spectal clustering
08. spectal clustering
 
SVM
SVMSVM
SVM
 

More from AHRA CHO

선형대수 07. 선형독립, 4가지 부벡터공간
선형대수 07. 선형독립, 4가지 부벡터공간선형대수 07. 선형독립, 4가지 부벡터공간
선형대수 07. 선형독립, 4가지 부벡터공간AHRA CHO
 
선형대수 03. LU Decomposition
선형대수 03. LU Decomposition선형대수 03. LU Decomposition
선형대수 03. LU DecompositionAHRA CHO
 
선형대수 02. 가우스 소거법
선형대수 02. 가우스 소거법선형대수 02. 가우스 소거법
선형대수 02. 가우스 소거법AHRA CHO
 
01_ML 기초_선형회귀_Linear Regression
01_ML 기초_선형회귀_Linear Regression01_ML 기초_선형회귀_Linear Regression
01_ML 기초_선형회귀_Linear RegressionAHRA CHO
 
00_ML 기초_기본개념
00_ML 기초_기본개념00_ML 기초_기본개념
00_ML 기초_기본개념AHRA CHO
 
[2012 2] 1주차 사회적경제 개요
[2012 2] 1주차 사회적경제 개요[2012 2] 1주차 사회적경제 개요
[2012 2] 1주차 사회적경제 개요AHRA CHO
 
[2012 2] 1주차 사회적경제의 역사
[2012 2] 1주차 사회적경제의 역사[2012 2] 1주차 사회적경제의 역사
[2012 2] 1주차 사회적경제의 역사AHRA CHO
 

More from AHRA CHO (7)

선형대수 07. 선형독립, 4가지 부벡터공간
선형대수 07. 선형독립, 4가지 부벡터공간선형대수 07. 선형독립, 4가지 부벡터공간
선형대수 07. 선형독립, 4가지 부벡터공간
 
선형대수 03. LU Decomposition
선형대수 03. LU Decomposition선형대수 03. LU Decomposition
선형대수 03. LU Decomposition
 
선형대수 02. 가우스 소거법
선형대수 02. 가우스 소거법선형대수 02. 가우스 소거법
선형대수 02. 가우스 소거법
 
01_ML 기초_선형회귀_Linear Regression
01_ML 기초_선형회귀_Linear Regression01_ML 기초_선형회귀_Linear Regression
01_ML 기초_선형회귀_Linear Regression
 
00_ML 기초_기본개념
00_ML 기초_기본개념00_ML 기초_기본개념
00_ML 기초_기본개념
 
[2012 2] 1주차 사회적경제 개요
[2012 2] 1주차 사회적경제 개요[2012 2] 1주차 사회적경제 개요
[2012 2] 1주차 사회적경제 개요
 
[2012 2] 1주차 사회적경제의 역사
[2012 2] 1주차 사회적경제의 역사[2012 2] 1주차 사회적경제의 역사
[2012 2] 1주차 사회적경제의 역사
 

선형대수 12강 Gram-Schmidt Orthogonalization

  • 1. Linear Algebra 12. Gram-Schmidt Orthogonalization 한양대 이상화 교수님 <선형대수> http://www.kocw.net/home/search/kemView.do?kemId=977757
  • 2. • 회귀 분석 문제 • 일직선에 있지 않은 (같은 벡터 공간에 있지 않은) 점들을 가장 근사한(error가 작은) 직선에 투영하기 Least Square Problem 𝑦 = 𝐷𝑥 + 𝐶  𝐶와 𝐷가 미지수 𝒃 𝟏 𝒃 𝟐 𝒃 𝟑 𝒃 𝟒 𝒃 𝟓 𝒃 𝟔 𝒃 𝟕 2. 행렬로 접근하기 1 𝑡1 1 𝑡2 ⋮ ⋮ 1 𝑡 𝑛 𝐶 𝐷 = 𝑏1 𝑏2 ⋮ 𝑏 𝑛  𝐴𝑥 = 𝑏 형태 𝑨 𝑻 𝑨 𝒙 = 𝑨 𝑻 𝒃  𝑚 𝑡𝑖 𝑡𝑖 𝑡𝑖 2 𝐶 𝐷 = 𝑏𝑖 𝑏𝑖 𝑡𝑖 1. 미분으로 접근하기 𝐸2 = 𝐴𝑥 − 𝑏 2 = 𝑖=1 𝑛 𝑏𝑖 − 𝐶 + 𝐷𝑡𝑖 2  2차식의 최소값은 기울기=0 일 때 존재
  • 3. Gram-Schmidt Orthogonalization • Orthogonal한 벡터들로 벡터 공간을 구성하면 연산이 간편해진다!  Linearly Independent한 벡터들이 주어졌을 때, 이들을 적절히 변형하여 Orthogonal Basis로 만들어보자 : Gram-Schmidt Orthogonalization • 2차원 공간 1. 벡터 𝒂 방향으로 Orthonormal한 𝒒 𝟏을 구한다. 𝑞1 = 𝑎 𝑎 2. 𝒒 𝟏에 벡터 𝒃를 Project 한다. 3. 𝒒 𝟏(벡터 𝒂)의 수직 방향(𝒒 𝟐)으로 벡터 𝒃를 Project 한다. 𝐵 = 𝑏 − 𝑎 𝑇 𝑏 𝑎 𝑇 𝑎 𝑎 = 𝑏 − 𝑞1 𝑇 𝑏 𝑞1 = 𝑞2 𝑇 𝑏 𝑞2 4. 벡터 b는 서로 수직인 두 벡터의 합으로 나타낼 수 있다. 𝑏 = 𝑞1 𝑇 𝑏 𝑞1 + 𝑞2 𝑇 𝑏 𝑞2 𝑎 𝑏 𝑞1 𝑇 𝑏 𝑞1 𝑞1에 대한 𝑏의 Projection 𝑏 − 𝑞1 𝑇 𝑏 𝑞1 𝐵 𝑞2
  • 4. Gram-Schmidt Orthogonalization • 3차원 공간  N차원 공간 1. 2차원 공간에서의 𝒒 𝟏, 𝒒 𝟐를 활용하여 3차원 축에 Project 한다. 𝐶 = 𝑐 − 𝑞1 𝑇 𝑐 𝑞1 + 𝑞2 𝑇 𝑐 𝑞2 = 𝑞3 𝑇 𝑐 𝑞3 𝑐 = 𝑞1 𝑇 𝑐 𝑞1 + 𝑞2 𝑇 𝑐 𝑞2 + 𝑞3 𝑇 𝑐 𝑞3 = 𝑖=1 3 𝑞𝑖 𝑇 𝑐 𝑞𝑖 2. 위 법칙을 N차원으로 확장하면, 𝐴𝑗 = 𝑎𝑗 − 𝑖=1 𝑗−1 𝑞𝑖 𝑇 𝑎𝑗 𝑞𝑖 = 𝑞 𝑗 𝑇 𝑎𝑗 𝑞 𝑗 𝑎𝑗 = 𝑖=1 𝑗 𝑞𝑖 𝑇 𝑎𝑗 𝑞𝑖 , 𝑞 𝑗 = 𝐴𝑗 𝐴𝑗 𝑐 𝑞1 𝑞2 𝑞3 𝐶 𝑞1 𝑇 𝑐 𝑞1 + 𝑞2 𝑇 𝑐 𝑞2
  • 5. Gram-Schmidt Orthogonalization • 예제 𝒂 = 𝟏 𝟎 𝟏 , 𝒃 = 𝟏 𝟎 𝟎 , 𝒄 = 𝟐 𝟏 𝟎 1. 𝒒 𝟏 = 𝑎 𝑎 = 1 2 1 0 1 2. 𝐵 = 𝑏 − 𝑞1 𝑇 𝑏 𝑞1 = 1 0 0 − 1 2 ∗ 1 2 1 0 1 = 1 2 0 − 1 2 = 𝑞2 𝑇 𝑏 𝑞2 ( 𝑞2는 normalize된 값)  𝒒 𝟐 = 𝐵 𝐵 = 2 2 1 0 −1 3. 𝐶 = 𝑐 − 𝑞1 𝑇 𝑐 𝑞1 − 𝑞2 𝑇 𝑐 𝑞2 = 2 1 0 − 2 1 2 0 1 2 − 2 1 2 0 −1 2 = 2 1 0 − 1 0 1 − 1 0 −1 = 0 1 0 = 𝒒 𝟑 (길이가 이미 1이기 때문에)
  • 6. Orthogonal Basis • Orthogonal Basis를 사용하면 정말 연산이 편해질까? 어떤 면에서 편하다고 하는 것일까? • 𝑞1, 𝑞2, … , 𝑞 𝑛이 서로 Orthonormal 일 때 (Orthogonal + 벡터의 길이가 1) 𝑞𝑖 𝑇 𝑞 𝑗 = 0 (𝑖 ≠ 𝑗) 1 (𝑖 = 𝑗) 이고, 𝑄 = 𝑞1 𝑞2 … 𝑞 𝑛 으로 표현할 수 있다. • 𝑄 𝑇 𝑄 = 𝑞1 𝑞2 … 𝑞 𝑛 𝑞1 𝑞2 … 𝑞 𝑛 = 𝐼  𝑸 𝑻 = 𝑸−𝟏 (Left-inverse) • Q행렬의 예시 • Rotation Matrix cos 𝜃 −sin 𝜃 sin 𝜃 cos 𝜃 • Permutation Matrix 0 1 0 1 0 0 0 0 1  𝑃 𝑇 = 𝑃−1
  • 7. Orthogonal Basis • 벡터에 Q를 적용해도 원래의 길이와 각도는 변하지 않는다. • 길이 : 𝑄𝑥 2 = 𝑥 𝑇 𝑄 𝑇 𝑄𝑥 = 𝑥 𝑇 𝐼𝑥 = 𝑥 𝑇 𝑥 • 각도 : 𝑄𝑥 𝑇 𝑄𝑦 = 𝑥 𝑇 𝑄 𝑇 𝑄𝑦 = 𝑥 𝑇 𝐼𝑦 = 𝑥 𝑇 𝑦 • For any vector b, • 𝑏 = 𝑥1 𝑞1 + 𝑥2 𝑞2 + … + 𝑥 𝑛 𝑞 𝑛  𝑄𝑥 = 𝑏 • 𝑞𝑖 𝑇 𝑏 = 𝑞𝑖 𝑇 𝑥1 𝑞1 + 𝑥2 𝑞2 + … + 𝑥 𝑛 𝑞 𝑛 = 𝑥𝑖 ( 𝑞𝑖 𝑇 𝑞 𝑗 = 0 (𝑖 ≠ 𝑗) 1 (𝑖 = 𝑗) 이기 때문에 )  𝑏 = (𝑞1 𝑇 𝑏)𝑞1 + (𝑞2 𝑇 𝑏)𝑞2 + … + (𝑞 𝑛 𝑇 𝑏)𝑞 𝑛 = 𝑄𝑥 • 𝒙 = 𝑸−𝟏 𝒃 = 𝑸 𝑻 𝒃 • 𝑨𝒙 = 𝒃에서 행렬 𝑨가 𝑸 형태라면, 𝑸 𝑻 = 𝑸−𝟏 성질을 사용하여 G/E 없이도 𝒙를 쉽게 구할 수 있다.
  • 8. Orthogonal Basis • 𝑞1, 𝑞2, … , 𝑞 𝑛은 𝐶(𝑄)를 구성하는 Orthogonal Basis 들이기 때문에, 𝑏를 각 𝑞𝑖에 Projection 한다면, 𝒒 𝒊 𝑻 𝒃 𝒒 𝒊 𝑻 𝒒𝒊 𝒒𝒊 = 𝒒𝒊 𝑻 𝒃 𝒒𝒊 = 𝒙𝒊 𝒒𝒊 ( 𝑞𝑖 𝑇 𝑞𝑖 = 1 이기 때문에), 결국 𝑥𝑖는 𝑏를 𝑞𝑖에 Projection 한 길이 값이다. 𝑞1 𝑏 𝑞1 𝑇 𝑏 𝑞1 = 𝑥1 𝑞1 𝑞2 𝑞2 𝑇 𝑏 𝑞2 = 𝑥2 𝑞2 𝑥1 𝑥2
  • 9. Rectangular Matrix with Orthogonal Basis • 앞선 예제들은 정사각 행렬을 기준으로 했다면, 직사각 행렬에 적용해보자. • M x N 행렬에서 직사각 행렬은 M > N의 경우와, M < N 경우 두 가지가 발생하는데, 3차원 공간에서 서로 직교하는 벡터가 4개 이상 나올 수 없다는 것을 떠올리면, Orthogonal Column을 가지는 직사각 행렬은 항상 M > N 경우이다. • 𝑄𝑥 = 𝑏 𝑄 𝑇 𝑄 𝑥 = 𝑄 𝑇 𝑏, 𝒙 = 𝑸 𝑻 𝑸 −𝟏 𝑸 𝑻 𝒃 = 𝑸 𝑻 𝒃 (𝑄 𝑇 𝑄 = 𝐼 이기 때문에) 𝑝 = 𝑄 𝑥 = 𝑄 𝑄 𝑇 𝑄 −1 𝑄 𝑇 𝑏 = 𝑄𝑄 𝑇 𝑏 (𝑄 𝑇 는 Left-Inverse 일 뿐!) • Orthonormal Basis로 벡터 공간을 구성하면, Projection 𝒙, 𝒑 를 Q 행렬로 쉽게 구할 수 있다.
  • 10. • Gram-Schmidt 기법을 사용하면 𝐴𝑥 = 𝑏에서 행렬 𝐴를 𝑄로 변환하여 연산을 간편하게 할 수 있다. 𝐴 = 𝑎1 𝑎2 … 𝑎 𝑛 = 𝑞1 𝑇 𝑎1 𝑞1 𝑞1 𝑇 𝑎2 𝑞1 … + 𝑞2 𝑇 𝑎2 𝑞2 … 𝑖=1 𝑛 𝑞𝑖 𝑇 𝑎 𝑛 𝑞𝑖 𝑇 … = 𝑞1 𝑞2 … 𝑞 𝑛 𝑞1 𝑇 𝑎1 𝑞1 𝑇 𝑎2 … 𝑞1 𝑇 𝑎 𝑛 𝑞2 𝑇 𝑎2 … 𝑞2 𝑇 𝑎 𝑛 ⋱ 𝑞 𝑛 𝑇 𝑎 𝑛 QR Factorization Q x R
  • 11. • 𝐴 = 𝑞1 𝑞2 … 𝑞 𝑛 𝑞1 𝑇 𝑎1 𝑞1 𝑇 𝑎2 … 𝑞1 𝑇 𝑎 𝑛 𝑞2 𝑇 𝑎2 … 𝑞2 𝑇 𝑎 𝑛 ⋱ 𝑞 𝑛 𝑇 𝑎 𝑛 로 변환하면, 𝐴𝑥 = 𝑏 에서 𝒙 = 𝐴 𝑇 𝐴 −1 𝐴 𝑇 𝑏 = 𝑅 𝑇 𝑄 𝑇 𝑄𝑅 −1 𝑅 𝑇 𝑄 𝑇 𝑏 = 𝑹 𝑻 𝑹 −𝟏 𝑹 𝑻 𝑸 𝑻 𝒃 • Upper Triangular Matrix R과 Q, b만으로 𝒙를 구하기 때문에 연산량이 확연히 줄어든다.  행렬에 0이 많으면 연산이 편해지니까! QR Factorization