카테고리 없음

5주차: 선형 분류 모델 (Linear Classification Models)

hjjummy 2025. 4. 25. 09:25

전체 주제 구성 (총 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)
    1. One-vs-Rest: K개의 이진 분류기
    2. 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ₙ)의 대각행렬)

14. 라플라스 근사 (Laplace Approximation)

  • 연속 확률 밀도를 가우시안으로 근사
  1. 모드 z₀ 계산 (MAP)
  2. 로그 우도에 대해 2차 테일러 전개
  3. 지수화 후 정규분포 형태 획득

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ₙϕ