Ori's IT 공부일지

[위클리 페이퍼 #11] 차원 축소, 고유값과 고유벡터, 히스토그램 본문

코드잇 스프린트/위클리 페이퍼

[위클리 페이퍼 #11] 차원 축소, 고유값과 고유벡터, 히스토그램

daminjeong 2025. 4. 13. 23:33

1. 데이터 간의 유사도를 계산할 때, feature의 수가 많다면(예: 100개 이상), 이러한 high-dimensional clustering 문제를 해결하기 위한 방법들을 설명해 주세요.

1) 차원의 저주

  • 차원이 높아질수록 데이터 간의 거리가 모두 비슷해지는 경향이 생겨, 거리 기반 클러스터링(예. KMeans)의 성능 저하 초래하는 문제

2) 해결 방법

2-1) 차원 축소

  • 차원 축소(PCA)
    • 고차원 데이터를 분산이 큰 방향으로 축소해 저차원으로 변형
    • 노이즈 제거, 데이터 시각화, 거리 기반 클러스터링에 주로 사용
  • t-SNE / UMAP
    • 비선형 차원 축소 기법
    • 데이터의 군집 구조 잘 유지
    • 시각화에 효과적 / 실제 클러스터링에는 부적합 가능성 존재(거리 왜곡, 느린 속도 등)
  • AutoEncoder
    • 인공신경망 이용 차원 축소 기법
    • 중간 latent layer을 feature로 활용해 클러스터링 성능 개선

2-2) feature selection (특성 선택)

  • mutual information, variance Threshold, Lasso 기반 특성 선택 등 → 불필요 특성 제거
  • 노이즈 제거

2-3) 적절한 거리 척도 선택

  • 고차원에는 Cosine similarity, Mahalanobis distance, correlation distance 등 거리 척도 사용

2-4) 고차원 데이터에 적합한 클러스터링 알고리즘 사용

  • Spectral Clustering
    • 그래프 기반으로 데이터 표현하여 클러스터링
    • 데이터의 복잡한 구조나 비선형 경계도 포착 가능
  • DBSCAN / HDBSCAN
    • 밀도 기반 클러스터링
    • 차원 축소 후 결합 시 효과적
  • GMM (Gaussian Mixture Model)
    • 군집이 정규분포 따른다고 가정하고 soft clustering 수행
    • 차원 축소와 함께 사용 시 성능 향상 가능

2-5) Normalization & Scaling

  • 각 피처의 스케일이 다르면 유사도 계산에 왜곡 발생
  • 특히, 거리 기반 클러스터링에서는 StandardScaler, MinMaxScaler, RobustScaler 등의 스케일링 필수

2-6) Subspace Clustering / Sparse Clustering

  • 일부 feature subset에서만 클러스터링 수행
  • 대표 알고리즘: CLIQUE, PROCLUS, Sparse KMeans
  • 클러스터마다 의미 있는 feature가 다를 수 있음

 

2. 고유값(eigenvalue)과 고유벡터(eigenvector)에 대해 설명해 주세요. 이들이 데이터 분석에서 왜 중요한지 구체적인 예를 들어 설명해 주세요.

1) 고유값(eigenvalue)

  • 정의(수학적 관점)
    • 어떤 정방행렬 A에 대해, A v = λ v 를 만족하는 스칼라 λ = 고유값(eigenvalue), 벡터 v = 고유벡터(eigenvector
    • 즉, 행렬 A가 벡터 v를 어떤 방향으로 늘리거나 줄이기만 하고, 방향은 바꾸지 않는 경우,
      고유벡터는 방향, 고유값은 그 방향으로 얼마나 늘어나거나 줄었는지의 정도
    • 예시
더보기

- 예시 : 2×2 행렬의 고유값/고유벡터 구하기

 

A = [[2, 1], [1, 2]]

 

① 고유값 λ 구하기

고유값은 다음의 특성방정식(characteristic equation)을 풀어서 구합니다:

det(A - λI) = 0

즉,

∣2−λ1∣∣12−λ∣=0|2 - λ 1 | | 1 2 - λ| = 0

∣2−λ1∣∣12−λ∣=0

 

행렬식(det)을 계산해보면:

(2 - λ)(2 - λ) - (1)(1) = 0
⇒ (2 - λ)^2 - 1 = 0
⇒ (2 - λ)^2 = 1
⇒ 2 - λ = ±1

 

따라서 고유값 λ는: λ₁ = 1, λ₂ = 3

 

② 각 고유값에 대응하는 고유벡터 v 구하기

각 고유값 λ에 대해,

(A - λI) · v = 0

을 만족하는 v를 구합니다.

 

λ = 1일 때:

A - I = [[1, 1], [1, 1]]

이 행렬에 대해 v = [x, y]라고 하면:

1·x + 1·y = 0 → x + y = 0

즉, 고유벡터는:

v₁ = [1, -1] (스칼라 배는 모두 고유벡터)

 

λ = 3일 때:

A - 3I = [[-1, 1], [ 1, -1]]

-1·x + 1·y = 0 → x = y

v₂ = [1, 1]

 

✅ 요약

고유값 λ 고유벡터 v
1 [1, -1] 방향
3 [1, 1] 방향

이 의미는?

  • 행렬 A가 [1, -1] 방향으로는 1배(=변화 없음),
  • [1, 1] 방향으로는 3배 확대되는 변환이라는 뜻이에요.

 

 

2) 데이터 분석에서 중요한 이유

  • PCA (주성분 분석)
    • PCA는 차원 축소 기법 중 하나로, 데이터를 분산이 큰 방향으로 축소함
    • 이때 공분산 행렬의 고유벡터와 고유값 이용하여 주요 방향(=주성분)을 찾음
    • 고유벡터 : 주성분의 축, 고유값 : 정보량
    • 고유벡터는 차원 축소의 새 좌표축, 고유값은 그 축이 얼마나 중요한지 나타내는 지표로 쓰임
  • SVD (특이값 분해), LSA 등 텍스트 분석
    • SVD에서 행렬 분해 시 고유값/고유벡터의 일반화 개념인 특이값/특이벡터 사용
    • LAS(Latent Semantic Analysis)는 텍스트 데이터를 벡터화 한 후 SVD 적용

3. 히스토그램의 주요 단점은 무엇이며, 이를 극복하기 위한 대안적인 시각화 방법을 설명해 주세요.

1) 히스토그램

  • 연속형 데이터의 분포 시각화
  • Bin(구간)안에 데이터가 얼마나 많이 포함되어 있는지 막대 그래프 형태로 그림

2) 단점

  • Bin(구간)의 크기와 수에 민감함
    • Bin의 숫자에 따라 분포의 형태가 완전히 달라질 수 있음
  • 연속적 분포를 매끄럽게 표현하지 못함
  • 두 분포 비교가 어려움
    • 여러 분포를 하나의 히스토그램에 그리면 막대가 겹쳐지는 등 시각적으로 복잡해짐
  • 고차원 데이터에 부적합

3) 대안 시각화

  • 커널 밀도 추정(KDE)
    • 히스토그램보다 더 매끄러운 곡선 형태
    • 데이터의 밀도를 표현
    • 분포의 패턴을 더 명확하게 확인 가능
  • 상자 그림(Box plot)
    • 데이터의 중앙값, 사분위수, 이상치 등 확인 가능
    • 여러 변수, 집단 간 분포 비교에 용이함
  • Violin plot
    • Box plot + KDE