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