스팸 메일 필터를 처음 만들 때 이런 생각을 했습니다. 메일이 스팸인지 아닌지 0 또는 1로 예측하면 되는데, 왜 굳이 확률로 표현해야 할까요. 그런데 생각해 보면 "이 메일은 스팸일 확률이 95%"가 "이 메일은 스팸이다"보다 훨씬 유용합니다. 95%면 스팸함으로 보내고, 60%면 한 번 더 확인하는 식으로 임계값을 조정할 수 있습니다.
로지스틱 회귀(Logistic Regression)는 이름에 회귀가 들어있지만 사실 분류 알고리즘입니다. 입력값을 받아서 0과 1 사이의 확률로 변환합니다. 선형 회귀에 시그모이드 함수를 붙인 구조인데, 이 단순한 조합이 MLE, 크로스 엔트로피 손실, 경사하강법과 모두 연결됩니다. 이 연재에서 다룬 개념들이 하나로 모이는 지점입니다. 실제 숫자로 따라가 보겠습니다.

왜 선형 회귀로 분류를 할 수 없는가
가장 단순한 분류 방법은 선형 회귀로 예측값을 구하고 0.5 이상이면 1, 미만이면 0으로 판단하는 겁니다. 그런데 이 방식에는 두 가지 문제가 있습니다.
선형 회귀 출력 = w·x + b
→ -∞ ~ +∞ 범위
→ 확률은 0~1 사이여야 하는데 불가능
예시:
공부 시간 x=10시간 → 예측값 1.8 (확률이 1.8?)
공부 시간 x=-2시간 → 예측값 -0.3 (확률이 -0.3?)
문제 2. 이상치에 취약:
정상 데이터: x=[1,2,3,4,5], y=[0,0,1,1,1]
선형 회귀 결정 경계: x=3.5 근처
이상치 추가: x=100, y=1
선형 회귀 직선이 크게 기울어짐
결정 경계가 x=5 이상으로 이동
→ 기존 데이터 분류 망가짐
해결책:
선형 회귀 출력을 0~1 범위로 압축
→ 시그모이드 함수
이상치 하나가 결정 경계를 크게 바꾸는 문제는 MSE 손실 함수 특성 때문입니다. 이상치의 오차 제곱이 크게 반영되기 때문입니다. 로지스틱 회귀는 이 문제를 크로스 엔트로피 손실로 해결합니다.
시그모이드 함수 — 어떤 값이든 확률로 변환하기
시그모이드(Sigmoid) 함수는 어떤 실수 값이든 0과 1 사이로 압축합니다. S자 형태의 곡선입니다.
σ(z) = 1 / (1 + e^(-z))
주요 성질:
σ(0) = 0.500 (중간값)
σ(1) = 0.731
σ(2) = 0.880
σ(5) = 0.993
σ(10) = 0.9999
σ(-1) = 0.269
σ(-5) = 0.007
σ(-10) = 0.0001
z → +∞: σ(z) → 1
z → -∞: σ(z) → 0
z = 0: σ(z) = 0.5
미분:
σ'(z) = σ(z) × (1 - σ(z))
최대 미분값: z=0에서 0.25
→ 기울기 소실 문제의 원인 (역전파 글 참고)
시그모이드의 출력을 확률로 해석할 수 있는 수학적 근거가 있습니다. 베이즈 정리를 적용하면 로그 오즈(Log-Odds)가 선형 함수일 때 사후 확률이 시그모이드 형태가 됩니다. 이전 글에서 다룬 베이즈 정리가 로지스틱 회귀의 이론적 기반입니다.

로지스틱 회귀의 수식과 결정 경계
로지스틱 회귀는 선형 회귀 출력에 시그모이드를 적용합니다.
z = w₁x₁ + w₂x₂ + ... + wₙxₙ + b = w·x + b
P(y=1|x) = σ(z) = 1/(1+e^(-z))
분류 규칙:
P(y=1|x) ≥ 0.5 → 클래스 1 예측
P(y=1|x) < 0.5 → 클래스 0 예측
결정 경계 (Decision Boundary):
σ(z) = 0.5일 때 → z = 0
w·x + b = 0 이 결정 경계
예시 (2개 변수):
z = 2x₁ - x₂ + 1
결정 경계: 2x₁ - x₂ + 1 = 0
→ x₂ = 2x₁ + 1 (직선)
결정 경계 위쪽 (z>0): P>0.5 → 클래스 1
결정 경계 아래쪽 (z<0): P<0.5 → 클래스 0
임계값 조정:
기본값 0.5 → 정밀도와 재현율 균형
0.3으로 낮추면 → 재현율 높아짐 (암 검진 등)
0.7으로 높이면 → 정밀도 높아짐 (스팸 필터 등)
결정 경계가 선형이라는 게 로지스틱 회귀의 가장 큰 한계입니다. XOR 같은 비선형 문제는 분류할 수 없습니다. SVM의 커널 트릭처럼 특성을 변환하거나, 신경망으로 비선형 결정 경계를 만들어야 합니다.

손실 함수 — 왜 크로스 엔트로피를 쓰는가
로지스틱 회귀에서 MSE 대신 크로스 엔트로피 손실을 쓰는 데는 수학적 이유가 있습니다. MLE 관점에서 유도하면 자연스럽게 크로스 엔트로피가 나옵니다.
P(y=1|x) = σ(w·x+b) = p̂
P(y=0|x) = 1 - σ(w·x+b) = 1-p̂
하나의 데이터 포인트 가능도:
L(w|x,y) = p̂^y × (1-p̂)^(1-y)
y=1이면: L = p̂¹ × (1-p̂)⁰ = p̂
y=0이면: L = p̂⁰ × (1-p̂)¹ = 1-p̂
전체 데이터 로그 가능도:
log L = Σ[y×log(p̂) + (1-y)×log(1-p̂)]
최대화 = 음의 최소화:
손실 = -Σ[y×log(p̂) + (1-y)×log(1-p̂)]
→ 이진 크로스 엔트로피!
MSE를 쓰면 안 되는 이유:
시그모이드 + MSE → 비볼록 함수
→ 지역 최솟값 존재 → 경사하강법 수렴 불안정
크로스 엔트로피 + 시그모이드 → 볼록 함수
→ 전역 최솟값 하나 → 안정적 수렴 보장
MLE로 유도하면 크로스 엔트로피가 자연스럽게 나옵니다. 이 연재에서 다룬 MLE, 엔트로피, 크로스 엔트로피가 로지스틱 회귀 손실 함수 하나에 모두 연결됩니다.
실제 숫자로 로지스틱 회귀 계산해보기
스팸 메일 분류 예시입니다. 특성이 2개(단어 수 x₁, 링크 수 x₂)이고 가중치 w=[0.5, 0.8], 편향 b=-2입니다.
z = 0.5×10 + 0.8×1 - 2 = 5+0.8-2 = 3.8
P(스팸) = σ(3.8) = 1/(1+e^(-3.8)) ≈ 0.978
→ 스팸 확률 97.8% → 스팸으로 분류
실제 정답: y=1 (스팸)
손실 = -[1×log(0.978) + 0×log(0.022)]
= -log(0.978) = 0.022 ← 손실 작음
메일 B (정상): x₁=5, x₂=0
z = 0.5×5 + 0.8×0 - 2 = 2.5-2 = 0.5
P(스팸) = σ(0.5) ≈ 0.622
→ 스팸 확률 62.2% → 스팸으로 분류
실제 정답: y=0 (정상)
손실 = -[0×log(0.622) + 1×log(0.378)]
= -log(0.378) = 0.973 ← 손실 큼
기울기 계산 (메일 B):
∂L/∂w₁ = (P(스팸) - y) × x₁
= (0.622 - 0) × 5 = 3.11
∂L/∂w₂ = (0.622 - 0) × 0 = 0.0
가중치 업데이트 (학습률 0.1):
w₁ = 0.5 - 0.1×3.11 = 0.189
w₂ = 0.8 - 0.1×0.0 = 0.8
로지스틱 회귀의 기울기 공식이 단순합니다. (예측값 - 실제값) × 입력값입니다. 시그모이드와 크로스 엔트로피의 수학적 조합이 이 깔끔한 기울기를 만들어냅니다. 역전파 글에서 다룬 연쇄법칙으로 유도하면 이 결과가 나옵니다.
다중 클래스 분류 — 소프트맥스로 확장하기
로지스틱 회귀는 이진 분류입니다. 클래스가 3개 이상이면 소프트맥스(Softmax)로 확장합니다. 각 클래스에 대한 확률을 동시에 계산하고 합이 1이 되도록 정규화합니다.
P(y=k|x) = e^(zₖ) / Σⱼ e^(zⱼ)
3개 클래스 예시 (고양이/개/새):
z = [2.0, 1.0, 0.5]
e^2.0 = 7.389
e^1.0 = 2.718
e^0.5 = 1.649
합계 = 11.756
P(고양이) = 7.389/11.756 = 0.628
P(개) = 2.718/11.756 = 0.231
P(새) = 1.649/11.756 = 0.140
합계 = 1.000 ✅
예측: 고양이 (가장 높은 확률)
손실 (카테고리칼 크로스 엔트로피):
정답이 고양이(y=[1,0,0])일 때:
L = -[1×log(0.628) + 0×log(0.231) + 0×log(0.140)]
= -log(0.628) = 0.465
→ 딥러닝 분류 모델 마지막 층이
→ 소프트맥스 + 크로스 엔트로피인 이유
소프트맥스가 시그모이드의 일반화입니다. 클래스가 2개일 때 소프트맥스를 적용하면 시그모이드와 동일한 결과가 나옵니다. 딥러닝 분류 모델의 출력층이 항상 소프트맥스인 이유가 여기 있습니다.

로지스틱 회귀의 장단점과 실무 활용
로지스틱 회귀는 단순하지만 실무에서 여전히 강력합니다.
| 항목 | 내용 |
|---|---|
| 장점 1 | 확률 출력 — 단순 분류가 아닌 신뢰도 제공 |
| 장점 2 | 해석 가능 — 가중치로 각 변수의 영향력 파악 |
| 장점 3 | 학습 빠름 — 볼록 함수라 전역 최솟값 보장 |
| 장점 4 | 데이터 적어도 됨 — 딥러닝보다 훨씬 적은 데이터 |
| 단점 1 | 선형 결정 경계 — 비선형 패턴 학습 불가 |
| 단점 2 | 다중공선성에 취약 — 변수 간 상관관계 높으면 불안정 |
| 실무 활용 | 스팸 필터, 질병 진단, 신용 평가, 클릭률 예측 |
의료와 금융에서 로지스틱 회귀가 딥러닝보다 선호되는 경우가 많습니다. "왜 이 환자가 고위험으로 분류됐는가"를 가중치로 설명할 수 있기 때문입니다. XAI 글에서 다룬 해석 가능성 문제를 로지스틱 회귀는 구조적으로 해결합니다.
이 연재에서 다룬 선형 회귀, 시그모이드, MLE, 크로스 엔트로피, 경사하강법, 역전파, 소프트맥스가 로지스틱 회귀 하나에 모두 들어있습니다. 딥러닝의 출력층이 결국 로지스틱 회귀입니다. 수십 개의 레이어를 쌓아도 마지막은 소프트맥스 + 크로스 엔트로피, 즉 다중 클래스 로지스틱 회귀입니다.
'데이터 과학 수학' 카테고리의 다른 글
| 주가와 날씨는 어떻게 예측하는가, 시계열 데이터와 LSTM의 수학적 원리 (0) | 2026.05.02 |
|---|---|
| 딥러닝 학습을 안정시키는 두 가지 기법, 배치 정규화(Batch Normalization)와 드롭아웃의 수학 (0) | 2026.05.01 |
| torch.optim.Adam 한 줄 뒤에 숨겨진 수학, 모멘텀·RMSProp·Adam 최적화 알고리즘의 원리 (0) | 2026.04.30 |
| ChatGPT는 단어를 어떻게 이해하는가, 임베딩(Embedding)과 벡터 공간의 수학 (0) | 2026.04.29 |
| ChatGPT는 어떻게 문맥을 이해하는가, 트랜스포머(Transformer)와 어텐션 메커니즘의 수학 (0) | 2026.04.28 |