feature extraction(principal componant analysis: pca)
TRANSCRIPT
CHAPTER 8. 특징추출2016.04.26
서울시립대학교 데이터마이닝 연구실
김소현
전처리 preprocessing
특징추출 Feature extraction
학습(데이터 분석) Learning classifier/
Data Analysis
결정경계 Decision boundary
분류/인식 Classification/
Recognition
학습 데이터
테스트 데이터
패턴인식의 처리과정
특징추출 (FEATURE EXTRACTION)
➤ 데이터를 다루기 쉬운 형태로 변환하는 과정
➤ 인식에 핵심이 되는 정보 추출
➤ 비용(계산, 메모리)의 증가 및 잡음으로 인한 문제 감소
선형변환에 의한 특징추출
➤ 선형변환은 일반적인 데이터에 적용 가능
➤ 차원의 축소
➤ n차원 입력 데이터를 m차원 특징 벡터로 매핑 (m << n)
선형변환에 의한 특징추출 / 차원의 저주
➤ 차원의 저주(curse of dimension)
➤ 차원이 늘어남에 따라 비용이 늘어나고 추정의 정확도가 저하
➤ 모수적 확률밀도 추정법 : 가우시안 분포
➤ 공분산
선형변환에 의한 특징추출 / 차원의 저주
➤ 비모수적 확률밀도 추정법 : 히스토그램법
➤ i번째 구간의 확률 값
선형변환에 의한 특징추출 / 부분공간분석
➤ 부분공간분석(subspace analysis)
➤ 선형변환에 의해 저차원 특징공간으로 매핑
➤ 변환함수: 행렬 W(nxm)
➤ n차원 입력 벡터 x -> m차원 특징 벡터 y
선형변환에 의한 특징추출 / 부분공간분석
➤ W의 각 열은 입력 벡터 x를 사영시킬 벡터
2차원 데이터를 1차원으로 변환
선형변환에 의한 특징추출 / 부분공간분석
➤ 전체 데이터 집합
➤ sdf
➤ Y : 특징추출에 의해 얻어진 m X N 특징행렬
➤ W의 방향으로 사영함으로써 저차원의 특징값을 얻음2차원 데이터 집합의 선형변환에 의한 특징 추출
선형변환에 의한 특징추출 / 부분공간분석
➤ ㅊㅍㅊㅍ
➤ W의 각 열은 사영할 저차원 부분공간의 기저(basis)
➤ 3차원 데이터를 2차원 부분공간으로 사영
선형변환에 의한 특징추출 / 부분공간분석
➤
선형변환에 의한 특징추출
➤ 변환행렬W에 따라 얻어지는 특징의 분포 형태가 달라진다.
➤ W를 조정하여 목적에 맞는 특징을 추출한다.
➤ 대표적인 특징추출 방법 : 주성분분석법, 선형판별분석법
주성분분석법
➤ 데이터의 공분산의 성질을 바탕으로 선형변환을 수행
➤ 공분산 분석
➤ 대각화변환, 화이트닝변환
➤ 주성분분석 알고리즘
➤ 주성분분석법의 수학적 유도
주성분분석법 / 공분산 분석
➤ 원래 데이터의 공분산과 선형변환으로 얻은 특징데이터의 공분산 비교
➤
➤ 센터링(centering) :
➤ (1은 모든 원소값이 1인 n차원 열벡터)
➤ 특징데이터 집합 Y에 대한 평균 , 공분산
분산 : 전치 행렬의 성질 :
주성분분석법 / 공분산 분석
➤
➤ 입력데이터의 공분산을 W에 의해 변환하여 특징데이터의 공분산을 얻을 수 있다.
➤ 특징데이터 집합이 인식기가 다루기 쉬운 형태의 공분산을 가지도록 선형변환 W를 정의할 수 있다.
➤ <4장. 가우시안 확률분포와 베이지안 분류기>
➤ 여러 가지 공분산의 형태에 따라 베이즈 분류기의 결정경계와 결정규칙이 달라짐.
주성분분석법 / 공분산 분석
➤ <4장. 가우시안 확률분포와 베이지안 분류기>
➤ 1. 클래스 공통 단위공분산행렬
➤ 2. 클래스 공통 공분산행렬
➤ 3. 일반적인 공분산행렬
➤ 입력 데이터를 변환하여 대각행렬이나 단위행렬을 공분산으로 가지는 특징벡터를 얻어 이를 입력데이터로 사용한다.
주성분분석법 / 대각화변환
➤ 대각화(diagonalization)변환
➤ 대각행렬 형태의 공분산 를 얻을 수 있는 선형변환
➤
➤ : 의 고유벡터를 열벡터로 가지는 행렬
➤ : 고유값를 대각원소로 가지는 행렬
➤ 고유벡터(eigenvector) : 선형변환 A에 의한 변환 결과가 자기 자신의 상수배가 되는 0이 아닌 벡터 v
➤ 고유값(eigenvalue) : 상수배의 값
➤ 고유값분해를 이용한 대각화(eigendecomposition)
주성분분석법 / 대각화변환
➤ 고유치 벡터들이 서로 직교하면서 크기가 1 이라고 가정
➤
➤ —>
➤
➤
➤ 특징 벡터의 공분산은 고유치를 대각원소로 가지는 대각행렬
➤ 는 대각행렬을 공분산으로 가지는 분포를 이룬다.
주성분분석법 / 대각화변환
주성분분석법 / 대각화변환
➤ 첫번째 고유벡터는 분산이 가장 커지는 방향
➤ 두번째 고유벡터는 이에 수직인 벡터
➤ 데이터의 분산은 고유치의 값
➤ 대각화변환
➤ X의 고유벡터를 기저벡터로 사용
주성분분석법 / 화이트닝변환
➤ 화이트닝(whitening)변환
➤ 단위행렬 공분산 를 얻을 수 있는 선형변환
➤ 대각화변환: ,
➤
주성분분석법 / 화이트닝변환
➤
➤ 는 특징데이터 집합이 단위행렬 를 공분산으로 가지도록하는 선형변환
➤
➤ 유클리디안 거리에 의한 최단거리 이용
➤ 각 요소들끼리 상관관계가 없다.
➤ 기존의 복잡한 분포 특성이 제거된다.
➤ 수행하는 데이터 분석이 용이해진다.
주성분분석법 / 화이트닝변환
➤ 각 요소들 간의 분산의 차가 사라짐
➤ 수평축과 수직충 모두가 분산 1을 가지는 형태로 데이터가 변환
➤ 고유벡터에 고유치의 제곱근값을 곱하여 얻어지는 벡터들을 기저벡터로 사용
대각화변환 화이트닝변환
주성분분석법
➤ 공분산에 기반한 성형변환은 같은 차원의 공간에서 기저벡터만 변형
➤ 기저벡터의 선택을 통하여 축소된 차원을 얻는다.
주성분분석법 / 알고리즘
➤ 주성분분석(principal component analysis, PCA)
➤
➤ n차원 입력 벡터 x -> m차원 특징 벡터 y
➤ 변환 전의 데이터 X가 가지고 있는 정보를 차원축소 후에도 최대한 유지하는 것
➤ 데이터의 분산이 가장 큰 방향으로의 선형변환을 수행
주성분분석법 / 알고리즘
➤ PCA 알고리즘 수행 단계
➤ 1. 입력데이터 집합 X의 평균과 공분산을 계산한다.
➤ 2. 고유치 분석을 통해 공분산 의 고유치행렬 과 고유벡터행렬 를 계산한다.
주성분분석법 / 알고리즘
➤ 3. 고유치값이 큰 것부터 순서대로 m개의 고유치 ㅇㄹ 를 선택한다.
➤ 4. 선택한 고유치에 대응되는 고유벡터를 열벡터로 가지는 변환행렬 W를 생성한다.
➤ W에 의한 선형변환에 의해 특징데이터 Y를 얻는다.
주성분분석법 / 알고리즘
➤ (a) : 입력데이터
➤ (b) : 1차 주성분 벡터와 그 벡터로 사영된 점
➤ 주성분분석에 의해 추출되는 1차원 특징값
주성분분석법 / 알고리즘
➤ (c) : 첫 번째, 두 번째의 주성분 벡터를 이용한 선형변환으로 얻어지는 2차원 특징값
➤ (d) : 3개의 주성분 벡터를 모두 사용한 선형변환으로 얻어지는 3차원 특징값
➤ 차원축소의 효과는 발생하지 않음
➤ 각 요소간의 상관관계가 사라진 형태
주성분분석법 / 수학적 유도
➤ 차원축소에서 분산을 최대로 하는 벡터를 기저벡터로 선택하면 정보손실을 최소화 할 수 있다.
주성분분석법 / 수학적 유도
➤ n 차원 입력공간을 나타내는 임의의 기저벡터 집합
➤ 기저벡터는 서로 직교이면서 크기가 1이라고 가정
➤ 입력 벡터
➤ n개의 기저벡터들 중에서 m(m < n)개만 선택하여 사용
➤ 입력 벡터 근사
주성분분석법 / 수학적 유도
➤ 입력 데이터 집합 에 대한 정보 손실량
➤
➤ 데이터의 평균이 0 으로 센터링
➤ ㄴ 는 공분산행렬
➤ J를 최소화하기 위해서는 (j=m+1, … ,n)이 분산이 최소가 되는 기저벡터
➤ 분산을 최대로 하는 기저벡터부터 순서대로 m개를 선택해서 사용하면 정보손실을 최소화 할 수 있다.
주성분분석법 / 수학적 유도
➤ 공분산행렬의 고유벡터가 분산을 최대로 하는 기저벡터
➤
➤ 라그랑주 승수법
➤
➤ J를 최소화하는 기저벡터 u와 는 행렬 S의 고유벡터와 고유값
➤ 라그랑주 승수(Lagrange Multiplier) ➤ 함수 ㄴ 의 극값을 구할 때 , 조건 ㄴ 가 주어지면 새로운 함수 ㄴㅇ ㄴㅇ 를 정의하여 이 함수의 극값을 구한다.
주성분분석법 / 수학적 유도
➤ 의 양변에 를 곱한다.
➤
➤
➤ 공분산행렬의 고유값ㅊ 는 해당 고유벡터에 데이터를 사영함으로써 얻어지는 특징값들의 분산 값
➤
➤ 공분산행렬의 고유값이 가장 큰 것부터 순서대로 m개의 기저벡터를 선택
주성분분석법 / 수학적 유도
➤ m차원을 n차원의 특징데이터로 변환할 때 표현 가능한 정보의 비율
➤ ㄴ ,
➤ 정보의 손실량이 2% 이하
주성분분석법의 특성과 문제점
➤ 주성분분석법은 입력데이터의 공분산을 기준으로 분석하기 때문에 각 데이터의 클래스라벨 정보를 활용하지 않는다.
➤ 분류에 핵심이 되는 정보를 손실
➤ 선형판별분석법은 클래스 정보를 활용하여 분류에 핵심적인 정보를 추출
주성분분석법의 특성과 문제점
➤ 주성분분석은 선형변환을 가정
➤ 데이터가 비선형 구조를 가지고 있을 경우 적절한 저차원 특징을 찾는 것이 불가능