Week 08: Dimensionality Reduction
Dimensionality Reduction을 수행 할경우 아래와 같은 장점이 존재 한다.
데이터 압축의 효과 발생 -> 낮은 메모리 사용 디스크 공간 활용 증대 -> 속도 향상
따라서 중요하 전처리 과정중 하나이다.
Dimensonlaity Reduction의 실체
두 개의 차원의 데이터가 cm와 inches로 나뉘어서 있다고 하자.
높은 중복성을 가지는 데이터이다.
이것을 파란색 선으로 그어보면 새로운 일차원 데이터 구조로 만들 수 있음을 알수 있다.
2D를 1D로 바꾼 것이 된다.
또 다른 예제는 아래와 같다.
헬기 조종사의 적성을 평가할때 skill과 enjoying 두개의 요소가 있다고 하자. 두개의 관계도 대칭적이므로 일차원으로 표현 할 수 있다.
결국 아래와 같은 데이터 압축의 효과가 나타난다.
3D to 2D의 경우도 아래와 같다.
데이터 표현의 경우 아래와 같다. 50개의 차원을 2개의 차원으로 줄인 것이다.
D50 -> D2를 함으로써 데이터를 그래프로 표현 할 수 있게 되었다.
Principal Component Analysis (PCA)
블루 라인이 projection error 이다.
이것은 sum of squares of these little blue line segments is minimized로 구해진다.
즉 최소제곱법 합으로 구해진다.
PCA는 이러한 최소화된 project 방법을 찾는 알고리즘이다.
mean normalization at feature scaling
마젠타 라인에서의 블루라인은 길기때문에 PCA를 이용해서 최적의 선을 찾아내는 것이 중요하다.
formulation으로 표현해보자.
2차원에서 1차원으로 줄일때의 필요한 방향 벡터 $u^{(1)}$를 찾는것이 중요하다.
아래와 같이 해당 벡터는 -일수도 있고 +일 수도 있다. 단위 벡터를 찾기만 하면 되지 방향은 중요하지 않다.
n차원을 k 차원으로 줄일려면 k개의 벡터를 찾는것이 된다. $u^{(1)}, u^{(2)},...,u^{(k)}$와 같이이다.
3차원 2차원 예제로 본다면 아래와 같이 k-vector들에 걸쳐 있는 linear subspace를 찾을 수 있게 된다.
PCA는 뭔가 Linear regression을 의미하는것 같지만 그것과 동일 하지는 않다.
겉으로는 비슷해 보일 지언정 정말로 다른 알고리즘이다.
선형회귀분석의 경우 블루라인의 제곱합을 최대한 작게 하는것이다.
즉 sum of squared errors (SSE)가 가장 작아야 한다.
블루라인은 Vertical 라인이다.
하지만 PCA의 경우 vertical이 아니다.
아래의 그래프와 같이 포인트 X와 read line에 대해서 orthogonal (직교)한 최단거리를 의미하게 된다.
linear regression에서는 y를 predict 하기 위해서 x를 사용하는 것이 된다.
PCA에서는 distinguished y, special variable y 따위는 존재하지 않는다.
즉 $x_1, x_2, ... , x_n$까지 모두 같은 동일한 것으로 다루게 된다.
아래의 예제처럼 $x_1, x_2, x_3$의 세개의 features가 존재하는 분포가 있다고 하자.
3차원 분포를 2차원으로 줄이기 위해서는 $u^{(1)}, u^{(2)}$ 두개의 방향 벡터를 찾아야 한다.
이때 $x_1, x_2, x_3$ 세개의 feature들은 모두 같은 수준이지 특별히 y가 없다.
아래의 문제를 풀면
$u^{(1)}$는 $[\frac{-1/\sqrt{2}}{1/\sqrt{2}}]$의 값을 가진다.
'MOOC > Machine Learning (python)' 카테고리의 다른 글
Week 01 Linear Algebra Review (0) | 2015.12.17 |
---|---|
Week 01: Parameter Learning (0) | 2015.12.06 |
Week 01: Model And Cost Function (0) | 2015.12.05 |
Week 03: Logistic Regression Regularization (0) | 2015.08.03 |
Week 01: Bonus-Course Wiki Lecture Notes (0) | 2015.07.06 |