feature extraction(principal componant analysis: pca)

37
CHAPTER 8. 특징추출 2016.04.26 서울시립대학교 데이터마이닝 연구실 김소현

Upload: sohyeon-kim

Post on 14-Apr-2017

252 views

Category:

Data & Analytics


0 download

TRANSCRIPT

Page 1: Feature Extraction(Principal Componant Analysis: PCA)

CHAPTER 8. 특징추출2016.04.26

서울시립대학교 데이터마이닝 연구실

김소현

Page 2: Feature Extraction(Principal Componant Analysis: PCA)

전처리 preprocessing

특징추출 Feature extraction

학습(데이터 분석) Learning classifier/

Data Analysis

결정경계 Decision boundary

분류/인식 Classification/

Recognition

학습 데이터

테스트 데이터

패턴인식의 처리과정

Page 3: Feature Extraction(Principal Componant Analysis: PCA)

특징추출 (FEATURE EXTRACTION)

➤ 데이터를 다루기 쉬운 형태로 변환하는 과정

➤ 인식에 핵심이 되는 정보 추출

➤ 비용(계산, 메모리)의 증가 및 잡음으로 인한 문제 감소

Page 4: Feature Extraction(Principal Componant Analysis: PCA)

선형변환에 의한 특징추출

➤ 선형변환은 일반적인 데이터에 적용 가능

➤ 차원의 축소

➤ n차원 입력 데이터를 m차원 특징 벡터로 매핑 (m << n)

Page 5: Feature Extraction(Principal Componant Analysis: PCA)

선형변환에 의한 특징추출 / 차원의 저주

➤ 차원의 저주(curse of dimension)

➤ 차원이 늘어남에 따라 비용이 늘어나고 추정의 정확도가 저하

➤ 모수적 확률밀도 추정법 : 가우시안 분포

➤ 공분산

Page 6: Feature Extraction(Principal Componant Analysis: PCA)

선형변환에 의한 특징추출 / 차원의 저주

➤ 비모수적 확률밀도 추정법 : 히스토그램법

➤ i번째 구간의 확률 값

Page 7: Feature Extraction(Principal Componant Analysis: PCA)

선형변환에 의한 특징추출 / 부분공간분석

➤ 부분공간분석(subspace analysis)

➤ 선형변환에 의해 저차원 특징공간으로 매핑

➤ 변환함수: 행렬 W(nxm)

➤ n차원 입력 벡터 x -> m차원 특징 벡터 y

Page 8: Feature Extraction(Principal Componant Analysis: PCA)

선형변환에 의한 특징추출 / 부분공간분석

➤ W의 각 열은 입력 벡터 x를 사영시킬 벡터

2차원 데이터를 1차원으로 변환

Page 9: Feature Extraction(Principal Componant Analysis: PCA)

선형변환에 의한 특징추출 / 부분공간분석

➤ 전체 데이터 집합

➤ sdf

➤ Y : 특징추출에 의해 얻어진 m X N 특징행렬

➤ W의 방향으로 사영함으로써 저차원의 특징값을 얻음2차원 데이터 집합의 선형변환에 의한 특징 추출

Page 10: Feature Extraction(Principal Componant Analysis: PCA)

선형변환에 의한 특징추출 / 부분공간분석

➤ ㅊㅍㅊㅍ

➤ W의 각 열은 사영할 저차원 부분공간의 기저(basis)

➤ 3차원 데이터를 2차원 부분공간으로 사영

Page 11: Feature Extraction(Principal Componant Analysis: PCA)

선형변환에 의한 특징추출 / 부분공간분석

Page 12: Feature Extraction(Principal Componant Analysis: PCA)

선형변환에 의한 특징추출

➤ 변환행렬W에 따라 얻어지는 특징의 분포 형태가 달라진다.

➤ W를 조정하여 목적에 맞는 특징을 추출한다.

➤ 대표적인 특징추출 방법 : 주성분분석법, 선형판별분석법

Page 13: Feature Extraction(Principal Componant Analysis: PCA)

주성분분석법

➤ 데이터의 공분산의 성질을 바탕으로 선형변환을 수행

➤ 공분산 분석

➤ 대각화변환, 화이트닝변환

➤ 주성분분석 알고리즘

➤ 주성분분석법의 수학적 유도

Page 14: Feature Extraction(Principal Componant Analysis: PCA)

주성분분석법 / 공분산 분석

➤ 원래 데이터의 공분산과 선형변환으로 얻은 특징데이터의 공분산 비교

➤ 센터링(centering) :

➤ (1은 모든 원소값이 1인 n차원 열벡터)

➤ 특징데이터 집합 Y에 대한 평균 , 공분산

분산 : 전치 행렬의 성질 :

Page 15: Feature Extraction(Principal Componant Analysis: PCA)

주성분분석법 / 공분산 분석

➤ 입력데이터의 공분산을 W에 의해 변환하여 특징데이터의 공분산을 얻을 수 있다.

➤ 특징데이터 집합이 인식기가 다루기 쉬운 형태의 공분산을 가지도록 선형변환 W를 정의할 수 있다.

➤ <4장. 가우시안 확률분포와 베이지안 분류기>

➤ 여러 가지 공분산의 형태에 따라 베이즈 분류기의 결정경계와 결정규칙이 달라짐.

Page 16: Feature Extraction(Principal Componant Analysis: PCA)

주성분분석법 / 공분산 분석

➤ <4장. 가우시안 확률분포와 베이지안 분류기>

➤ 1. 클래스 공통 단위공분산행렬

➤ 2. 클래스 공통 공분산행렬

➤ 3. 일반적인 공분산행렬

➤ 입력 데이터를 변환하여 대각행렬이나 단위행렬을 공분산으로 가지는 특징벡터를 얻어 이를 입력데이터로 사용한다.

Page 17: Feature Extraction(Principal Componant Analysis: PCA)

주성분분석법 / 대각화변환

➤ 대각화(diagonalization)변환

➤ 대각행렬 형태의 공분산 를 얻을 수 있는 선형변환

➤ : 의 고유벡터를 열벡터로 가지는 행렬

➤ : 고유값를 대각원소로 가지는 행렬

➤ 고유벡터(eigenvector) : 선형변환 A에 의한 변환 결과가 자기 자신의 상수배가 되는 0이 아닌 벡터 v

➤ 고유값(eigenvalue) : 상수배의 값

➤ 고유값분해를 이용한 대각화(eigendecomposition)

Page 18: Feature Extraction(Principal Componant Analysis: PCA)

주성분분석법 / 대각화변환

➤ 고유치 벡터들이 서로 직교하면서 크기가 1 이라고 가정

➤ —>

➤ 특징 벡터의 공분산은 고유치를 대각원소로 가지는 대각행렬

➤ 는 대각행렬을 공분산으로 가지는 분포를 이룬다.

Page 19: Feature Extraction(Principal Componant Analysis: PCA)

주성분분석법 / 대각화변환

Page 20: Feature Extraction(Principal Componant Analysis: PCA)

주성분분석법 / 대각화변환

➤ 첫번째 고유벡터는 분산이 가장 커지는 방향

➤ 두번째 고유벡터는 이에 수직인 벡터

➤ 데이터의 분산은 고유치의 값

➤ 대각화변환

➤ X의 고유벡터를 기저벡터로 사용

Page 21: Feature Extraction(Principal Componant Analysis: PCA)

주성분분석법 / 화이트닝변환

➤ 화이트닝(whitening)변환

➤ 단위행렬 공분산 를 얻을 수 있는 선형변환

➤ 대각화변환: ,

Page 22: Feature Extraction(Principal Componant Analysis: PCA)

주성분분석법 / 화이트닝변환

➤ 는 특징데이터 집합이 단위행렬 를 공분산으로 가지도록하는 선형변환

➤ 유클리디안 거리에 의한 최단거리 이용

➤ 각 요소들끼리 상관관계가 없다.

➤ 기존의 복잡한 분포 특성이 제거된다.

➤ 수행하는 데이터 분석이 용이해진다.

Page 23: Feature Extraction(Principal Componant Analysis: PCA)

주성분분석법 / 화이트닝변환

➤ 각 요소들 간의 분산의 차가 사라짐

➤ 수평축과 수직충 모두가 분산 1을 가지는 형태로 데이터가 변환

➤ 고유벡터에 고유치의 제곱근값을 곱하여 얻어지는 벡터들을 기저벡터로 사용

대각화변환 화이트닝변환

Page 24: Feature Extraction(Principal Componant Analysis: PCA)

주성분분석법

➤ 공분산에 기반한 성형변환은 같은 차원의 공간에서 기저벡터만 변형

➤ 기저벡터의 선택을 통하여 축소된 차원을 얻는다.

Page 25: Feature Extraction(Principal Componant Analysis: PCA)

주성분분석법 / 알고리즘

➤ 주성분분석(principal component analysis, PCA)

➤ n차원 입력 벡터 x -> m차원 특징 벡터 y

➤ 변환 전의 데이터 X가 가지고 있는 정보를 차원축소 후에도 최대한 유지하는 것

➤ 데이터의 분산이 가장 큰 방향으로의 선형변환을 수행

Page 26: Feature Extraction(Principal Componant Analysis: PCA)

주성분분석법 / 알고리즘

➤ PCA 알고리즘 수행 단계

➤ 1. 입력데이터 집합 X의 평균과 공분산을 계산한다.

➤ 2. 고유치 분석을 통해 공분산 의 고유치행렬 과 고유벡터행렬 를 계산한다.

Page 27: Feature Extraction(Principal Componant Analysis: PCA)

주성분분석법 / 알고리즘

➤ 3. 고유치값이 큰 것부터 순서대로 m개의 고유치 ㅇㄹ 를 선택한다.

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

➤ W에 의한 선형변환에 의해 특징데이터 Y를 얻는다.

Page 28: Feature Extraction(Principal Componant Analysis: PCA)

주성분분석법 / 알고리즘

➤ (a) : 입력데이터

➤ (b) : 1차 주성분 벡터와 그 벡터로 사영된 점

➤ 주성분분석에 의해 추출되는 1차원 특징값

Page 29: Feature Extraction(Principal Componant Analysis: PCA)

주성분분석법 / 알고리즘

➤ (c) : 첫 번째, 두 번째의 주성분 벡터를 이용한 선형변환으로 얻어지는 2차원 특징값

➤ (d) : 3개의 주성분 벡터를 모두 사용한 선형변환으로 얻어지는 3차원 특징값

➤ 차원축소의 효과는 발생하지 않음

➤ 각 요소간의 상관관계가 사라진 형태

Page 30: Feature Extraction(Principal Componant Analysis: PCA)

주성분분석법 / 수학적 유도

➤ 차원축소에서 분산을 최대로 하는 벡터를 기저벡터로 선택하면 정보손실을 최소화 할 수 있다.

Page 31: Feature Extraction(Principal Componant Analysis: PCA)

주성분분석법 / 수학적 유도

➤ n 차원 입력공간을 나타내는 임의의 기저벡터 집합

➤ 기저벡터는 서로 직교이면서 크기가 1이라고 가정

➤ 입력 벡터

➤ n개의 기저벡터들 중에서 m(m < n)개만 선택하여 사용

➤ 입력 벡터 근사

Page 32: Feature Extraction(Principal Componant Analysis: PCA)

주성분분석법 / 수학적 유도

➤ 입력 데이터 집합 에 대한 정보 손실량

➤ 데이터의 평균이 0 으로 센터링

➤ ㄴ 는 공분산행렬

➤ J를 최소화하기 위해서는 (j=m+1, … ,n)이 분산이 최소가 되는 기저벡터

➤ 분산을 최대로 하는 기저벡터부터 순서대로 m개를 선택해서 사용하면 정보손실을 최소화 할 수 있다.

Page 33: Feature Extraction(Principal Componant Analysis: PCA)

주성분분석법 / 수학적 유도

➤ 공분산행렬의 고유벡터가 분산을 최대로 하는 기저벡터

➤ 라그랑주 승수법

➤ J를 최소화하는 기저벡터 u와 는 행렬 S의 고유벡터와 고유값

➤ 라그랑주 승수(Lagrange Multiplier) ➤ 함수 ㄴ 의 극값을 구할 때 , 조건 ㄴ 가 주어지면 새로운 함수 ㄴㅇ ㄴㅇ 를 정의하여 이 함수의 극값을 구한다.

Page 34: Feature Extraction(Principal Componant Analysis: PCA)

주성분분석법 / 수학적 유도

➤ 의 양변에 를 곱한다.

➤ 공분산행렬의 고유값ㅊ 는 해당 고유벡터에 데이터를 사영함으로써 얻어지는 특징값들의 분산 값

➤ 공분산행렬의 고유값이 가장 큰 것부터 순서대로 m개의 기저벡터를 선택

Page 35: Feature Extraction(Principal Componant Analysis: PCA)

주성분분석법 / 수학적 유도

➤ m차원을 n차원의 특징데이터로 변환할 때 표현 가능한 정보의 비율

➤ ㄴ ,

➤ 정보의 손실량이 2% 이하

Page 36: Feature Extraction(Principal Componant Analysis: PCA)

주성분분석법의 특성과 문제점

➤ 주성분분석법은 입력데이터의 공분산을 기준으로 분석하기 때문에 각 데이터의 클래스라벨 정보를 활용하지 않는다.

➤ 분류에 핵심이 되는 정보를 손실

➤ 선형판별분석법은 클래스 정보를 활용하여 분류에 핵심적인 정보를 추출

Page 37: Feature Extraction(Principal Componant Analysis: PCA)

주성분분석법의 특성과 문제점

➤ 주성분분석은 선형변환을 가정

➤ 데이터가 비선형 구조를 가지고 있을 경우 적절한 저차원 특징을 찾는 것이 불가능