목표
1. 차원의 정의
2. 차원의 저주
3. 차원 축소
4. PCA
5. LDA
6. t-SNE
차원 정의
차원 (Dimension)
공간 내 데이터의 위치를 나타내기 위해 필요한 축의 개수
차원 예시
차원과 변수
- 데이터가 n개의 설명변수를 가진다면 n차원의 좌표 상에서 표현 할 수 있다.
- 키와 몸무게, 머리 길이를 설명 변수로 갖는 데이터
차원의 저주 정의
차원의 저주(Curse of Dimensionality)
변수가 늘어나면서 차원이 커짐에 따라 발생하는 문제
- 필요한 데이터 수의 지수 함수적 증가로 인한 정보의 밀도 감소
- 공간을 설명하기 위한 데이터의 부족
- 과적합 문제 & 성능 감소
필요한 데이터 수의 지수 함수적 증가로 인한 정보의 밀도 감소
각 변수 당 가질 수 있는 값이 4개 일 때
공간을 설명하기 위한 데이터의 부족
차원축소 정의
차원 축소(Dimensionality Reduction)
- 데이터를 잘 설명할 수 있는 변수의 개수(Latent Space)는 현재 변수의 개수(Observation Space)보다 작을 수 있다.
- 데이터를 기반으로 잠재 공간을 파악하는 것
차원 축소(Dimensionality Reduction)의 효과
1) 차원의 저주 해결
2) 연산량 감소
3) 시각화 용이
차원축소 정의
1. 변수 선택 (Feature Selection)
2. 변수 추출 (Feature Extraction)
변수선택 정의
변수 선택 (Feature Selection)
원본 데이터의 변수 중 불필요한 변수를 제거하는 방법
몸무게, 키, 머리 길이 -> 몸무게, 키
변수 추출 정의
변수 추출 (Feature Extraction)
- 원본 데이터의 변수들을 조합해 새로운 변수를 생성하는 방법
- 키, 몸무게, 머리 길이 -> 체구, 머리 길이
- 체구 = 0.3 * 몸무게 + 0.7 * 키
변수 추출 방법
1. Principal Component Analysis (PCA)
2. Linear Discriminant Analysis (LDA)
3. t-distributed Stochastic Neighbor Embedding (t-SNE)
PCA 정의
Principal Component Analysis (PCA)
여러 변수의 정보를 담고있는 주성분(Principal Component)이라는 새로운 변수를 생성하는 차원 축소 기법
단순히 차원을 줄이기 보다는 관측된 차원이 아닌 실제데이터를 설명하는 차원을 찾아서 데이터를 더 잘 이해하고자함
스프링 운동은 변수 하나로 설명 가능하다.이 데이터를 만드는 근본 변수는 하나
- 3 대의 카메라 -> 3차원
- 10대의 카메라 -> 10차원
PCA 수식
PCA 방법
분산(Variance)을 최대로 보존하는 초평면(Hyperplane) 선택
- 원본 데이터 셋과 투영된 초평면의 평균제곱거리를 최소화
- 정보를 가장 적게 손실하기 때문
초평면 예시
주성분 정의
주성분 방법
주성분 축을 찾는 방법
1. 데이터 표준화
2. 공분산 행렬 생성
3. 고유값 분해(Eigen Decomposition)
4. K개 벡터의 새로운 Basis
PCA 장단점
PCA의 장점
- 변수간 상관관계 및 연관성을 이용해 변수를 생성한다.
- 차원 축소로 차원의 저주를 해결할 수 있다.
PCA의 단점
- 데이터에 선형성이 없다면 적용할 수 없다.
- 데이터의 클래스를 고려하지 않기 때문에 최대 분산 방향이 특징 구분을 좋게 한다고 보장할 수 없다.
- 주성분의 해석을 위한 도메인 지식이 필요하다.
LCA 정의
LDA (Linear Discriminant Analysis)
데이터의 분포를 학습하여 분리를 최적화하는 결정 경계를 만들어 데이터를 분류하는 모델
LDA 목표
클래스 간의 분산을 크게, 클래스 내의 분산을 작게 한다.
PCA VS LCA
차원 축소 접근 방법
차원 축소를 위한 접근 방법
PCA와 LDA는 Eigen Decomposition을 기반으로 데이터를 새로운 축에 선형으로 projection 시키는 과정
Manifold 데이터
Manifold 데이터 PCA
t-SNE 정의
t-Stochastic Neighbor Embedding (t-SNE)
- 고차원의 데이터를 저차원의 데이터로 거리 관계를 유지하며 Projection 하는 기법
t-SNE 방법
t-SNE 학습 방법
1. 랜덤 순서로 나열
2. 데이터 하나에 대해서 동일 군집은 당기는 힘 / 다른 군집은 미는 힘 계산
3. 데이터를 힘의 균형에 맞는 위치로 이동
4. 모든 점들에 대해서 2~3 과정 반복
t-SNE 장단점
t-SNE 장점
- 직관적으로 데이터의 구조를 시각화하여 확인할 수 있다.
t-SNE 단점
- 거리를 학습하여 계속 업데이트 하기 때문에 값이 매번 바뀜
- PCA와 LDA와 다르게 결과를 변수로 사용할 수 없다.
- 데이터 수가 많아지면 시간이 오래 걸림
'Machine Learning > 머신러닝 온라인 강의' 카테고리의 다른 글
CH08_02. Non-Hierarchical Clustering (0) | 2022.10.18 |
---|---|
CH08_01. Clustering (0) | 2022.10.18 |
CH07_04. 얼굴 사진 분류(Python) (0) | 2022.10.18 |
CH07_02. SVM 커널 실습 (Python) (0) | 2022.10.18 |
CH07_01. SVM (0) | 2022.10.12 |