반응형
차원 축소의 정의
- 분석하는 데이터의 종류의 수를 의미
- 어떤 목적에 따라서 변수(데이터의 종류)의 양을 줄이는 것
차원 축소의 필요성
- 복잡도의 축소(Reduce Complexity)
- 분석시간과 저장변수 양을 고려
- 분석시간의 증가 (시간복잡도, Time Complexity)
- 저장변수 양의 증가 (공간복잡도, SpaceComplexity)
- 동일한 품질을 나타낼 수 있다면 효율성 측면에서 데이터 종류의 수 축소
- 분석시간과 저장변수 양을 고려
- 과적합(Overfit)의 방지
- 과적합 : 학습 데이터를 너무 과하게 학습하는 것
- 차원 증가로 발생하는 고려사항
- 분석모델 파라메터의 증가 및 파라메터 간 복잡한 관계의 증가
- 분석결과의 과적합 발생 가능성이 커짐
- 분석 모델의 정확도(신뢰도) 저하 발생
- 작은 차원만으로 안정적인(robust) 결과를 도출할 수 있다면 차원을 축소하여 효율적으로 관리
- 해석력(Interpretability)의 확보
- 차원이 작은 간단한 모델일수록 내부구조 이해 및 해석 용이
- 해석이 쉬우면 명확한 결과 도출에 많은 도움을 줌
- 차원의 저주(Curse of Midemsionality)
- 차원 증가로 발생하는 고려사항
- 데이터 분석 및 알고리즘을 통한 학습을 위해 차원 증가
- 학습 데이터의 수가 차원의 수보다 적어짐
- 성능 저하 현상 발생
- 차원을 줄이거나 데이터의 수를 늘리는 방법으로 해결
- 차원 증가로 발생하는 고려사항
차원 축소 요인 분석(Factor Analysis)
- 요인 분석의 개념
- 다수의 변수들의 상관관계를 분석하여 공통차원을 축약하는 통계분석 과정
- 요인 분석의 목적
- 변수 축소 : 다수의 변수들의 정보손실 억제하면서 소수의 요인으로 축약하는 것
- 변수 제거 : 요인에 대한 중요도 파악
- 변수특성 파악 : 관련된 변수들의 군집으로 요인 간 상호 독립성 파악 용이
- 타당성 평가 : 군집되지 않은 변수의 독립성 여부 판단
- 파생변수 : 요인점수를 이용한 새로운 변수 생성하여 회귀분석, 판별분석, 군집분석 등에 이용
- 요인 분석의 특징
- 독립변수, 종속 변수의 개념이 없음
- 주로 기술 통계에 의한 방법 이용
- 요인 분석의 종류
- 주성분 분석
- 공통요인 분석 특이값 분해 행렬(SVD, Singular Value Decomposition)
- 음수미포함 행렬 분해(NMF, Non-negative Matrix Factorization) 등
- 공통요인 분석
차원 축소의 방법
- 차원 축소의 필요성을 인지하고 실제적으로 차원을 축소하는 데 사용 될 수 있는 방법
주성분 분석(PCA)
주성분 분석의 개념
- Principal Component Analysis의 약자
- 분포된 데이터들의 특성을 설명할 수 있는 하나 또는 복수 개의 특징(주성분)을 찾는 것을 의미
- 여러 데이터들이 모여 하나의 분포를 이룰 때, 이 분포의 주성분을 분석해주는 방법
- 고차원의 데이터를 저차원의 데이터로 환원시키는 기법
- 직교변환을 사용하여 변환 과정을 거침
- 서로 연관성이 있는 고차원공간의 데이터
- 선형연관성이 없는 저차원으로 변환
- 새로운 변수들을 기존 변수들로 선형 결합한 형태로 구성
- 데이터의 차원을 축소하고 분산을 최대한 보존하는 방식으로 정보 추출
주성분 분석의 특징
- 차원 축소에 폭 넓게 사용, 어떠한 사전적 분포 가정의 요구 없음
- 가장 큰 분산의 방향들이 주요 중신 괌심으로 가정
- 본래의 변수들의 선형결합으로만 고려
- 차원의 축소는 본래의 변수들이 서로 상관 있을 때만 가능
- 변수들 간의 스케일링이 필수적이며 스케일에 대한 영향을 크게 받음
특이값 분해(SVD)
특이값 분해의 개념 (선형대수)
- Singular Value Decomposition의 약자
- 어떤 행렬이 주어졌을 때, 이를 세 개의 행렬의 곱으로 분해하는 방법
- 데이터 공간을 나타내는 m x n 행렬 A에 대해 아래와 같이 분해 가능
- 행렬에서 선형독립된 열 벡터의 개수를 구하는 데 사용
- 데이터를 효율적으로 처리하거나, 분류 및 회귀 등의 문제에서 성능 향상
직교행렬의 개념(Orthogonal Matrix)
- 행과 열이 모두 서로 수직인 행렬
- 행렬의 열 벡터가 독립이라는 의미로 아래와 같은 관계 성립
- 각 행렬의 내적이 0인 정방행렬
- 직교행렬 3x3의 모양
대각행렬의 개념(Diagonal Matrix)
- 주대각선을 제외한 모든 원소가 0인 행렬
- 주대각선 상의 원소들은 대각원소라고 지칭
- 대각행렬 3x3의 모양
- 대각원소 : a, b, c
특이값 분해의 차원 축소 원리
- 수학적 원리
- SVD 방법은 주어진 행렬 A(크기가 m x n인 행렬)을 여러 개의 행렬 A와 동일한 크기를 갖는 행렬로 분해
- 각 행렬의 원소값의 크기는 대각행렬에서 대각성분의 크기에 의해 결정
특이값 분해 데이터의 응용 (아래의 예시 참고)
- 기존의 전차원의 정보 A를 SVD에 의해 3개의 행렬로 분해
- U : 행렬 M의 직교 행렬
- 시그마: 행렬M의 대각 행렬
- V^* : 행렬M의 전치행렬
- 적당한 I(특이값)만을 이용
- 원래 행렬 M와 비슷한 정보력을 가지는 차원 생성
- 즉, 큰 몇개의 특이값을 가지고도 충분히 유용한 정보를 유지할 수 있는 차원 생성(차원 축소)
음수 미포함 행렬분해(NMF)
음수 미포함 행렬분해의 개념
- Non-negative Matrix Factorization의 약자
- 행렬을 비음수 행렬의 곱으로 분해하는 기법
- 행렬 V를 W와 H 두개의 비음수 행렬의 곱으로 분해하는 것이 목표
- 일반적으로 W의 열 개수와 H의 행 개수가 WH=V가 되도록 결정
- 기존 행렬 V와 분해한 음수 미포함 행렬 W와 H의 곱과의 차이를 오차 U라고 지칭
- V=WH+U, U의 원소들은 양수나 음수
- W와 H의 크기가 V보다 작기 때문에 저장하거나 다루기 용이
- V를 원래 정보보다 상대적으로 적은 정보로 표현하여 분해한 행렬 하나가 전체 정보의 대략적인 정보 확인
- 자연어 처리, 영상 처리, 음악 정보 검색등 다양한 분야에서 사용
NMF의 차원 축소
- 행렬 곱셈에서 곱해지는 행렬로 차원 축소
- 즉, 결과행렬보다 훨씬 적은 차원을 가짐, 차원 축소 가능
참고
반응형