1.4 소거법과 A = LU

핵심: rank 1인 행렬의 관점에서 소거법을 살펴보는 것.
즉, 기존 행렬인 A는 rank = 1인 행렬들의 합으로 볼 수 있다.

ex.

 

 

1.4 .1 소거법을 이용한 Ax = b의 풀이

R3공간에서 세 평면이 만나는 것을 시각화하는 것은 쉽지 않다.
Rn공간에서 초평면(hyperplane) n개가 한 점에서 만남을 시각화 하는 것도 쉽지 않다.

But! 열벡터의 일차결합은 훨씬 쉽다!!

 - 행렬 A에서는 반드시 3 or n개의 일차독립인 벡터가 있어야 한다.
 - 이 열들은 반드시 R3의 동일한 평면 or Rn의 동일한 초평면에 있지 않아야 한다.
이를 아래와 같은 문장으로 해석가능하다.
일차독립인 열  Ax = 0의 유일해는 영벡터 x = 0이다.

즉, 일차독립모든 열에 0을 곱해야하는 경우열들의 결합이 0벡터가 됨을 의미한다.

if, 해가 유일: 열벡터의 일차결합이 b가 되는 유일한 결합을 소거법으로 Ax = b의 해를 구할 수 있다.




이때, 소거법은 열 하나하나에 순서대로 적용상삼각행렬 U를 찾을 때까지 계속 진행한다.

1행은 변하지 않는다.
이후 1행에 수를 곱해 A의 2, 3, 4행에서 곱한 결과를 뺀다.

다만, 곱셈과 덧셈을 분리하는 이런류의 계산은 높은 계산량을 요구한다.
따라서 이를 위한 해결책이 바로 A = LU이다.

 

 

 

1.4 .2  A = LU 분해

소거법은 행렬 A를 A = LU라는 L(하삼각행렬)과 U(상삼각행렬)의 곱으로 분해하는 것이다.

 

 

 

1.4 .3  Ax = b의 해법

Ax = b의 해를 구하려면 이 방정식 양변에 동일한 변환을 가해야 한다.

직접적인 방법: b를 열에 추가한 행렬 [A  b]를 다루는 것
A에 수행하는 소거법(AL⁻¹ = U)의 단계를 b에도 똑같이 적용한다.
 - [A  b] = [LU  b]에서 시작해 소거법을 적용하면
 - [U  L¹b] = [U  c] 즉, Ux = c를 얻는다.

 Ax = b는 Lc = b와 Ux = c로 나누어 진다.
소거법으로 c를 얻은 후 대입법으로 x를 구한다.
즉, x = U¹c = U¹L¹b = A¹b

 

 

 

 

1.4 .4 행 교환(치환)

모든 n×n 가역행렬(invertible matrix) A는 PA = LU를 만족한다.
이때, P는 치환행렬이다.


Ex.

 

 

cf. Cholesky's Decomposition  (for. symmetric matrix)

  1. A가 대칭행렬 이다.
  2. 행렬식의 값이 Positive 이다

    위의 조건에 대해 LU분해의 결과, 아래와 같다.

 

 

1.3 The Four Fundamental Subspaces

모든 m×n 행렬 A에서 4개의 부분공간은 다음과 같다.
 - 2개의 Rm 부분공간
 - 2개의 Rn 부분공간

Ex) 


[Counting Law]
r개의 독립인 일차방정식으로 이뤄진 Ax = 0에는
일차독립인 해가 n - r개 존재한다.
(일차독립은 Ax = 0의 해가 단 하나만 존재함을 의미)

 

😶Graph

위 그래프는 5개의 edge와 4개의 vertex를 갖는다.

영공간 N(A) : 영공간을 찾기위해 5개의 방정식에서 b=0으로 두고 계산했을 때, 4개의 미지수 x1, x2, x3, x4는 모두 같은 값 c를 갖는다. 따라서 모든 벡터 x = (c,c,c,c)는 Ax = 0의 해가 된다.
이 영공간은 R4에서 직선으로 
 - 특수해 x = (1,1,1,1)은 영공간 N(A)의 기저(basis)이고 rank = 1(∵직선)이다.



열공간 C(A) : r  = 4 - 1 = 3개의 일차독립인 열이 존재한다.

아래 3개의 열은 A의 열공간의 기저(basis of column space)이다.

A의 1, 2, 3열은 일차독립(linearly independent)이며 
4열은 다른 3열의 일차결합(linear combination)이다.




행공간 C(AT) : column과 마찬가지로 rank = 3이지만, 처음 3개의 행은 일차독립이 아니다.(∵3행 = 2행 - 1행)
처음으로 3개의 일차독립이 되는 행은 1, 2, 4행이다.
 - 1, 2, 4행들은 행공간의 기저이다.



좌영공간 N(AT) : ATy = 0의 해를 구해보자.
행의 일차결합은 0이며 이미 3행이 2행에서 1행을 뺀 것을 알고 있기에 하나의 해는 y = (1, -1, 1, 0, 0)이다.
또 하나의 y는 y = (0, 0, -1, 1, -1)로 이 해는 ATy = 0의 일차독립인 해이다.
따라서 좌영공간 N(AT)의 차원은 m - r = 5 - 3 = 2이다.
따라서 이 2개의 y는 좌영공간의 기저(basis of left nullspace)이다.



▶ A의 행공간 C(A)의 차원: r = 3
▶ A의 열공간 C(AT)의 차원: r = 3
▶ A의 영공간 N(A)의 차원: n - r = 1
▶ AT의 영공간 N(AT)의 차원: m - r = 2


 

 

 

1.3.1  AB와 A + B의 rank

행렬을 곱할 때, rank가 증가할 수 있는데 이는 column space와 row space에서 확인할 수 있다.
또한, rank가 감소하지 않는 특별한 상황도 존재하며 이를 통해 AB의 rank를 알 수 있다.


rank의 주요명제
4. mxr행렬 A, rxn행렬 B의 rank가 모두 r이라면, AB의 rank도 r이라는 의미.


명제 1. : AB의 열공간과 행공간에 관한 내용
C(AB)는 C(A)에 포함
된다.
C((AB)T)는 C(BT)에 포함된다.
 - 1.1절에서 언급했듯, rank(행) = rank(열)이다.
 - 즉, 행 또는 열을 이용한다면 행렬곱셈인 AB는 rank를 증가시킬 수 없다!



명제 2. : A + B의 각 열은 A의 열과 B의 열의 합이다.
rank(A + B) ≤ rank(A) + rank(B)
는 항상 참이다.
  - 이는 C(A)와 C(B)의 기저의 결합을 의미한다.

rank(A + B) = rank(A) + rank(B) 는 항상 참이 아니다.
  - 이 명제는 A = B = I 일 때, 거짓이다.



명제 3. : A와 ATA에 모두 n개의 열이 있다.
두 행렬은 모두 영공간이 같다. 따라서 두 행렬에서 n - r의 값은 같고 rank는 모두 r이 된다.
 - 또한 rank(AT) ≤ rank(ATA) = rank(A)이다.

 

Ex). ATA와 A의 영공간이 같음을 보여라.

 

 

 

1.2 행렬 곱셈 AB

내적(행과 열의 곱셈)은 AB = C의 각 성분 계산을 위해 필요

ex) A의 2행 , B의 3열간의 곱셈의 합은 C의 c₂₃의 값이다.
※ 선형대수학 제 1정리
· row rank = column rank
· r개의 일차독립 열(column)  ↔  r개의 일차독립 행(row)

 

 

1.2.1  AB = (rank 1인 행렬의 합)

AB = A열과 B행의 곱셈이라 하자.

cf) AB = (m×n)(n×p) , 총 mnp의 곱셈 연산수
cf-1) 행×열: mp번의 내적, 매번 n번의 곱셈
cf-2) 열×행: n번의 외적, 매번 mp번의 곱셈

 

 

1.2.2  열과 행의 곱셈에 대한 이해

Data Science에서 외적을 이용한 행렬곱셈이 필수인 이유는?
 - 간단히 말해, 특정 행렬에서 "어떤 중요부분을 찾으려"하기 위해.

행렬 A, B에 대해 
 - B의 행의 일차결합을 얻고 싶을 때: AB
 - B의 열의 일차결합을 얻고 싶을 때: BA

즉, AB의 열은 A의 열의 일차결합
이고 행은 B의 행의 일차결합이다.
- 따라서 AB의 열공간은 A의 열공간에 포함된다.


응용선형대수학에서 가장 중요한 주제는 A를 CR로 분해하는 것이다.
그리고 A = CR에서 cₖrₖ를 살펴보고자 할 때, 중요.

 

5개의 중요한 행렬 분해
1. A = LU
 - L은 하삼각행렬, U는 상삼각행렬이다.

2. A = QR
 - 그람-슈미트(Gram-Schmidt)를 통해 열 a1, ..., an을 직교화(orthogonalizing)하여 얻는다.
 - R은 상삼각 행렬이며 이때, Q에 정규직교인 열이 있다.(QTQ = I)

3. S = QΛQT
 - 대칭행렬(Symmetric matrix) S = ST의 고윳값 λ1, ... , λn에서 얻는다.
 - 이때, Λ는대각성분의 고윳값(eigen value) 
 - Q의 열은 정규직교인 고유벡터(eigen vector) , QT = Q⁻¹

4. A =
XΛ
X⁻¹
 - 대각화(diagonalization)는 행렬에 일차독립인 고유벡터가 n개일 때, 가능
 - Λ의 대각성분은 고윳값이며, X의 열은 A의 고유벡터이다.

5. A = U∑VT
 - 임의의 A행렬의 특잇값분해(Singular Vector Decomposition; SVD)이다.
 - 의 성분에는 특잇값 σ1, ... ,  σr이 있다.
 - U와 V에는 정규직교인 특이벡터(singular vector)가 존재.

 

Ex. S = QΛQT

Q⁻¹ = QT이므로 SQ = QΛ의 양변에 QT를 곱하면 S = QΛQT = 대칭행렬을 얻는다.

각 고윳값 λ와 고유벡터 q는 rank=1인 행렬인 λ q qT를 만든다.

 

- rank = 1인 행렬 : S = (QΛ)QT = (λ₁ q₁) qT + ... + (λn qn) qnT
- 모두 대칭 :  qiqiT의 전치행렬은 qiqiT이다.

 

 

 

스펙트럼 정리 (spectrum theorem)  S = (QΛ)QT

모든 대칭행렬 S는 n개의 실수인 고윳값과 n개의 정규직교인 고유벡터를 갖는다.

S = ST일 때, S의 고윳값은 실수이다.

 

cf. 증명에서 조심해야할 부분: 고윳값 λi가 반복될 때

  - 다항식이 중근을 갖거나 (λ - λj)M 형태로 인수분해된다.

  - 이 경우, M개의 일차독립인 고유벡터를 찾아야 한다.

  - 이때 행렬 S - λjI의 rank = n - M이다. (단, S = ST일 때 가능)

 

cf-2. 마찬가지로 A = U∑VT또한 대각행렬 에서 특잇값 σ가 M번 반복될 때, 주의

 - 즉, Av = σu를 만족하는 Singular Vector v와 u쌍이 M개 존재해야함을 의미.

1. space

😶 vector space
 - linear space라고도 불리며 이 공간안에 정의된 원소를 벡터(vector)라 부른다.
 - vector space는 집합 V의 원소에 대해 정의되는 덧셈, 실수배연산이 만족될 때 V를 벡터공간(선형공간)이라 하며 V의 원소를 벡터라 부른다.

😶 subspace
 - 벡터공간의 부분집합이 벡터공간구조를 가질 때, 그 부분집합을 부분공간이라 부른다.

😶 Euclidean space
 - vector space Rn에 대해 벡터의 크기 norm을 정의한 공간
 - 이 공간에서는 유클리드 기하가 성립하며 이 정의를 이용해 두 점 사이의 거리나 선분의 길이를 구할 수 있다.

😶 (standard) inner product
 - v·w 또는 <v, w>로 표현한다.
 - v·w = v1w1 + v2w2 + ... + vnwn = vTw = wTv로 표현된다.

 

1.1 행렬 A의 열을 이용한 곱셈  Ax

Ax = x₁a₁ + x₂a₂로 표현가능하다.
 - 즉, Ax는 행렬 A의 열의 일차결합으로 이는 행렬 A의 column space로 이어진다.
 - 이때, x₁과 x₂는 실수이며, 이 벡터공간은 임의의 벡터 x에 대해 모든 Ax를 포함한다.

cf. a₁, a₂, a₃은 서로 독립(independent)이다.
즉, (x₁ , x₂)가 Ax = b의 해라면, b = (b₁ , b₂ , b₃)은 행렬 A의 column space C(A)의 원소이다.

또한, n×n 가역행렬에 대해 Ax = b의 유일 해는 x = A⁻¹b이며,
이때 가역행렬의 열의 일차결합 즉, column space는 Rⁿ과 같다.

 

1.1.1 행렬 A의  독립인 열과 랭크

행렬 A의 기저(basis)를 찾을 수 있고, A를 두 행렬의 곱셈 C × R로 분해할 수 있을 때
최종목표: 행렬 A에서 행렬 C를 바로 찾는 것

A의 n개 열로 찾을 수 있는 행렬 C (이때, 가능한 많은 C의 열이 일차독립이어야 한다.)
이때, subspace의 basis는 일차독립인 벡터로 이루어지며

※ 랭크 정리
 - 일차 독립인 열과 일차독립인 행의 개수는 같다.

즉, rank = 일차독립인 열의 최대 개수 = 일차독립인 행의 최대 개수

A = CR로 표현될 때, 이때 행렬크기는 (m × n) = (m × r) (r × n)이다.
즉, 행렬 A의 계수(rank)는 행공간과 열공간의 차원을 뜻한다.

 

Ex.

 

 

 

Ex.

🧐 목차

1장 Highlights of Linear Algebra
1.1 행렬 A의 열을 이용한 곱셈 Ax
1.2 행렬 곱셈 AB
1.3 네 가지 기본 부분공간 (4 Fundamential Subspaces)
1.4 소거법과 A=LU
1.5 직교행렬과 부분공간
1.6 고윳값과 고유벡터
1.7 대칭인 양의 정부호 행렬 (Symmetric Positive Definite Matrices)
1.8 특잇값 분해(SVD)에서 특잇값과 특이벡터
1.9 주성분과 최적의 낮은 랭크 행렬
1.10 레일리(Rayleigh) 몫과 일반화된 고윳값
1.11 벡터, 함수, 행렬의 Norm
1.12 행렬과 텐서의 분해 : 양과 희소 (Positive & Sparse)


2장 Computations with Large Matrices
2.1 수치선형대수학
2.2 네 가지 최소제곱
2.3 열공간의 세 가지 기저
2.4 임의화 선형대수학


3장 Low Rank and Compressed Sensing
3.1 A의 변화에 따른 A^{-1}의 변화
3.2 고윳값 인터레이싱과 낮은 랭크 신호
3.3 급격히 감소하는 특잇값
3.4 l²+l¹에 대한 분해 알고리즘
3.5 압축 센싱과 행렬완성


4장 Special Matrices
4.1 푸리에 변환 : 이산과 연속성
4.2 이동행렬과 순환행렬
4.3 크로네커 곱 AⓧB
4.4 크로네커 합을 통한 사인과 코사인 변환
4.5 퇴플리츠 행렬과 이동 불변 필터
4.6 그래프와 라플라시안 그리고 키르히호프의 법칙
4.7 스펙트럼 방법과 K-평균을 이용한 군집화
4.8 랭크 1 행렬완성
4.9 직교 프로크루스테스 문제
4.10 거리행렬


5장 Probability and Statistics
5.1 평균, 분산, 확률
5.2 확률분포
5.3 모멘트생성함수, 누적생성함수, 통계 부등식
5.4 공분산행렬과 결합확률
5.5 다변량 정규분포와 가중최소제곱
5.6 마르코프 연쇄


6장 Optimization
6.1 최솟값 문제 : 볼록성과 뉴턴 방법
6.2 라그랑주 승수와 비용 도함수
6.3 선형 계획법, 게임이론, 쌍대성
6.4 최솟값으로 향하는 경사하강
6.5 확률적 경사하강과 ADAM


7장 Learning from Data
7.1 심층 신경망의 구조
7.2 합성곱 신경망
7.3 오차역전파와 연쇄법칙
7.4 초매개변수 : 숙명적 결정
7.5 머신러닝 세계

 

 

 

 

 

 

🧐 Purpose

😶 이 책의 목표
1. Data Science의 주요 방법론과 아이디어를 정리
2. 1.을 어떻게 선형대수학으로 표현할 지 학습
3. 1.을 어떻게 설명할 지 학습

 

🧐 Basic for Machine Learning

😶 ML & DL
머신러닝에서 선형대수학, 확률통계, 최적화는 마치 대들보와 같다.
본 책은 train data를 올바르게 분류, 처음보는 data까지 분류하는 "learning function"구성이 목표
보통 이런 learning function 구성을 하는 방식 중 요즘 가장 많이 사용되는 것이 바로 "Deep Learning"이다.


😶 Linear & Nonlinear Activation
- Linear의 가장 큰 예시 중 Affine function의 경우, 빠르게 학습이 가능하지만 그 자체로는 너무 단순하다는 단점이 있다.
즉, 선형성이란 매우 제한이 큰 조건이다.

- Nonlinear는 입력벡터 v의 성분을 제곱(norm2)하는 형태로 나타난다.


😶 Neural Network & F(v)의 구조
딥러닝 구성 함수 F(v) = L(R(L(R(...(Lv)))))의  형태이다.
 - 이때, F는 함수 R과 Affine함수인 Lv = Av + b 간의 합성함수이다.
 - AbF의 가중치로 행렬로 표현되며, train data로 학습된다.
이때, train data의 특성을 뽑기위해 가중치를 계산, 이때 가중치는 행렬성분이며 미분적분학의 "편미분"을 이용해 현재 가중치를 향상시키는 방향을 제시한다.

 - 층이 많아질수록 F(v)의 정확도가 올라간다.


cf. stochastic(=random)이라는 표현은 성공이 확실성이 아닌 확률에 좌우됨을 의미한다.
즉, 큰 수의 법칙은 큰 함수의 법칙으로 확장되며 만약 모델구조가 잘 설계되고 parameter가 잘 계산된다면 성공할 확률이 높음을 대변할 수 있다.

 

선형대수 응용 시, 가장 기본적이고 중요한 개념이 되는 5가지 문제

1. Ax = b (만족하는 x값 구하기)
2. Ax = λx (만족하는 x와 λ값 구하기)
 - x와 λ값을
 안다면, 단순 선형문제로 변하기에 어떤 선형문제라도 풀 수 있게 된다.

3. Av = σu (만족하는 v, u, σ값 구하기)
 - SVD는 가장 간단한 표현의 σuvT를 찾으며, Data Science는 SVD에서 선형대수학과 연결된다.
 - 이때, σuvT를 찾는 것은 PCA의 목적이 된다.

4. argmin( ||Ax||² / ||x||² )
5. Factor A (A를 열과 행의 곱으로 분해하기)
 - 최소제곱(least squares)에서 최적의 x̂을 구하고,
 - PCA에서 주성분인 v₁을 계산하는것은 fitting의 대수적 문제이다.

cf. column space, null space, Eigen vector, SVD, Least Squares, Fourier transform, LASSO(in 통계학)

+ Recent posts