차원 축소(Dimensionality Reduction), PCA

2023. 1. 31. 20:14·머신러닝
반응형

데이터 X의 차원(특성)이 너무 크면 모델을 만들고 예측하는데 너무 많은 연산량이 요구될 수 있고 정확도가 떨어질 수 있다. 

 

이럴때 차원축소를 통해 중요한 특성 몇가지만 가지는, 좀 더 가벼운 데이터를 얻을 수 있다.

 

10,000차원 벡터로 표현되는 데이터 X가 linear mapping을 통해 10차원 벡터로 표현되는 데이터 Y가 되었다.

 

여기에서 linear mapping을 할 때 행렬 W를 곱해주는데 이 W를 찾는 것이 Linear Dimensionality Reduction에서 중요하다.

 

 

 

 

차원 축소는 아래의 상황을 통해 이해할 수 있다.

5차원 벡터로 표현되는 x는 각각의 basis 벡터와 x를 만드는데 어떤 basis 벡터가 더 크게 작용하는지에 대한 크기 S1,..,Sn을 통해 나타낼 수 있다.

 

이때 x를 3차원으로 축소하기 위해서 4번째와 5번째 basis를 버릴 수 있다.

 

이 과정에서 x를 표현하는데 더 중요한 basis들 (basis 1,2,3)이 살아남는데 어떤 basis가 살아남는지, 버려지는지 찾는 것이 중요하다.

 

 

 

 

 

2차원의 데이터 X가 있을 때 1차원으로 차원 축소를 하고싶다.

데이터를 1번 선에 투영하는 것과 2번 선에 투영하는 것 중에 어떤 것이 더 적절할까?

 

 

 

정답은 1번이다. 1번에 투영하는 것이 2번에 투영하는 것보다 더 적은 정보의 loss가 발생한다.

 

1번 선을  principal direction이라고 하고 데이터의 공분산의 가장 큰 고유 벡터라고 한다.

 

이 principal direction을 찾아서 차원축소를 하는 것이 PCA(Principal Component Analysis)이다.

 

 

 

 

 

 

principal direction을 찾기 위해서 가지고있는 데이터 x의 차원을 확장시켰다가 축소시킨다.

 

x의 차원이 D였다가 d로 줄고 다시 D로 확장된다. 

 

이 과정을 거치면 wwTx를 얻게 되는데 처음의 값 x와 wwTx와의 차이를 최소화해야하는 것으로 정의하고 

 

이것을 최소화하는 방향으로 principal direction을 찾을 수 있다.

 

 

반응형
저작자표시 (새창열림)

'머신러닝' 카테고리의 다른 글

군집(Clustering), K-평균 알고리즘(K-mean)  (0) 2023.01.30
Suport Vector Machine(SVM, 서포트 벡터 머신), 최대 마진 분류  (3) 2023.01.29
Kernel Ridge Regression(KRR)  (0) 2023.01.28
Kernel method, feature space(특성 공간)  (0) 2023.01.27
앙상블 학습, Random Forest 개념  (0) 2023.01.26
'머신러닝' 카테고리의 다른 글
  • 군집(Clustering), K-평균 알고리즘(K-mean)
  • Suport Vector Machine(SVM, 서포트 벡터 머신), 최대 마진 분류
  • Kernel Ridge Regression(KRR)
  • Kernel method, feature space(특성 공간)
김천종
김천종
  • 김천종
    김천종
    김천종
  • 전체
    오늘
    어제
    • 분류 전체보기 (88)
      • 파이썬 (6)
      • Pandas (24)
      • 자료구조 (14)
      • 알고리즘 (4)
      • 아무거나 (16)
      • 머신러닝 (20)
      • ML 실습 (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.2
김천종
차원 축소(Dimensionality Reduction), PCA
상단으로

티스토리툴바