로지스틱 회귀와 시그모이드 함수

40 P
QUESTION 01 #342
분류 모델은 결과를 0과 1 사이의 확률로 변환해야 합니다. 선형 식의 결과를 확률로 바꿔주는 함수와 그 목적을 완성하세요.
main.py
import math

def sigmoid(z):
    # 선형 결과(z)를 0~1 사이의 확률값으로 변환
    return 1 / (1 + math.exp())

score = 2.5 # 모델의 계산 결과
probability = sigmoid(score)

print(f"합격 확률: {probability:.2f}")
# 이처럼 결과를 이진 분류로 만드는 알고리즘을  회귀라고 합니다.
실행 결과 예시
-z, 로지스틱
INTERACTIVE SHELL Shift + Enter 로 즉시 실행

📉 왜 선형 회귀가 아닌 로지스틱 회귀인가요?

일반적인 선형 회귀($y = wx + b$)는 결과값이 무한히 커지거나 작아질 수 있어 "합격/불합격" 같은 분류에 적합하지 않습니다.

  • 시그모이드(Sigmoid): $z$값이 아무리 커도 1에 수렴하고, 아무리 작아도 0에 수렴하게 만듭니다.
  • 판단: 결과가 0.8이 나오면 "80%의 확률로 합격"이라고 판단할 수 있는 근거가 됩니다.

이것이 바로 인공지능이 "예/아니오"를 결정하는 수학적 마법의 시작입니다.