id, title, category, status, canonical_id, aliases, duplicate_of, source_trust_level, confidence_score, verification_status, tags, raw_sources, last_reinforced, github_commit, tech_stack
id
title
category
status
canonical_id
aliases
duplicate_of
source_trust_level
confidence_score
verification_status
tags
raw_sources
last_reinforced
github_commit
tech_stack
wiki-2026-0508-linear-discriminant-analysis
Linear Discriminant Analysis
10_Wiki/Topics
verified
self
LDA
Fisher Discriminant
Fisher LDA
none
A
0.9
applied
machine-learning
classification
dimensionality-reduction
supervised
sklearn
2026-05-10
pending
language
framework
python
scikit-learn
Linear Discriminant Analysis
매 한 줄
"매 LDA = 클래스 간 분산은 최대, 클래스 내 분산은 최소가 되는 축을 찾는 supervised dim reduction" . Fisher (1936)가 제안한 방법으로 PCA가 variance-maximizing이라면 LDA는 separability-maximizing. 동시에 Gaussian + 공분산 동일 가정 하에서 optimal Bayes classifier가 된다.
매 핵심
매 핵심 수식
S_W = \sum_c \sum_{x \in c}(x - \mu_c)(x - \mu_c)^T — within-class scatter.
S_B = \sum_c n_c (\mu_c - \mu)(\mu_c - \mu)^T — between-class scatter.
목적: \arg\max_W \frac{|W^T S_B W|}{|W^T S_W W|}.
해: $S_W^{-1} S_B$의 top eigenvector — 최대 (C-1)개 (C: class 수).
매 LDA vs PCA
항목
PCA
LDA
지도/비지도
비지도
지도
목적
variance 최대
class separability 최대
출력 차원 한계
min(n, d)
C-1
가정
없음 (centered)
Gaussian, 공분산 동일
매 분류기로서의 LDA
각 class가 같은 공분산 Σ를 가진 Gaussian이라 가정.
Decision boundary가 linear.
QDA (Quadratic): 공분산이 class별로 다름 → quadratic boundary.
매 한계
클래스 분포가 비-Gaussian이면 약함.
Class 불균형 시 majority에 끌림.
비선형 boundary 못함 → Kernel LDA / NDA.
C-1 차원 제약 → 2-class면 1차원만.
매 응용
Face recognition (Fisherfaces).
의료 진단 (small classes, Gaussian-ish).
Document classification (TF-IDF 후).
EEG/생체신호 분류.
PCA 후 분류 직전 supervision으로 dim 줄이기.
💻 패턴
sklearn — 기본 분류
LDA를 dim reduction으로 사용
LDA + Logistic 비교
Shrinkage LDA — 고차원/소표본
QDA — 공분산 다를 때
From scratch — eigenvalue 풀이
Pipeline — PCA → LDA
매 결정 기준
상황
Approach
Class별 Gaussian + 공분산 동일
LDA (분류 + dim reduction)
Class별 공분산 다름
QDA
d >> n 또는 small sample
Shrinkage LDA
비-Gaussian / 비선형
Kernel LDA, tree, NN
시각화 (class-aware)
LDA(n_components=2 또는 3)
기본값 : StandardScaler 후 sklearn LinearDiscriminantAnalysis(solver="lsqr", shrinkage="auto").
🔗 Graph
🤖 LLM 활용
언제 : PCA vs LDA 결정 가이드, scatter matrix 직관 설명, shrinkage 파라미터 해석.
언제 X : covariance 동일성 통계 검정 — Box's M test 등 statistician 영역.
❌ 안티패턴
Scaling 안 함 : 큰 scale feature가 scatter matrix 지배.
C-1 차원 초과 요구 : 수학적으로 불가능.
Class 매우 불균형 : priors 자동값으로 거대 majority 쏠림.
고차원 소표본 raw LDA : S_W singular → shrinkage 또는 PCA 선행.
비-Gaussian 무시 : outlier 한 개로 전체 boundary 흔들림.
🧪 검증 / 중복
Verified (Fisher 1936, ESL Ch.4, sklearn 1.5+).
신뢰도 A.
🕓 Changelog
날짜
변경
2026-05-08
Phase 1
2026-05-10
Manual cleanup — Shrinkage/QDA, from-scratch eigen, PCA→LDA pipeline