카테고리 없음

[내일배움캠프] 로지스틱회귀가 뭔데요..... 세번 들어도 이해하기 어려운,,

blog63677 2026. 6. 26. 20:08

학습 내용

오늘은 범주형 데이터를 예측하는 로지스틱 회귀(Logistic Regression)분류 모델을 평가하는 방법을 배웠다.

기존의 선형회귀는 집값이나 키처럼 연속적인 숫자를 예측하는 데 적합하지만, 합격/불합격, 암/정상처럼 결과가 0 또는 1인 분류 문제에는 적합하지 않다. 선형회귀는 예측값이 1보다 크거나 0보다 작아질 수도 있기 때문이다.

예를 들어 시험 합격 확률을 예측한다고 했을 때, 선형회귀는 120%나 -30% 같은 말이 안 되는 확률을 예측할 수도 있다. 실제 확률은 반드시 0~1 사이여야 하므로 다른 방법이 필요하다.

그래서 등장한 것이 로지스틱 회귀이다.

로지스틱 회귀는 먼저 오즈(Odds)로짓(Logit) 이라는 개념을 이용한다.

  • 확률(P) : 어떤 사건이 일어날 가능성
  • 오즈(Odds) : 성공확률 ÷ 실패확률
  • 로짓(Logit) : 오즈에 로그를 취한 값

오즈는 확률이 커질수록 값이 너무 빠르게 증가하기 때문에 그대로 사용하기 어렵다. 그래서 로그를 씌워 증가 속도를 완만하게 만든 것이 로짓이다. 로짓은 직선 형태와 비슷해져 기존 선형회귀의 식을 적용할 수 있다.

이렇게 계산한 로짓 값을 다시 시그모이드(Sigmoid) 함수에 넣으면 항상 0~1 사이의 확률이 나온다.

즉,

  • X → 선형식 계산
  • 선형식 → 로짓 값
  • 로짓 → 시그모이드 함수
  • 최종적으로 0~1 사이의 확률 출력

이라는 흐름으로 동작한다.

예를 들어 고객의 나이와 구매 이력을 입력하면 "구매할 확률이 83%"처럼 결과를 얻을 수 있고, 보통 0.5 이상이면 1(구매), 미만이면 0(미구매) 로 분류한다.

또 하나 새롭게 이해한 부분은 가중치(w)의 의미였다.

식에서 (w_1)은 X가 결과에 얼마나 영향을 주는지를 나타낸다.

  • 양수이면 X가 커질수록 사건이 발생할 확률이 증가한다.
  • 음수이면 X가 커질수록 사건이 발생할 확률이 감소한다.
  • 절댓값이 클수록 영향력이 크다.

즉, 로지스틱 회귀도 결국 어떤 변수들이 결과에 얼마나 영향을 미치는지를 찾는 모델이라는 점은 선형회귀와 비슷했다.

추가로 다중 로지스틱 회귀도 배웠다.

단순 로지스틱 회귀는 하나의 변수만 사용하지만,

공부시간 → 합격 여부

처럼 하나의 X만 사용하는 반면,

다중 로지스틱 회귀는 여러 개의 변수를 함께 사용한다.

예를 들면

  • 공부시간
  • 출석률
  • 과제 제출률
  • 모의고사 점수

를 모두 이용해서 합격 여부를 예측하는 것이다.

식으로는

Logit = w₀ + w₁X₁ + w₂X₂ + w₃X₃ + ...

처럼 여러 변수의 영향을 모두 더해 하나의 확률을 계산한다.

실제 데이터 분석에서는 대부분 여러 요인이 함께 결과에 영향을 주기 때문에 단순 로지스틱 회귀보다 다중 로지스틱 회귀가 훨씬 많이 사용된다는 점도 알게 되었다.


분류 모델을 평가하는 방법도 배웠다.

처음에는 정확도(Accuracy) 만 높으면 좋은 모델이라고 생각했지만, 그렇지 않은 경우도 있다는 것을 알게 되었다.

예를 들어 환자 100명 중

  • 정상 95명
  • 암 환자 5명

이 있을 때,

모든 사람을 정상이라고 예측해도 정확도는 **95%**가 된다.

하지만 정작 암 환자는 한 명도 찾지 못했기 때문에 좋은 모델이라고 볼 수 없다.

이처럼 데이터가 한쪽으로 치우친 불균형 데이터(Imbalanced Data) 에서는 정확도만으로 모델을 평가하면 위험하다는 것을 이해했다.

그래서 사용하는 것이 혼동행렬(Confusion Matrix) 이다.

혼동행렬은 예측 결과를

  • TP : 실제 양성을 맞춤
  • FP : 실제 음성을 양성으로 잘못 예측
  • FN : 실제 양성을 음성으로 놓침
  • TN : 실제 음성을 맞춤

으로 나누어 모델이 어떤 실수를 했는지 확인할 수 있게 해준다.

이 값을 이용해 다음과 같은 평가 지표를 계산한다.

  • 정밀도(Precision) : 양성이라고 예측한 것 중 실제 양성의 비율
  • 재현율(Recall) : 실제 양성 중에서 찾아낸 비율
  • F1-Score : 정밀도와 재현율을 함께 고려한 지표
  • 정확도(Accuracy) : 전체 데이터 중 맞춘 비율

특히 의료 분야처럼 암 환자를 놓치면 큰 문제가 되는 경우에는 재현율이 중요하고,

스팸 메일처럼 정상 메일을 스팸으로 잘못 분류하면 안 되는 경우에는 정밀도가 더 중요하다는 점도 이해했다.

그리고 정밀도와 재현율은 서로 반대로 움직이는 경우가 많기 때문에 둘을 균형 있게 평가하는 F1-Score가 많이 사용된다는 것도 알게 되었다.

 

처음에는 오즈, 오즈비, 로짓이 각각 무엇인지 헷갈렸다. 모두 확률과 관련된 값이라 비슷하게 느껴졌지만, 확률을 선형적으로 표현하기 위해 중간 단계로 사용하는 개념이라는 흐름을 이해하고 나니 조금씩 정리되었다.

또 로지스틱 회귀인데 왜 회귀라는 이름을 사용하는지도 의문이었는데, 로짓 값 자체는 선형회귀처럼 직선 식으로 계산하기 때문에 붙은 이름이라는 점을 이해할 수 있었다.

 

이번 내용을 배우면서 단순히 모델을 사용하는 것보다 왜 이런 함수가 필요한지를 이해하는 것이 훨씬 중요하다는 것을 느꼈다.

또 정확도가 높다고 반드시 좋은 모델은 아니라는 점이 가장 인상 깊었다. 실제 서비스에서는 어떤 오류를 더 줄여야 하는지에 따라 평가 지표도 달라진다는 사실을 알게 되었고, 앞으로는 Accuracy만 보지 않고 Precision, Recall, F1-Score까지 함께 확인하는 습관을 가져야겠다고 생각했다.

오늘 배운 로지스틱 회귀는 이후 머신러닝 분류 모델들의 기본 개념이 되는 만큼, 시그모이드 함수와 혼동행렬의 의미를 충분히 복습해서 확실하게 이해해 두고 싶다.