빅데이터 탐색 - 데이터 전처리 - 차원 축소

반응형

 

차원 축소의 정의

  • 분석하는 데이터의 종류의 수를 의미
  • 어떤 목적에 따라서 변수(데이터의 종류)의 양을 줄이는 것

차원 축소의 필요성

  • 복잡도의 축소(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의 약자
  • 분포된 데이터들의 특성을 설명할 수 있는 하나 또는 복수 개의 특징(주성분)을 찾는 것을 의미
    • 여러 데이터들이 모여 하나의 분포를 이룰 때, 이 분포의 주성분을 분석해주는 방법
  • 고차원의 데이터를 저차원의 데이터로 환원시키는 기법
  • 직교변환을 사용하여 변환 과정을 거침
    1. 서로 연관성이 있는 고차원공간의 데이터
    2. 선형연관성이 없는 저차원으로 변환
  • 새로운 변수들을 기존 변수들로 선형 결합한 형태로 구성
  • 데이터의 차원을 축소하고 분산을 최대한 보존하는 방식으로 정보 추출

주성분 분석의 특징

  • 차원 축소에 폭 넓게 사용, 어떠한 사전적 분포 가정의 요구 없음
  • 가장 큰 분산의 방향들이 주요 중신 괌심으로 가정
  • 본래의 변수들의 선형결합으로만 고려
  • 차원의 축소는 본래의 변수들이 서로 상관 있을 때만 가능
  • 변수들 간의 스케일링이 필수적이며 스케일에 대한 영향을 크게 받음

특이값 분해(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의 차원 축소

  • 행렬 곱셈에서 곱해지는 행렬로 차원 축소
    • 즉, 결과행렬보다 훨씬 적은 차원을 가짐, 차원 축소 가능

참고

 

 

 

 

 

 

 

반응형