본문 바로가기

컴퓨터 과학/머신러닝

데이터 표현 : 특징추출

//방송통신대학교 컴퓨터과학과 2023년도 2학기 이관용 교수님의  머신러닝 수업을 기반으로 작성한 글입니다.

 

✔️ 특징추출

분석에 불필요한 정보를 제거하고 핵심이 되는 정보만 추출 또는 데이터의 차원을 축소하여 학습 시스템의 효율을 향상

(1) 선형변환 : n차원 열벡터 x에 변환행렬 W (nxm)을 곱해 m차원 특징을 획득

- 특징값은 데이터 x를 W방향으로 사영하여 얻어지는 크기 값

- 대표 방법 : 주성분분석법 (PCA), 선형판별분석법 (LDA)

(2) 비선형변환 : 복잡한 비선형함수를 이용하여 n차원 벡터를 m차원 벡터로 매핑

 

 

✔️ 주성분분석법 Principal Component Analysis 

데이터의 분산이 가장 큰 방향으로 선형변환을 수행하여 변환 전 데이터 X가 가진 정보를 최대한 유지

(1) 입력 데이터 X의 평균 ux와 공분산 ∑을 계산

(2) 고유치 분석을 통해 공분산의 고유치 행렬 A과 고유벡터행렬 U를 계산 

(3) 고유치가 큰 것부터 순서대로 m개의 고유치를 선택 

(4) 선택한 고유치에 대응되는 고유벡터를 열벡터로 가지는 변환행렬 W를 생성

(5) W에 의한 선형변환으로 특징 데이터 Y를 얻는다.

- 정보손실량 J을 사용자에 의해 정의된 역치값과 비교하여 적정한 m값을 선정 가능

 

- 데이터 분석에 대한 특별한 목적이 없는 경우 가장 합리적인 차원 축소의 방법

- 각 데이터의 클래스 레이블을 활용하지 않는 비지도 학습

- 데이터 자체가 비선형 구조를 가지고 분포된 경우에는 이를 반영하는 저차원 특징을 찾는 것은 불가능

 

✔️ 선형판별분석법 Linear Discriminant Analysis

변환행렬 W를 최적화하는 목적함수를 정의하면서 클래스 정보를 적극 활용하여 분류에 적합한 선형변환을 찾는 방법

(1) 입력 데이터 X를 각 클래스 레이블에 따라 M개의 클래스로 나누어 각각 평균 mk와 클래스 간 산점행렬 SB, 클래스 내 산점행렬 SW를 계산

클래스 내 산점행렬 SW
클래스 간 산점행렬 SB

(2) 고유치 분석을 통해 행렬 SW^-1SB의 고유치 행렬 A와 고유벡터행렬 U를 계산

(3) 이하 PCA와 동일

 

✔️ 다차원 척도법 Multi Dimensional Scaling

두 데이터 간의 거리(또는 유사도)를 최대한 유지하는 방법으로 차원을 축소하는 거리 기반 차원 축소 방법의 일환

- 주요 응용 분야 : 데이터 시각화

- 주요 알고리즘 : SNE, Isomap, ..., etc,

- 원래 데이터 xn의 거리행렬 dij은 다양한 형태로 정의되는 거리값을 활용

- 추출된 저차원의 특징 벡터 yn의 거리행렬 △ij는 유클리디안 거리를 사용

- 거리행렬 dij가 주어졌을 때 특징벡터의 거리행렬 △ij가 최대한 가까워지도록 하는 것이 목적

- dij - △ij를 최소화하는 특징 yn을 찾기

 

 

 

 

'컴퓨터 과학 > 머신러닝' 카테고리의 다른 글

결정 트리와 램덤 포레스트  (0) 2023.12.09
앙상블 학습  (1) 2023.12.09
비지도학습 : 군집화  (1) 2023.12.06
지도학습 : 회귀  (2) 2023.12.06
지도학습 : 분류  (1) 2023.12.06