로지스틱 회귀 (Logistic Regression)

김승혁·2024년 11월 27일

로지스틱 회귀(Logistic Regression)는 이진 분류 문제에서 자주 사용되는 지도 학습 알고리즘입니다.

이름은 회귀지만, 주로 분류 문제를 해결합니다.

연속적인 입력 변수를 받아 범주형 출력을 예측합니다.




1. 수식


(1) 선형 결합

로지스틱 회귀는 먼저 입력 변수를 선형 결합합니다.

z=w1x1+w2x2++wnxn+b=wTx+bz = w_1 x_1 + w_2 x_2 + \cdots + w_n x_n + b = \mathbf{w}^T \mathbf{x} + b

여기서:

  • x=(x1,x2,,xn)\mathbf{x} = (x_1, x_2, \dots, x_n) : 입력 변수
  • w=(w1,w2,,wn)\mathbf{w} = (w_1, w_2, \dots, w_n) : 가중치
  • bb : 절편(바이어스)

(2) 시그모이드 함수

선형 결합 zz의 결과를 시그모이드 함수에 통과시켜 확률로 변환합니다.

σ(z)=11+ez\sigma(z) = \frac{1}{1 + e^{-z}}

이 값은 00에서 11 사이의 값을 가지며, 특정 클래스(예: 11)일 확률을 나타냅니다.


(3) 결정 규칙

확률 P(y=1x)=σ(z)P(y=1 | \mathbf{x}) = \sigma(z)를 기반으로 분류를 수행합니다.

  • P(y=1x)0.5P(y=1|\mathbf{x}) \geq 0.5이면 y=1y = 1
  • P(y=1x)<0.5P(y=1|\mathbf{x}) < 0.5이면 y=0y = 0



2. 손실 함수


로지스틱 회귀는 이항 크로스 엔트로피 손실(로그 손실)을 최소화하도록 모델을 학습시킵니다.


L(w,b)=1mi=1m[y(i)log(y^(i))+(1y(i))log(1y^(i))]L(\mathbf{w}, b) = - \frac{1}{m} \sum_{i=1}^m \left[ y^{(i)} \log(\hat{y}^{(i)}) + (1 - y^{(i)}) \log(1 - \hat{y}^{(i)}) \right]


여기서:

  • mm : 데이터의 개수
  • y(i)y^{(i)} : 실제 레이블
  • y^(i)=σ(z(i))\hat{y}^{(i)} = \sigma(z^{(i)}) : 예측 확률



3. 예제


(1) 데이터셋

공부 시간 x1x_1수면 시간 x2x_2합격 여부 yy
581
371
130
220
661

(2) 모델 학습

경사 하강법(Gradient Descent)을 사용하여 최적의 가중치와 절편을 찾습니다.

로지스틱 회귀 모델을 학습하면 w1=0.5w_1 = 0.5, w2=0.4w_2 = 0.4, b=2b = -2라고 가정합시다.


(3) 새로운 데이터 예측

x1=4x_1 = 4, x2=5x_2 = 5일 때 합격 여부를 예측합니다.

  1. 선형 결합:

    z=0.5×4+0.4×52=2z = 0.5 \times 4 + 0.4 \times 5 - 2 = 2

  2. 시그모이드 함수 적용:

    σ(2)=11+e20.88\sigma(2) = \frac{1}{1 + e^{-2}} \approx 0.88

  3. 결정:

    0.88>0.5y=10.88 > 0.5 \quad \Rightarrow \quad y = 1


즉, 이 학생은 합격할 확률이 88%이며, 합격할 것으로 예측됩니다.




4. 장점과 단점

장점

  • 구현이 간단하고 해석이 용이함.
  • 확률적 출력 제공.
  • 선형 분리 데이터에서 좋은 성능을 발휘.

단점

  • 선형 분리되지 않는 데이터에선 성능이 낮음.
  • 이상치에 민감.

※ 선형 분리가 되지 않는 데이터란

  • nn-차원 공간에서 직선(2D) 또는 초평면(3D)을 그려서 두 클래스를 나눌 수 없는 경우
profile
열심히 사는 척

0개의 댓글