차원 축소
머신러닝에서 중요하지 않은 부분인 노이즈를 제거할 때 차원축소를 사용함
비지도 학습적 접근 방법: 주성분 분석(Principal Component Analysis)
지도 학습적 접근 방법: 선형 판별 분석(Linear Discriminant Analysis)
차원의 저주(curse of dimensionality): 데이터의 차원이 커질 수록 해당 차원을 표현하기 위해 필요한 데이터가 기하 급수적으로 많아짐
주성분 분석
PCA는 여러 피처가 통계적으로 서로 상관관계가 없도록 변환시키는 방법
주성분 분석은 피처 간 상관관계를 기반으로 데이터의 특성을 파악
데이터 셋의 공분산 행렬에서
고윳값: 고유벡터의 크기이며 분산의 크기를 의미
고유 벡터는 분산의 방향을 의미
분산이 큰 고유 벡터에 기존 데이터를 투영해 얻은 벡터는 주성분 벡터라고 함
- 데이터 셋 준비
- 데이터 셋을 피처별로 표준화(평균 빼고 분산으로 나누기)
- 피처 데이터의 공분산 행렬 구하기
- 2에서 구한 공분산 행렬의 고윳값, 고유 벡터 구하기
- 고윳값을 큰 순서대로 내림차순 정렬
- d차원으로 줄이고 싶은 경우, 크기 순서대로 d개의 고윳값 선정
- 5에서 선정한 고윳값에 대응하는 고유 벡터로 새로운 행렬 생성
- 0에서 준비한 오리지널 데이터를 6에서 만든 새로운 공간으로 투영
공분산 행렬의 고윳값과 고유 벡터는 특이값분해를 통해 행렬을 분해하면 됨
고윳값은 데이터의 흩어짐 정도의 크기로
lambdai는 고윳값이고, 그 값 p개를 전부 더하면 전체 데이터 셋의 변동성이 됨
여기서 데이터를 2차원으로 줄이겠다고 한다면 lambda1 + lambda2가 분자에 있는 것임
그것이 0.94면 p차원 데이터를 2차원으로 줄였을 때 전체 변동성의 94%가 설명가능하다는 의미
커널 PCA
기존 주성분 분석 -> 데이터 행렬 X의 공분산 행렬을 고윳값 분해한 후에 고유 벡터를 새로운 좌표축으로 할당하는 방법
이 새로운 좌표축에 해당하는 고유 벡터 = 주성분(principal component)
기존 데이터 포인트를 주성분에 직교 정사영하는 방법 사용
반대로
커널 pca는 기존 pca를 일반화 한 방법으로 비선형적으로 수행
기존 데이터 행렬X를 고차원으로 매핑시킴
고차원 매핑함수: 파이
새로운 공간의 데이터 포인트에 대한 공분산 행렬
새로운 공간으로 이동한 데이터 포인트 = phi(xi)
마지막에는 증강된 공간의 데이터를 다시원래 공간으로 매핑시키면 곡선 형태를 띈 주성분 측으로 변환됨
LDA
선형 판별 분석(Linear Discriminant Analysis, LDA): 지도학습적 접근 방법을 통한 차원 축소 알고리즘
데이터 셋의 기존 공간으로부터 집단 간 분산과 집단 내 분산의 비율을 최대화하는 기존 공간보다 더 작은 차원의 공간으로 원래 데이터를 투영시킴으로써 차원 축소
LDA는 3단계 과정 (집단 간 거리 계산, 각 집단의 평균과 각 데이터 포인트 거리를 계산, 기존 데이터 셋의 공간보다 더 작은 차원의 공간 생성)
- 집단 간 분산 구하기
데이터 셋 전체 평균와 i번째 집단에 속하는 데이터의 평균 의 차이 - 집단 내 분산
- 더 작은 차원의 공간
Class-Dependent LDA
하나의 부분 공간은 각 집단으로 계산
고윳값 고유 벡터 또한 각 변환 행렬로 따로 구함
각 집단 데이터 포인트들은 그들에 대응하는 고유 벡터에 투영
-
피처 데이터 행렬 나타내기
-
각 집단의 평균
구하기 -
전체 데이터 평균 mu 구하기
-
집단 간 분산
구하기 -
집단 내 분산
구하기 -
변환 행렬
의 고윳값, 고유 벡터 계산 -
고윳값을 큰 순서대로 정렬하고, 첫 k개의 고유 벡터는 더 작은 차원의 새로운 공간 Vk를 의미
Class-Independent LDA
클래스 구분 없이 모든 클래스에 대해 변환 행렬 계산
- 피처 데이터 행렬 나타내기
- 각 집단의 평균 muc 구하기
- 전체 데이터 평균 mu 구하기
- 집단 간 분산
구하기 - 각 집단에 대해 집단 내 공분산 행렬을 계산
- 각 집단의 변환 행렬 wi를 계산
- 집단 별 변환 행렬 Wi에 대해 고윳값, 고유 벡터 계산
- 고윳값이 큰 순서대로 정렬
- 각 집단에 속하는 데이터 포인트는 기존의 공간보다 더 작은 공간
에 투영
LLE
Locally Linear Embedding: 각 데이터 포인트의 이웃 데이터 중 K개 이웃 데이터를 선정하고 자신과 K개의 이웃 데이터를 마치 하나의 덩어리라고 가정하고 데이터를 재구성
LLE의 목적은 재구성 에러 함수를 최소화 하는 것
LLE 차원 축소는 데이터 주변의 이웃 관계를 유지하면서 새로운 공간에 투영하는 것이 중요
비음수 행렬 분해
Non-negative Matrix Factorization, NMF는 데이터 행렬 내 모든 원소값이 0보다 큰 경우에 사용할 수 있는 행렬 분해 방법
X=UV
데이터 행렬 X가 주어질 때 U, V를 찾는 알고리즘
X (nxp)면 U는 (nxd) V는 dxp
비용 함수
비음수 행렬 분해에서는 euclidean distance를 비용함수로 사용
'AI > Books' 카테고리의 다른 글
선형대수와 통계학으로 배우는 머신러닝 - Chap12-1 딥러닝 (퍼셉트론 - GRU) (0) | 2023.12.25 |
---|---|
선형대수와 통계학으로 배우는 머신러닝 - Chap11 비지도 학습 (0) | 2023.12.25 |
선형대수와 통계학으로 배우는 머신러닝 - Chap9 앙상블 학습 (0) | 2023.12.25 |
선형대수와 통계학으로 배우는 머신러닝 - Chap8 지도 학습 (1) | 2023.12.25 |
선형대수와 통계학으로 배우는 머신러닝 - Chap7 손실함수 (0) | 2023.12.25 |