[python] 로지스틱 회귀 모델 설계와 훈련 방법

로지스틱 회귀(Logistic Regression)는 분류 문제에 사용되는 통계 기반의 회귀 모델입니다. 이 모델은 입력 변수의 선형 결합을 확률로 변환하여 범주형 클래스를 예측합니다.

모델 설계

로지스틱 회귀 모델은 선형 회귀 모델과 유사하게 입력 변수와 가중치의 선형 결합을 계산합니다. 다만, 로지스틱 함수 또는 시그모이드 함수를 사용하여 확률로 변환합니다. 시그모이드 함수는 아래와 같이 정의됩니다.

def sigmoid(z):
    return 1 / (1 + math.exp(-z))

이 함수를 사용하여 입력 변수와 가중치의 선형 결합을 확률로 변환하고, 이를 기반으로 클래스를 예측할 수 있습니다.

훈련 방법

로지스틱 회귀 모델을 훈련시키기 위해 일반적으로 최대 우도 추정(Maximum Likelihood Estimation)을 사용합니다. 이 방법은 손실 함수를 최소화하여 모델 파라미터를 조정하여 가장 가능도가 높은(class가 맞는) 모델을 찾습니다.

모델이 예측한 확률과 실제 레이블 간의 차이를 계산하는 손실 함수를 정의하고, 이 손실 함수를 최소화하는 방향으로 모델을 업데이트합니다.

로지스틱 회귀 모델의 파라미터 업데이트는 주로 경사 하강법(Gradient Descent)을 사용하여 수행됩니다. 경사 하강법은 손실 함수의 기울기를 활용하여 모델 파라미터를 조정합니다.

요약

로지스틱 회귀 모델은 분류 문제에 효과적으로 사용될 수 있는 통계 기반의 모델입니다. 이 모델은 입력 변수를 확률로 변환하여 클래스를 예측하며, 최대 우도 추정과 경사 하강법을 사용하여 훈련됩니다.

이상으로 로지스틱 회귀 모델 설계와 훈련 방법에 대한 소개를 마치도록 하겠습니다.

참고 자료