티스토리 뷰
여러 데이터들이 모여 하나의 분포를 이룰 때, 이 분포의 주성분을 분석해주는 방법을 주성분 분석이라고해
1. 차원 축소(Dimension Reduction)
가공되지 않은 데이터를 처리해야 하는 경우에 필요하지 않다고 판단되는 변수를 제거하여
가공해야할 부분을 줄이는 과정을 차원 축소라고해.
차원 축소의 방법으로는 요인분석(FA), 독립성분분석(ICA), 다차원 척도법(MD5), 비선형 차원 축소법 등이 있어
2. 특징 선택(Feature Selection)과 특징 추출(Feature Extraction)
차원 축소는 주어진 데이터 x∈Rd×1를, z∈Rp×1 축소하는 것을 말하며,
데이터의 차원을 축소하기 위한 방법으로는 크게 특징 선택과 특징 추출이 있어.
1) 특징 선택
d 차원의 데이터 x를 구성하는 각 특징 e1,e2,...,ed 중에서 어떠한 기준을 만족하는 p(p<d)개의 특징을 선택해.
쉽게 말하면 원래의 데이터를 구성하는 요소 중에서 기준에 부합한 일부를 골라내.
2) 특징 추출
기존의 특징 e1,e2,...,ed를 조합하여 새로운 특징 z1,z2,...,zp를 생성해.
쉽게 말하면 원래의 데이터를 조합하여 원래의 데이터보다 작은 차원의 벡터로 조합해.
3. 주성분 분석(PCA)
d 차원의 특징 공간(feature space)에 존재하는 N개의 데이터 X∈Rd×N를
p(p<d) 차원의 특징 공간에 존재하는 N개의 데이터 Z∈Rp×N로 변환하는거야.
이때 X는 행렬로 표현되며, X의 열벡터 Xk=[x1k x2k ... xdk]T는 k번째 데이터를 나타내고 ,
xik은 k번째 데이터의 i번째 요소를 의미해.
쉽게 말하면 d개의 원래의 변수에 각각의 가중치를 줘서 만든 주성분을 p개를 만든다고 생각하면 될거야.
PCA는 원본 데이터 X를 다음의 두 가지 기준을 만족하는 새로운 특징 공간으로 사상해.
1) 새로운 특징 공간을 구성하는 특징인 z1,z2,...,zp는 서로 선형 독립이야.
2) 원본 데이터 X를 zj축으로 사상할때, 분산이 최대화되도록 zj를 결정해.
이때 z1축은 가장 큰 분산을 갖는 축이고, z2는 두 번째로 큰 분산을, zj는 j번째로 큰 분산을 가져.
PCA에서 분산을 최대화하는 새로운 특징(축)을 찾는 이유는 clustering 알고리즘의 정확도를 높이기 위해서이고.
clustering 알고리즘의 정확도를 높임으로서 데이터(주성분)를 더 정확히 분류하기 위해서야.
4. 주성분 개수 선택의 기준
1) 총변이에 대한 공헌도(공분산 행렬 사용시)
누적 비율(Cumulative Proportion)이 70~90%정도인 것을 기준으로 결정해.
2) 개별 고유값의 크기(상관계수 행렬 사용시)
고유값이 1이상인 주성분을 골라(고른 주성분의 개수가 총 변이를 적게 설명한다면 0.7 이상인 것을 골라.).
3) 스크리 그림(scree plot)을 통한 판단
x축에 주성분을 놓고 y축에 해당 주성분에 대응하는 고유값을 연결한 그림으로 그래프가 완만해지는 부분 이전까지의 주성분을 활용해. 스크리 그림은 아래와 같이 생겼어
5. 주성분 분석 절차
1)원래 변수의 단위를 확인함
측정 단위가 유사하거나, 단위가 다르더라도 맞춰줄 수 있다면 공분산 행렬을 이용한다.
측정 단위가 다르고 맞춰줄 수 없는 경우라면 상관계수 행렬을 이용한다.
2) 공분산 /상관계수 행렬로부터 고유치, 고유벡터 계산
3) 고유치 변동 설명 비율을 이용하여 적절한 고유치 개수 결정
공분산 행렬 사용 > 누적 설명 비율 0.7~0.9인 고유치를 고름
상관계수 행렬 사용 > 고유치가 0.7~1 이상인 주성분을 고름
4) 주성분 이름을 부여함.(해당 부분은 다소 주관적임)
5) 주성분 점수 이용
ㄱ. 정규성 검정 : 주성분에 대한 정규성 검정을 통해서 원변수가 다변량 정규분포를 따르는지 여부 판단 가능
ㄴ. 이상치 진단 : 주성분 간 산점도를 이용하거나 주성분의 박스플롯을 이용하여 이상치 발견 가능
ㄷ. 회귀분석 : 설명변수간 다중공선성 발생시 해결책으로 주성분을 사용하여 회귀분석함
# 글을 작성하면서 참조 사이트
https://datacookbook.kr/35
R을 활용한 주성분 분석(principal component analysis) 정리 :: Data 쿡북
오늘은 주성분 분석에 대한 간략한 소개와 함께 R을 활용해 실습한 내용을 공유할까 한다. 사실 주성분에 대한 내용은 여러 블로깅에 이론적(수학적)으로 잘 소개되어 있기 때문에 여기서는 수학적 배경 보다는 R..
datacookbook.kr
위키독스
온라인 책을 제작 공유하는 플랫폼 서비스
wikidocs.net
https://untitledtblog.tistory.com/145
[데이터 마이닝/차원 축소] 주성분 분석 (Principal Component Analysis, PCA)
1. 차원 축소 (Dimensionality reduction) 대부분의 경우, 현실 세계의 문제는 가공되지 않은 데이터를 처리해야 한다. 예를 들어, 머신 러닝 모델을 이용하여 증명사진에 있는 인물의 성별을 맞추는 문제가 있을..
untitledtblog.tistory.com
https://rpubs.com/Evan_Jung/pca
RPubs - PCA(Principal component analysis) 분석 예제
rpubs.com
'머신러닝 > 모형과 이론' 카테고리의 다른 글
Clustering Analysis : 군집분석 (0) | 2019.11.16 |
---|---|
SVM : Support Vector Machine - 개요 (0) | 2019.11.16 |
EDA : Exploratory Data Analysis - Part3 : 속성간 관계 분석 및 EDA 3줄 요약 (0) | 2019.11.15 |
EDA : Exploratory Data Analysis - Part2 : 이상치 (0) | 2019.11.12 |
EDA : Exploratory Data Analysis - Part1 : EDA란? (2) | 2019.11.09 |
- Total
- Today
- Yesterday
- 데이터전처리
- java
- CA
- 주성분분석
- ML
- 군집분석
- Partitioning Around Medoids
- dimension reduce
- 서포트벡터머신
- 이상치처리
- Clustering Analysis
- K-means clustering
- EDA
- SVM
- PAM
- 차원축소
- 머신러닝
- PCA
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |