Linear Models III

chelseey·2025년 4월 9일
  • 두 개의 클래스 중 예측 : Logistic Regression
  • 세 개 이상의 다중 클래스 예측 : Softmax Regression

Classification Model

분류 문제 (Classification) : 타깃 값이 이산적
회귀 문제 (Regression) : 타깃 값이 연속적

Linear Regression의 한계

선형 회귀의 예측 값은 −∞부터 +∞까지 어떤 값도 나올 수 있음

기대값 E[yx]E[y∣x]
=0p(y=0x)+1p(y=1x)=p(y=1x)=0⋅p(y=0∣x)+1⋅p(y=1∣x)=p(y=1∣x)

이므로 분류 문제에서는 출력이 0과 1 사이의 확률이어야 함

→ f(x)를 그대로 p(y=1x)p(y=1∣x)로 해석한다면,
모델의 출력이 확률의 범위를 벗어나게 됨

ex. 암 진단에서 wx+b의 값이 1.5 또는 -0.3
: 값을 확률로 바로 해석하기 어려움,
명확한 결정 경계가 없어 분류 기준을 정하기 어려움

로지스틱 회귀 (Logistic Regression)

선형 회귀의 결과를 시그모이드 함수 σ(z)σ(z)에 통과시켜서,
결과 값을 0과 1 사이의 값으로 압축

fw,b(x)=σ(wx+b)=11+e(wx+b)f_{w,b}(x) = \sigma(wx + b) = \frac{1}{1 + e^{-(wx + b)}}

결정 임계값 (Threshold) : 보통 0.5를 기준으로 사용

  • fw,b(x)0.5f_{w,b}(x)≥0.5 → 클래스 1 (ex. 악성)
  • fw,b(x)<0.5f_{w,b}(x)<0.5 → 클래스 0 (ex. 양성)

→ 두 클래스를 명확하게 구분 가능

주요 확률 함수들

선형 결합 t=ax+bt=ax+b를 먼저 계산한 후,
이 값을 확률처럼 해석할 수 있는 함수 σ(t)σ(t)를 적용

  1. Logistic Model (시그모이드 함수)
    σ(t)=11+et\sigma(t) = \frac{1}{1 + e^{-t}}
  2. Gompertz Model
    σ(t)=exp(exp(t))σ(t)=exp(−exp(−t))
  3. Probit Model : Φ(t)Φ(t)는 정규분포의 누적분포함수(CDF)
    σ(t)=Φ(t)σ(t)=Φ(t)

Logistic Regression Model

Logistic Regression은 회귀 형태의 모델 구조를 가지고 있지만,
타깃 값은 이산적
이름은 회귀(regression), 본질적으로는 분류(classification)

시그모이드 함수 σ(t)=11+et\sigma(t) = \frac{1}{1 + e^{-t}}

S자 형태의 곡선:
tt→−∞일 때 σ(t)0σ(t)→0
t+t→+∞일 때 σ(t)1σ(t)→1
t=0t=0 일 때 σ(0)=0.5σ(0)=0.5

t의 값이 어떤 실수이든 간에 항상 0과 1 사이의 값을 출력

Classification Using Probability

임계값 c (threshold / cut-off value)

  • p(y=1x)>cp(y=1∣x)>c
  • p(y=1x)<cp(y=1∣x)<c

결정 경계

모델은 학습을 통해 w와 b를 결정,
이로부터 wx+b=0이 되는 x 값이 결정 경계가 됨.
ex. 결정 경계를 기준으로 좌측은 클래스 0, 우측은 클래스 1로 분류

임계값(Threshold) 변경의 효과

결정 경계를 wx+b=1이 되는 x로 변경
→ 더 높은 확률을 가진 경우에만 클래스 1로 판단

2차원 입력 공간에서의 분류

선형 결합 모델 : z=w1x1+w2x2+bz=w_1x_1+w_2x_2+b

결정 경계 : 직선 w1x1+w2x2+b=0w_1x_1+w_2x_2+b=0 ,
z=0이 되는 모든 점을 연결한 선

임계값 결정

임계값을 조정해야 하는 경우

  • Prior Knowledge (사전 지식)
    : 어떤 클래스가 더 중요하거나,
    한 클래스에 대한 오분류 비용이 크다는 것을 알고 있는 경우
    ex. 질병 진단에서는 질병(클래스 1)을 놓치는 것을 피하기 위해
    0.5보다 낮은 임계값을 사용

  • Loss Function (손실 함수)
    : 모델을 학습할 때 사용한 손실 함수나 평가 지표(F1-score)를 참고하여 임계값을 최적화
    ex. false positive와 false negative의 비용이 다르다면, 이 비용을 반영하여 임계값을 조정해 전체 손실을 최소화하는 방향으로 선택

임계값 조정

오분류 비용의 차이:
ex. 파산 예측(Bankruptcy Prediction)

  • 정상 회사를 파산 회사로 잘못 분류하는 경우 (False Positive)
    : 약간의 이익 손실만 있을 수 있음
  • 파산 회사를 정상 회사로 잘못 분류하는 경우 (False Negative):
    : 투자 전체를 잃을 위험이 있으므로 비용이 훨씬 큼

잘못된 분류의 비용 차이를 반영하여,
표준 임계값인 0.5보다 낮은 임계값을 선택

d=C(10)C(10)+C(01)d = \frac{C(1 \mid 0)}{C(1 \mid 0) + C(0 \mid 1)}
  • C(10)C(1∣0)
    : 그룹 0(정상 회사)을 그룹 1(파산 회사)으로 잘못 분류했을 때의 손실
  • C(01)C(0∣1)
    : 그룹 1(파산 회사)을 그룹 0(정상 회사)으로 잘못 분류했을 때의 손실

C(01)C(0∣1)가 훨씬 크다면, 임계값은 낮은 값으로 계산됨
→ 낮은 임계값을 선택하면, 모델은 클래스 1(파산)에 대해 보다 민감해짐

Parameter Estimation

관측값 y(i)y^{(i)}와 모델의 예측 확률 간 관계를 표현
: p(y(i)x(i),θ)=fθ(x(i))y(i)(1fθ(x(i)))1y(i)p(y^{(i)} \mid x^{(i)}, \theta) = f_\theta(x^{(i)})^{y^{(i)}} \left(1 - f_\theta(x^{(i)})\right)^{1 - y^{(i)}}

• Log-Likelihood
: (θ)=logL(θ)=i=1nlogp(y(i)x(i),θ)\ell(\theta) = \log L(\theta) = \sum_{i=1}^{n} \log p(y^{(i)} \mid x^{(i)}, \theta)

비용 함수 : 음의 로그 우도 → 크로스 엔트로피 손실

최적화 알고리즘은 보통 최소화 문제로 풀기 때문에,
로그 우도의 음수를 최소화하는 방식으로 문제를 재정의
: 손실 함수의 값이 항상 양수이고, 이 값을 작게 만드는 방향으로 학습이 진행됨

J(θ)=(θ)J(\theta) = -\ell(\theta)
=i=1n[y(i)logfθ(x(i))+(1y(i))log(1fθ(x(i)))]= - \sum_{i=1}^{n} \left[ y^{(i)} \log f_\theta(x^{(i)}) + (1 - y^{(i)}) \log \left(1 - f_\theta(x^{(i)}) \right) \right]

→ 크로스 엔트로피 손실 함수

• 파라미터 최적화
: 모델은 비용 함수 J(θ)J(θ)를 최소화하는 파라미터
θ^MLE=argminθJ(θ)\hat{\theta}^{\text{MLE}} = \arg\min_{\theta} J(\theta)를 찾음

로지스틱 회귀는 비선형 함수(sigmoid)를 포함하므로,
해를 직접 구하는 closed-form solution은 없고, 경사 하강법(Gradient Descent) 등 수치적 최적화 알고리즘을 사용해 파라미터를 업데이트
→ 한 번에 구하는 공식이 없어서 반복적으로 값을 갱신하면서 최소값을 찾아야함

Gradient Descent (경사 하강법)

현재 파라미터의 위치에서 비용 함수의 기울기(gradient)를 계산한 후, 그 기울기의 반대 방향으로 조금씩 이동

업데이트 식 : θjθjαθjJ(θ)\theta_j \leftarrow \theta_j - \alpha \frac{\partial}{\partial \theta_j} J(\theta)

θjJ(θ)\frac{\partial}{\partial \theta_j} J(\theta) : J(θ)J(θ)θjθ_j에 대해 미분한 값, 기울기
αα : 학습률(learning rate), 한 번의 업데이트에서 얼마만큼 이동할지를 결정

→ 과정을 반복하면서 점점 cost가 낮은, 더 좋은 파라미터로 수렴

Newton's Method

경사 하강법은 1차 미분(기울기) 정보만 사용하지만,
뉴턴 방법은 2차 미분(헤시안 행렬, Hessian)을 사용하여
보다 정확한 이동 방향과 크기를 결정

업데이트 식 : θj=θjH1θjJ(θ)\theta_j = \theta_j - \mathbf{H}^{-1} \frac{\partial}{\partial \theta_j} J(\theta)

H\mathbf{H} : 비용 함수의 헤시안 행렬 (2차 편미분 행렬),
함수의 곡률 정보를 담고 있음

Interpretation of Logistic Model

Logistic Regression 모델 :

f(x)=σ(α+βx)=11+e(α+βx)f(x) = \sigma(\alpha + \beta x) = \frac{1}{1 + e^{-(\alpha + \beta x)}}

기울기 ββ:

  • β>0
    x가 증가하면 α+βx도 증가, 시그모이드 함수의 출력도 증가하므로
    y=1일 확률이 높아짐

  • β<0
    x가 증가하면 α+βx가 감소, y=1일 확률이 낮아짐

Odds

어떤 사건이 일어날 확률 p와 일어나지 않을 확률 1−p의 비율

Odds=p1pOdds= \frac{p}{1 - p}

로지스틱 회귀에서의 Odds

p1p=11+e(α+βx)e(α+βx)1+e(α+βx)=1e(α+βx)=eα+βx\frac{p}{1 - p} = \frac{\frac{1}{1 + e^{-(\alpha + \beta x)}}}{\frac{e^{-(\alpha + \beta x)}}{1 + e^{-(\alpha + \beta x)}}} = \frac{1}{e^{-(\alpha + \beta x)}} = e^{\alpha + \beta x}

Odds Ratio (OR)

어떤 입력 x가 1 단위 증가할 때, Odds가 얼마나 변하는지를 나타내는 척도

OR=odds(x+1)odds(x)=eα+βx+βeα+βx=eβ\text{OR} = \frac{\text{odds}(x + 1)}{\text{odds}(x)} = \frac{e^{\alpha + \beta x + \beta}}{e^{\alpha + \beta x}} = e^{\beta}

→ x가 1 증가할 때 Odds가 eβe^{\beta} 배 변함

Softmax Regression

Logistic Regression은 2개 클래스만 처리할 수 있으므로,
3개 이상의 클래스를 다룰 수 있도록 Softmax Regression을 사용

Softmax 함수

입력 벡터의 각 값을 지수 함수로 변환한 뒤, 그 총합으로 나눠서 총합이 1이 되는 확률 벡터로 변환

Softmax(zi)=ezij=1Kezj\text{Softmax}(z_i) = \frac{e^{z_i}}{\sum_{j=1}^{K} e^{z_j}}

최종적으로 모델은 K차원 확률 벡터를 출력 :

hθ(x)=[P(y=1x;θ)P(y=2x;θ)P(y=Kx;θ)]=1j=1Kexp(θ(j)x)[exp(θ(1)x)exp(θ(2)x)exp(θ(K)x)]h_\theta(x) = \begin{bmatrix} P(y = 1 \mid x; \theta) \\ P(y = 2 \mid x; \theta) \\ \vdots \\ P(y = K \mid x; \theta) \end{bmatrix} = \frac{1}{\sum_{j=1}^{K} \exp\left( \theta^{(j)\top} x \right)} \begin{bmatrix} \exp\left( \theta^{(1)\top} x \right) \\ \exp\left( \theta^{(2)\top} x \right) \\ \vdots \\ \exp\left( \theta^{(K)\top} x \right) \end{bmatrix}

ex. hθ(x)=[0.02,0.90,0.05,0.01,0.02]h_{θ}(x)=[0.02,0.90,0.05,0.01,0.02] 라면,
입력 x에 대해 두 번째 클래스의 확률이 90%로 가장 높으므로
모델은 이 샘플을 두 번째 클래스로 분류

비용 함수 (Cost Function)

J(θ)=i=1nk=1K1(y(i)=k)logP(y=kx(i);θ)J(\theta) = - \sum_{i=1}^{n} \sum_{k=1}^{K} \mathbf{1}(y^{(i)} = k) \log P(y = k \mid x^{(i)}; \theta)

1(y(i)=k)\mathbf{1}(y^{(i)} = k) : y(i)y^{(i)}가 클래스 k일 때 1, 아니면 0인 인디케이터 함수

Linear Regression

선형 회귀 : 여러 입력 변수에 대해 각각의 가중치와 편향을 곱해 합산하는 방식으로 예측값을 만듦

여러 feature들을 포함한 벡터 XX
가중치 벡터 WW

y=WX=w1x1+w2x2y = WX= w_1 x_1 + w_2 x_2

시그모이드 함수를 이용해 선형 회귀의 결과를 0~1 사이의 확률값으로 변환 :

y=σ(WX)=ew1x1+w2x21+ew1x1+w2x2y = \sigma(WX)= \frac{e^{w_1 x_1 + w_2 x_2}}{1 + e^{w_1 x_1 + w_2 x_2}}

→ 입력 x1,x2x_1,x_2를 주었을 때 y=1y=1일 확률이 얼마인지 예측

Softmax Regression

• 가중치 (W) : 각 클래스별로 가중치 존재
클래스 1 → 가중치 벡터 W1W_1 =[w1,1,w2,1][w_{1,1},w_{2,1}]
클래스 2 → 가중치 벡터 W2W_2 =[w1,2,w2,2][w_{1,2},w_{2,2}]
클래스 3 → 가중치 벡터 W2W_2 =[w1,3,w2,3][w_{1,3},w_{2,3}]

• 각 클래스에 대한 점수 계산
각 클래스 kk에 대한 점수 sk=WkX=w1,kx1+w2,kx2s_k = W_k^\top X= w_{1,k}x_1 + w_{2,k}x_2

• Softmax 함수로 확률 변환
모든 클래스에 대해 계산한 점수들을 확률로 바꿔,
각 클래스가 선택될 확률의 총합이 1이 되도록 정규화

Softmax(si)=esis=1Kesj\text{Softmax}(s_i) = \frac{e^{s_i}}{\sum_{s=1}^{K} e^{s_j}}

Linear Models

각 클래스 kk에 대해 입력 xx에 대한 선형 점수를 계산

결정 경계(Decision Boundary)

: 두 클래스의 예측 확률이 같아지는 경계면

로지스틱 회귀에서는
예측 확률= 0.5일 때, 두 클래스의 예측 확률이 같아지는 지점이므로
모델이 두 클래스를 구분하는 임계점으로 간주
p(y=1x)=0.5p(y=1∣x)=0.5가 되는 지점에서 결정 경계가 형성

p(y=1x)=σ(w1x+b1)p(y = 1 \mid x) = \sigma\left(w_1^\top x + b_1\right)이고,
σ(z)=0.5σ(z)=0.5가 되는 조건은 z=0z=0이므로

w1x+b1=0w_1^\top x + b_1=0 이 결정 경게

0개의 댓글