ㆍ 본 글에서 작성하는 내용은 LG Aimers의 내용임을 밝힙니다.
ㆍ 동시에 이곳에 첨부한 모든 이미지와 링크는 동영상 내의 화면이 아닌 개인이 직접 탐색한 자료임을 밝힙니다.
ㆍ 구분) 검은색으로 작성한 글씨는 LG Aimers의 강의 내용
ㆍ 구분) 초록색으로 작성한 글씨는 본인의 생각과 의견을 작성한 내용
ㆍ 구분) 파란색으로 작성한 글씨는 참조 혹은 외부 연결 링크
0. 용어 정리
영어 용어 | 한국 용어 | 설명 |
1. Problem Setting
(x1, x2)라는 좌표로 데이터가 주어질 때, x2는 거의 대부분 0에 가까워 의미가 없는 데이터임을 알 수 있다.
데이터의 dimension이 큰 경우를 High-dimensional data라고 부름
Dimension이 커질수록 ML에 넣을 때나 시각화 할 때, 분석을 할 때 상당히 힘들다.
특히 위 예시에서 x2는 redundant하고 중요하지 않은 데이터가 된다. 이걸 어떻게 줄일 수 있을까?
이런 dimension을 줄이는 대표적인 방법이 PCA
집 살 때 고려하는 변수라고 가정
다섯 가지를 두 가지로 줄여주는 방법론이 있다고 가정하면, 결정하기 더 쉬울 것
이걸 PCA가 해줌
PCA 알고리즘 과정
S1 각 데이터 값에서 평균을 빼줌, 원점을 중심으로 정렬하는 과정
S2 각 데이터마다 분산을 구한뒤 나눔, 이렇게 Normalization하면 각 차원마다 분산이 1이 된다.
S1, S2 > 평균이 0이고, 분산이 1인 선형 변환의 과정
S3 Data covariance matrix의 eigenvalue와 eigenvector를 구한다.
이때 가장 큰 M개의 eigenvalue를 구하고 해당 eigenvalue의 eigenvector를 구한다.
이때 M은 축소하고자 하는 target dimension 크기
S4 데이터 포인터들을 S3에서 고른 eigenvector 공간으로 projection(정사영)한다.
S5 S1와 S2의 역연산을 한다.
시각화, Projection 부연 설명
해당 평면(eigenvector의 평면)으로 가장 가까운 point를 찾아서 data를 squeezing한다?
N은 샘플의 개수, D는 차원(D차원의 어떤 vector)
Data matrix는 순수하게 data들을 모아놓은 matrix를 일컫는다.
Data covariance(공분산) matirx는 1/N XX^T를 부름.
이 친구는 항상 positive definite이 됨
또한 eigenvalue도 존재하고, symmetric하기 때문에, 좋은 성질이 많다.
PCA의 목적은 고차원의 데이터를 계산과 분석을 쉽게 하기 위해서 차원을 낮추는 것.
low-dimensional representation을 Zn이라고 한다.
결국 PCA는 projection하고 subtraction하고 divison한 거기 때문에 모든 과정이 linear하다.
어떤 B 행렬을 곱해야 잘 줄일 수 있을까? > PCA가 근본적으로 하는 것
└ 이때 B는 orthonormal하다. B행렬의 vector들이 서로 수직하다.
D보다 작은 U 차원(subspace)을 찾아야 한다.
기존 Xn에서 reconstruction한 data를 ~Xn이라고 명명
PCA는 결국 선형 인코딩, 디코딩을 하는 과정
2. Maximum Variance Perspective
Dimensionality reduction(low space mapping)
과연 어떤 공간이 mapping하기 위해 좋은 공간일까?
X와 Y가 있을 때 X의 분포가 더 넓기 때문에 더 중요하다고 생각하고 X를 고를 수 있다.
하지만 X와 Y가 아니라 어떤 direction에 대해 데이터들을 projection했다고 해보자.
그리고 그때 데이터 특징이 가장 maximum하다고 해보자.
그럼 그 direction이 가장 의미있는 것 아닌가?
데이터의 subspace를 찾아서, projection했을 때, 그것의 variance를 최대화하는 low-dimensional space를 찾는 것
이것이 결국은 PCA다. 이에 대한 수학적 증명은 밑에서.
기본으로 알아야 하는 notation(표기법)
X는 언제나 original data point, D-dimensional vector
B는 data point를 low-dimensional space로 mapping하는 matrix
D는 mapping된 matrix
Z는 새로운 coordinate, M-dimensional vector
B-space로 data를 projection할 때 z에 대한 분산이 가장 커질 것인가
결과는 가장 큰 eigenvalue에 해당하는 eigenvector가 될 것이다
S = data covariance matrix
Variance(분산)을 최대화하는 B를 구하는데, B의 크기에 따라 바뀐다. 따라서 |b|^2 = 1이라는 조건을 둠
variance optimization을 푸는 문제
object function : max ~~
constraint : |b| 부분
KKT를 사용하면 Sb1 = λb를 얻을 수 있음
b^Tb = 1은 constraint에서 옴
solution이 k번째 큰 eigenvalue에 해당하는 eigenvector다??...를 보이려고 한다.
b1 ~ bk는 data covariance matirx의 orthonormal한 eigenvector라고 가정
이에 해당하는 eigenvalue들을 λ라고 표현
constraint optimization의 lagrangian function을 사용하면 최하단의 식이 나온다
위에서 얻은lagrangian function에서 KKT condition을 적용한다.
KKT에서는 gradient가 0이 되어야 solution이 나오는 조건이 있기 때문에, (*)의 조건을 만족해야 함을 알 수 있다.
(*) 식에서 양변에 bj를 곱한다.
수직하다고 가정했기 때문에, -2bjbk 부분은 0으로 수렴하고, Σ 부분은 i=j부분만 살아남는다.
bj는 eigenvector임을 알기 때문에, λbj가 된다?
해서 뭐 유도하는데 대부분 건너뛰어서 식 전개 및 유도는 해봐야 할 듯
3. Eigenvector Computation and Low-Rank Approximations
PCA를 하려면 결국 data covariance의 decomposition을 구해야 한다?
그래서 실제로 계산을 하기 위해서는 data covariance S를 구한 다음에,
eigen-docomposition이나 eigenvalue, eigenvector를 구해도 된다.
아니면 X에 대해서 SVD에 대해서 식을 전개하면 된다.
ΣΣ^T가 eigenvalue에 해당하는 부분, UU^T가 eigenvector에 해당하는 부분
PCA에 대한 아주 좋은 성질이 있답니다 또 하하
origin data X가 있을 때, L2 norm? 관점에서, 가장 근접한 matrix A를 찾길 원한다.
이때 matrix A의 rank?는 M이다.
Eckart-Young theorem이 의미하는 것, 결국 ~Xm이 PCA이고 SVD다.
또 설명 어물 넘어감... 추가 자료 확인 필요...
4. PCA in High Dimensions
가끔 PCA를 하다보면 data의 크기(개수)보다는 dimension이 높은 경우가 있다.
만약 dimension이 상당히 크다면(근데 데이터의 개수가 엄청 적다면), 효율적으로 계산하는 방법이 있다.
(람다는 e-value, bm은 e-vector)
양변에 X^T를 곱한다. X^Tbm을 Cm으로 대체,
Cm은 결국 X^TX의 eigenvector가 되고, 람다m은 eigenvalue가 된다?
XX^T는 D*D 크기의 행렬인데, X^TX는 N*N 크기의 행렬이 된다.
만약 D가 N보다 크다면, 순서를 바꾸어 eigenvalue와 eigenvector를 구하는 게 훨씬 쉽다.
eigenstuff는 뭐지
Cm과 람다m을 계산해놓고, 역연산을 하기 위해서는 X만을 곱하면 된다?
계산량을 훨씬 줄일 수 있다.
(흐름 파악 중)
'사이드 프로젝트 > LG Aimers' 카테고리의 다른 글
Module 2 - Part 2. Convex Optimization (0) | 2024.01.05 |
---|---|
Module 2 - Part 1. Matrix Decomposition (0) | 2024.01.04 |
Module 1 - Part 1. 데이터 분석과 AI 학습에서 유의할 점 (0) | 2024.01.03 |
LG Aimers (0) | 2024.01.03 |