| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
| 31 |
- 선발후기
- 코드잇스프린트후기
- 2종오류
- 스프린터의봄
- 데이터전처리
- 독립표본T검정
- 코드잇스프린트
- 대응표본T검정
- 데이터분석가
- 수료후기
- 코드잇
- 지원후기
- 코드잇데이터분석
- 이상치
- 1종오류
- 대립가설
- 데이터분석
- 통계적가설검정
- 스프린트
- 결측치
- codeitconference2025
- 취업까지달린다
- 코드잇스프린트프리코스
- p값
- 코드잇da
- T검정
- 코드잇스프린트da
- 단일표본t검정
- 코드잇스프린트수료후기
- t-test
- Today
- Total
Ori's IT 공부일지
[위클리 페이퍼 #11] 차원 축소, 고유값과 고유벡터, 히스토그램 본문
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
'코드잇 스프린트 > 위클리 페이퍼' 카테고리의 다른 글
| [위클리 페이퍼 #10] 결정트리, 부스팅 (0) | 2025.04.13 |
|---|---|
| [위클리 페이퍼 #9] 편향, 분산 , k-fold 교차 검증 (0) | 2025.04.13 |
| [위클리 페이퍼 #8] 지도 학습 vs 비지도 학습, 손실함수 (0) | 2025.04.13 |
| [위클리 페이퍼 #7] A/B 테스트, 이벤트 로그 설계 (0) | 2025.04.13 |
| [위클리 페이퍼 #6] AARRR, 코호트 분석, RFM 분석 (0) | 2025.04.13 |