전체 주제 구성 (총 5개 블록)
① 판별 함수
② 확률적 생성 모델
③ 확률적 판별 모델
④ 라플라스 근사
⑤ 베이지안 로지스틱 회귀
1. 판별 함수 (Discriminant Function)
- 입력값이 K개의 클래스 중 하나로 분류됨 → 각 클래스는 결정 경계(decision boundary)로 구분
- 선형으로 구분 가능한 경우(linearly separable dataset) → 선형 결정 경계 가능
- 타겟 벡터는 One-hot 인코딩 사용
(예: K=3이면 [0, 1, 0] 형태) - 선형 판별 함수:
y(x) = wᵀx + w₀
2. 이진 분류(Binary Classification)
- 두 클래스(C1, C2)를 분류하는 선형 모델 사용
- y(x) ≥ 0 이면 C1, 그 외에는 C2로 분류
- 간단히 하기 위해 x₀ = 1을 추가하여 다음과 같이 표현: y(x) = ŵᵀx̃
(여기서 ŵ = [w₀, w], x̃ = [1, x])
3. 다중 클래스 분류(Multiclass Classification)
- One-vs-Rest: K개의 이진 분류기로 각 클래스 대 나머지를 분류
- One-vs-One: K(K-1)/2개의 분류기로 클래스 쌍마다 비교
- 위 방법은 애매한 구간이 생길 수 있음 → K개의 선형함수 사용
- yk(x) = wᵀₖx + wₖ₀, 최대값을 갖는 k에 해당하는 클래스로 분류
✔ 개념
- 입력값 x를 K개의 이산 클래스 Cₖ 중 하나에 할당
- 입력 공간은 결정 경계(Decision Boundaries)로 분리됨 → 선형 결정 경계이면 "선형 분리 가능" 데이터셋
- 타겟 벡터는 one-hot encoding 사용:
- 조건 1: t ∈ {0,1}ᴷ
- 조건 2: ∑ᵢ tᵢ = 1
✔ 선형 판별 함수 정의
- 이진 분류 (Binary Class)
- y(x) = wᵀx + w₀
- y(x) ≥ 0 → C₁, 아니면 C₂
- x₀ = 1 을 추가하여:
y(x) = ŵᵀx̃ (ŵ = [w₀, w], x̃ = [1, x])
- 다중 클래스 (Multiclass, K > 2)
- One-vs-Rest: K개의 이진 분류기
- One-vs-One: K(K−1)/2개의 분류기
→ 두 방식 모두 모호한 영역 발생 가능
✔ 다중 클래스 통합 판별 함수
- 각 클래스별 선형 함수 사용:
yₖ(x) = wᵀₖx + wₖ₀ - yₖ(x)가 가장 큰 k로 분류
- 결정 경계: yₖ(x) = yⱼ(x)
→ 수식 정리:
(wₖ − wⱼ)ᵀx + (wₖ₀ − wⱼ₀) = 0
→ 항상 선형이고 볼록한 경계 생성
4. 최소 제곱 분류 (Least Squares for Classification)
- 선형 회귀에서 쓰인 제곱 오차 함수를 분류에도 적용
- X: 입력 행렬, T: 타겟(one-hot) 행렬
- 오차함수: E(W) = ½ Tr{(XW - T)ᵀ(XW - T)}
- 해석적으로 해 구함:
W = (XᵀX)⁻¹XᵀT - 단점: 이상치에 민감, 타겟이 Gaussian이 아닐 경우 부적합
- 선형 회귀 방식으로 분류를 해결하려는 시도
- 오차 함수 정의:
E(W) = ½ Tr{(XW − T)ᵀ(XW − T)}
→ X: 입력 행렬, T: 타겟(one-hot) - 해석적 해 (Normal Equation):
W = (XᵀX)⁻¹XᵀT
❗ 주의: 이상치(outlier)에 민감함, 타겟이 가우시안 분포가 아닐 경우 성능 저하
5. 피셔 선형 판별 (Fisher’s Linear Discriminant)
- 고차원 데이터를 1D로 투영하여 분류
- 클래스 간 분리도를 최대화 + 클래스 내 분산을 최소화
- 기준식:
J(w) = (m₂ - m₁)² / (s₁² + s₂²) - 공분산 행렬 이용 시: J(w) = (wᵀSBw) / (wᵀSWw)
- 최적 w:
w ∝ SW⁻¹(m₂ - m₁)
핵심 아이디어
- 고차원 벡터 x를 1D로 투영:
y = wᵀx - 목표: 클래스 간 평균 분리도 최대화, 클래스 내 분산 최소화
✔ 수식
- 클래스 평균: m₁ = (1/N₁) ∑_{x ∈ C₁} x,
m₂ = (1/N₂) ∑_{x ∈ C₂} x - 클래스 내 분산:
sₖ² = ∑ (yₙ − mₖ)² - 피셔 기준식:
J(w) = (m₂ − m₁)² / (s₁² + s₂²)
✔ 행렬 형태 기준식
- J(w) = (wᵀSBw) / (wᵀSWw)
- 정의:
- SB = (m₂ − m₁)(m₂ − m₁)ᵀ
- SW = ∑{C₁} (x−m₁)(x−m₁)ᵀ + ∑{C₂} (x−m₂)(x−m₂)ᵀ
- 최적 w:
w ∝ SW⁻¹(m₂ − m₁)
6. 퍼셉트론 (Perceptron)
- 비선형 활성함수 f(a) 사용 (a ≥ 0 → +1, a < 0 → -1)
- 오차 함수 (Perceptron Criterion):
E(w) = -∑ wᵀϕₙtₙ (오분류된 샘플만 사용) - SGD 적용:
w(t+1) = w(t) + ηϕₙtₙ
7. 확률적 생성 모델 (Probabilistic Generative Model)
- 사전확률 p(Cₖ), 클래스 조건부 p(x|Cₖ)를 추정 → 베이즈 정리 사용
✔ 이진 분류
- 사후확률: p(C₁|x) = σ(a),
a = log[p(x|C₁)p(C₁) / p(x|C₂)p(C₂)]
✔ 다중 클래스
- Softmax 함수: p(Cₖ|x) = exp(aₖ) / ∑ exp(aⱼ)
aₖ = log[p(x|Cₖ)p(Cₖ)]
8. 연속 입력의 경우 (Continuous Inputs)
- 클래스 조건부 분포가 동일한 공분산을 가진 가우시안이라 가정
- 이진 분류 식 도출: p(C1|x) = σ(wᵀx + w₀)
(w, w₀는 평균, 공분산, 사전확률로부터 도출됨)
✔ 가정
- 각 클래스는 공통 공분산 Σ를 갖는 가우시안 분포
✔ 결과
- 사후 확률: p(C₁|x) = σ(wᵀx + w₀)
파라미터:
w = Σ⁻¹(μ₁ − μ₂)
w₀ = −½μ₁ᵀΣ⁻¹μ₁ + ½μ₂ᵀΣ⁻¹μ₂ + log[p(C₁)/p(C₂)]
→ LDA (Linear Discriminant Analysis) 방식
9. 최대우도 추정 (Maximum Likelihood Solution)
- 혼합 가우시안 모델을 기반으로 우도함수 구성
전체 우도:
mathematica
p(t, X | π, μ₁, μ₂, Σ) =
∏ [π N(xₙ | μ₁, Σ)]^{tₙ} * [(1 − π) N(xₙ | μ₂, Σ)]^{1−tₙ}
- 파라미터 π, μ₁, μ₂를 다음과 같이 추정:
- π = N₁ / (N₁ + N₂)
- μ₁ = (1/N₁) ∑ tₙxₙ
10. 판별 모델 (Discriminative Model)
- 클래스 조건부 밀도 p(x|Ck)를 추정하지 않고
조건부 분포 p(Ck|x)를 직접 최대화 - 생성모델과 달리 p(x|Cₖ)는 사용하지 않음
- 하이퍼파라미터가 적고 일반화 성능이 더 나을 수 있음
11. 고정 기반 함수 (Fixed Basis Function)
- 비선형 변환된 특징벡터 ϕ(x)를 활용하면 모델 성능 향상
- 차원 축소 및 비선형 경계 구현 가능
12. 로지스틱 회귀 (Logistic Regression)
- p(C1|ϕ) = σ(wᵀϕ)
- 오차함수: 음의 로그우도 (Cross Entropy)
E(w) = -∑ [tₙlogyₙ + (1−tₙ)log(1−yₙ)] - 경사하강법 적용:
∇E(w) = ∑ (yₙ - tₙ)ϕₙ
13. 반복 가중 최소제곱법 (IRLS: Iterative Reweighted Least Squares)
- 뉴턴-랩슨 방법 기반
- 해:
w(new) = w(old) − H⁻¹∇E(w) - 해석적 계산:
- H = ΦᵀRΦ,
(R은 yₙ(1 - yₙ)의 대각행렬)
- H = ΦᵀRΦ,
14. 라플라스 근사 (Laplace Approximation)
- 연속 확률 밀도를 가우시안으로 근사
- 모드 z₀ 계산 (MAP)
- 로그 우도에 대해 2차 테일러 전개
- 지수화 후 정규분포 형태 획득
15. 베이지안 로지스틱 회귀 (Bayesian Logistic Regression)
- 사전분포:
p(w) = N(w | m₀, S₀) - 후방분포:
p(w|t) ∝ p(w)p(t|w) - 라플라스 근사 적용 후 정규분포 형태로 근사
q(w) = N(w | wMAP, Sₙ)
16. 예측 분포 (Predictive Distribution)
- 새로운 입력 ϕ(x)에 대해 예측값 계산: p(C1|ϕ, t) ≈ ∫ σ(wᵀϕ)q(w)dw
p(C₁|ϕ, t) ≈ ∫ σ(wᵀϕ)q(w) dw
≈ ∫ σ(a) N(a | μₐ, σ²ₐ) da
- 정규분포 근사를 통해 다음과 같이 근사함:
- 평균:
μₐ = wMAPᵀϕ - 분산:
σ²ₐ = ϕᵀSₙϕ
- 평균: