머신러닝을 공부하다 보면 자연스럽게 이런 의문이 생깁니다. 선형 회귀로 연속적인 값을 예측할 수 있다면
분류 문제는 어떻게 풀어야 할까? 그리고 왜 하필 이름이 "회귀"인데 분류에 쓰이는 걸까?
지난 글에서 선형 회귀의 구조와 계수의 의미를 다뤘습니다. 오늘은 그 연장선에서, 분류 문제를 확률로 접근하는 모델인 로지스틱 회귀를 정리해보겠습니다 🙂
1. 로지스틱 회귀의 구조

로지스틱 회귀는 입력값(X)을 받아 특정 클래스에 속할 확률(P)을 출력하는 모델입니다. 출력값은 0과 1 사이의 확률값입니다.
P(Y=1|X) ∈ [0, 1]
구조는 다음과 같습니다.
입력 데이터(X) → 선형 결합 → 시그모이드 함수 → 확률값(P) → 분류 결과
핵심은 선형 회귀의 출력값을 그대로 쓰지 않고, 시그모이드 함수를 통과시켜 확률로 변환한다는 점입니다.
1.1 이름이 회귀인 이유
로지스틱 회귀는 분류 모델이지만 이름에 "회귀"가 붙습니다. 그 이유는 내부적으로 선형 회귀와 동일한 선형 결합을 사용하기 때문입니다.
z = w₁x₁ + w₂x₂ + ... + wₙxₙ + b
다만 이 z값을 그대로 출력하지 않고, 시그모이드 함수를 통해 0과 1 사이의 확률값으로 변환합니다. 이 변환 과정이 "로지스틱"이고, 선형 결합 부분이 "회귀"입니다.
1.2 선형 회귀와의 구조적 차이
선형 회귀는 출력값이 실수 전체 범위(ℝ)입니다.
로지스틱 회귀는 출력값이 0과 1 사이의 확률값입니다.
출력 구조가 달라지는 이유는 해결하려는 문제의 형태가 다르기 때문입니다.
선형 회귀 → 연속값 예측 (얼마나?)
로지스틱 회귀 → 범주 예측 (어느 쪽?)
2. 시그모이드 함수: 선형을 확률로 바꾸는 방법
시그모이드 함수(Sigmoid Function)는 어떤 실수값이든 0과 1 사이로 압축합니다.
σ(z) = 1 / (1 + e⁻ᶻ)
2.1 시그모이드 함수의 특성
z가 매우 크면 → σ(z) ≈ 1 (확실히 양성)
z가 0이면 → σ(z) = 0.5 (불확실)
z가 매우 작으면 → σ(z) ≈ 0 (확실히 음성)
이 특성 덕분에 모델의 출력을 "이 데이터가 클래스 1에 속할 확률"로 자연스럽게 해석할 수 있습니다.
2.2 결정 경계 (Decision Boundary)
로지스틱 회귀는 확률값을 기준으로 최종 클래스를 결정합니다. 일반적으로 임계값(threshold)은 0.5를 사용합니다.
P ≥ 0.5 → 클래스 1 (양성)
P < 0.5 → 클래스 0 (음성)
여기서 중요한 포인트가 있습니다. 임계값은 항상 0.5일 필요가 없습니다. 예를 들어 암 진단 모델이라면 놓치는 경우(False Negative)가 치명적이므로, 임계값을 0.3으로 낮춰 민감도를 높이는 전략을 선택할 수 있습니다. 임계값 설정 자체가 하나의 중요한 비즈니스 의사결정입니다.
3. Odds와 Log-Odds: 로지스틱 회귀의 수학적 배경
로지스틱 회귀를 제대로 이해하려면 Odds와 Log-Odds 개념을 알아야 합니다.
3.1 Odds란
Odds는 어떤 사건이 일어날 확률과 일어나지 않을 확률의 비율입니다.
Odds = P / (1 - P)
예를 들어 합격 확률이 0.8이라면
Odds = 0.8 / 0.2 = 4
"합격할 가능성이 불합격보다 4배 높다"고 해석합니다.
3.2 Log-Odds (Logit)
Odds에 자연로그를 취한 값입니다.
Log-Odds = ln(P / (1 - P))
로지스틱 회귀는 이 Log-Odds를 선형 결합으로 모델링합니다.
ln(P / (1 - P)) = w₁x₁ + w₂x₂ + ... + b
이 수식이 바로 로지스틱 회귀의 핵심입니다. 선형 회귀처럼 생긴 우변이 실제로는 확률의 로그 오즈를 예측하고 있습니다. 계수 w의 해석도 달라집니다. "x가 1 증가할 때 Log-Odds가 w만큼 변한다"는 의미입니다.
4. 손실 함수: MSE 대신 Cross-Entropy를 쓰는 이유
선형 회귀는 MSE(평균 제곱 오차)를 손실 함수로 사용합니다. 그런데 로지스틱 회귀는 왜 MSE를 쓰지 않을까요?
4.1 MSE의 한계
로지스틱 회귀에 MSE를 사용하면 손실 함수가 볼록(convex)하지 않아 경사하강법이 전역 최솟값(Global Minimum)을 찾지 못하고 국소 최솟값(Local Minimum)에 빠질 수 있습니다.
4.2 Cross-Entropy Loss
로지스틱 회귀는 Cross-Entropy(교차 엔트로피)를 손실 함수로 사용합니다.
Loss = -[y·log(P) + (1-y)·log(1-P)]
y = 1일 때 → -log(P) : P가 1에 가까울수록 손실 감소
y = 0일 때 → -log(1-P) : P가 0에 가까울수록 손실 감소
Cross-Entropy는 볼록 함수이기 때문에 경사하강법으로 항상 전역 최솟값을 찾을 수 있습니다. 이것이 MSE 대신 Cross-Entropy를 쓰는 근본적인 이유입니다.
5. 다중 분류로의 확장
로지스틱 회귀는 기본적으로 이진 분류(Binary Classification) 모델입니다. 클래스가 3개 이상인 경우에는 어떻게 확장할까요?
5.1 One-vs-Rest (OvR)
클래스가 n개일 때 n개의 이진 분류기를 학습합니다. 각 분류기는 "해당 클래스 vs 나머지 전체"를 구분합니다. 예측 시 가장 높은 확률을 출력한 분류기의 클래스를 선택합니다.
5.2 Softmax 회귀 (Multinomial Logistic Regression)
시그모이드 대신 Softmax 함수를 사용해 모든 클래스에 대한 확률을 동시에 계산합니다. 모든 클래스의 확률 합이 1이 되도록 정규화합니다.
P(Y=k|X) = e^(zk) / Σe^(zj)
딥러닝의 분류 모델 마지막 레이어에 Softmax가 사용되는 이유가 바로 이것입니다.
정리
로지스틱 회귀는 단순한 분류기가 아닙니다.
- 이름에 "회귀"가 붙은 이유: 내부적으로 선형 결합을 사용하기 때문
- 시그모이드 함수를 통해 확률값으로 변환
- 계수는 Log-Odds의 변화량을 의미
- Cross-Entropy를 손실 함수로 사용하는 이유: 볼록 함수이기 때문
- 임계값 설정은 단순한 기술적 선택이 아닌 비즈니스 의사결정
이 다섯 가지가 면접에서 로지스틱 회귀를 설명할 때 다른 사람과 차별화되는 포인트입니다.
다음 글에서는 결정 트리를 다뤄보겠습니다.
모델이 어떤 기준으로 스스로 질문을 설계하는지, 그 구조적 원리를 살펴볼게요 🙂
'AI & ML > ML' 카테고리의 다른 글
| [머신러닝] 랜덤 포레스트: 나무가 많아지면 왜 더 강해지는가 (0) | 2026.05.24 |
|---|---|
| [머신러닝] 결정 트리: 모델이 스스로 질문을 만드는 방법 (0) | 2026.05.06 |
| [머신러닝] 선형 회귀: 가장 단순한 모델의 작동 원리 (0) | 2026.04.26 |
| [머신러닝] 지도학습(회귀모델 vs 분류모델) (3) | 2026.02.17 |
| [머신러닝] 지도학습과 비지도학습의 구조적 차이 (0) | 2026.02.17 |
HELLO WORLD
안녕하세요. 데이터로 말하는 분석가 모모입니다.
데이터를 구조화하고 분석하는 과정과 실무에 활용되는 도구 중심의 내용을 기록합니다.