로지스틱 회귀

로지스틱 회귀 (Logistic Regression) #

로지스틱 회귀(Logistic Regression)는 선형 회귀를 분류 문제에 적용할 수 있도록 확장한 통계적 기계학습 알고리즘이다. 이름에 “회귀"가 들어있지만 실제로는 분류 알고리즘으로, 시그모이드 함수를 사용하여 입력 데이터가 특정 클래스에 속할 확률을 예측한다.

로지스틱 회귀의 기본 개념 #

로지스틱 회귀는 선형 회귀의 출력값을 0과 1 사이의 확률값으로 변환하여 분류 문제를 해결한다. 핵심은 시그모이드(sigmoid) 함수 또는 로지스틱 함수를 사용하는 것이다.

시그모이드 함수 #

$$\sigma(z) = \frac{1}{1 + e^{-z}}$$

여기서 z는 선형 결합식이다:

$$z = \beta_0 + \beta_1 x_1 + \beta_2 x_2 + ... + \beta_n x_n$$

로지스틱 회귀의 수학적 원리 #

1. 오즈(Odds)와 로그 오즈(Log Odds) #

오즈(Odds): 어떤 사건이 발생할 확률과 발생하지 않을 확률의 비율

$$\text{Odds} = \frac{P(Y=1)}{P(Y=0)} = \frac{P(Y=1)}{1-P(Y=1)}$$

로그 오즈(Log Odds) 또는 로짓(Logit):

$$\text{logit}(p) = \ln\left(\frac{p}{1-p}\right) = \beta_0 + \beta_1 x_1 + ... + \beta_n x_n$$

2. 최대우도추정법 (Maximum Likelihood Estimation) #

로지스틱 회귀의 계수는 최대우도추정법을 통해 구한다:

$$L(\beta) = \prod_{i=1}^{n} p_i^{y_i}(1-p_i)^{1-y_i}$$

여기서 $p_i = \sigma(\beta^T x_i)$이고, $y_i$는 실제 클래스 레이블이다.

로지스틱 회귀의 종류 #

1. 이진 로지스틱 회귀 (Binary Logistic Regression) #

  • 두 개의 클래스를 분류 (예: 스팸/정상, 합격/불합격)
  • 가장 기본적이고 널리 사용되는 형태

2. 다항 로지스틱 회귀 (Multinomial Logistic Regression) #

  • 3개 이상의 클래스를 분류
  • 소프트맥스 함수를 사용하여 확장

3. 순서형 로지스틱 회귀 (Ordinal Logistic Regression) #

  • 클래스 간에 순서가 있는 경우 (예: 평점 1-5점)

로지스틱 회귀의 장점 #

  1. 확률 해석: 예측 결과를 확률로 해석할 수 있어 불확실성 정보 제공
  2. 선형성: 선형 모델로 해석이 간단하고 빠름
  3. 통계적 유의성: 각 특성의 통계적 유의성을 검정할 수 있음
  4. 정규화 효과: L1, L2 정규화를 쉽게 적용 가능
  5. 메모리 효율성: 모델 크기가 작고 예측이 빠름
  6. 과적합 저항성: 선형 모델로 과적합에 상대적으로 강함

로지스틱 회귀의 단점 #

  1. 선형 가정: 특성과 로그 오즈 간의 선형 관계를 가정
  2. 특성 공학 필요: 비선형 패턴을 위해서는 특성 변환이 필요
  3. 이상치 민감성: 이상치에 영향을 받을 수 있음
  4. 다중공선성: 독립변수 간 상관관계가 높으면 문제 발생
  5. 대용량 데이터: 매우 큰 데이터에서는 성능이 제한적일 수 있음

정규화 (Regularization) #

1. L1 정규화 (Lasso) #

$$J(\beta) = -\log L(\beta) + \lambda \sum_{j=1}^{n} |\beta_j|$$
  • 특성 선택 효과 (일부 계수를 0으로 만듦)
  • 희소한 모델 생성

2. L2 정규화 (Ridge) #

$$J(\beta) = -\log L(\beta) + \lambda \sum_{j=1}^{n} \beta_j^2$$
  • 계수 크기 제한
  • 다중공선성 문제 완화

3. Elastic Net #

L1과 L2 정규화를 결합한 방법

성능 평가 지표 #

1. 분류 성능 #

  • 정확도(Accuracy): 전체 예측 중 맞춘 비율
  • 정밀도(Precision): 양성으로 예측한 것 중 실제 양성 비율
  • 재현율(Recall): 실제 양성 중 양성으로 예측한 비율
  • F1 점수: 정밀도와 재현율의 조화평균

2. 확률 기반 평가 #

  • ROC-AUC: 수신기 조작 특성 곡선 아래 면적
  • PR-AUC: 정밀도-재현율 곡선 아래 면적
  • 로그 손실(Log Loss): 확률 예측의 정확도 측정

가정 확인 #

로지스틱 회귀를 사용하기 전에 다음 가정들을 확인해야 한다:

  1. 독립성: 관측값들이 서로 독립적
  2. 선형성: 독립변수와 로그 오즈 간 선형 관계
  3. 다중공선성 없음: 독립변수들 간 강한 상관관계 없음
  4. 이상치 없음: 극단적인 이상치 없음
  5. 충분한 표본 크기: 최소 특성당 10-20개 관측값

실제 적용 예시 #

1. 의료 분야 #

  • 질병 진단 예측
  • 치료 반응성 예측
  • 생존 분석

2. 마케팅 #

  • 고객 구매 확률 예측
  • 이메일 마케팅 응답률 예측
  • 고객 이탈 예측

3. 금융 #

  • 신용 위험 평가
  • 대출 승인 예측
  • 사기 거래 탐지

4. 웹 분석 #

  • 클릭률 예측
  • 전환율 예측
  • A/B 테스트 분석

다른 알고리즘과의 비교 #

vs 선형 SVM #

  • 로지스틱 회귀: 확률적 출력, 모든 데이터 포인트 고려
  • 선형 SVM: 결정 경계만 집중, 서포트 벡터만 중요

vs 나이브 베이즈 #

  • 로지스틱 회귀: 특성 간 상관관계 고려
  • 나이브 베이즈: 특성 독립성 가정

vs 의사결정나무 #

  • 로지스틱 회귀: 선형 결정 경계, 확률적 해석
  • 의사결정나무: 비선형 결정 경계, 규칙 기반 해석

구현 시 고려사항 #

1. 데이터 전처리 #

  • 스케일링: 특성들의 스케일 통일 (StandardScaler, MinMaxScaler)
  • 범주형 변수: 원핫 인코딩 또는 라벨 인코딩
  • 결측치 처리: 평균, 중앙값 대체 또는 결측치 표시 변수

2. 특성 공학 #

  • 다항식 특성: 비선형 관계 모델링
  • 상호작용 항: 특성 간 상호작용 효과
  • 특성 선택: 통계적 유의성 또는 정규화 기반

3. 하이퍼파라미터 튜닝 #

  • 정규화 강도(C): 과적합-과소적합 균형
  • 반복 횟수(max_iter): 수렴을 위한 충분한 반복
  • 솔버(solver): 데이터 크기와 문제 유형에 맞는 최적화 알고리즘

해석 방법 #

1. 계수 해석 #

  • 양수 계수: 해당 특성이 증가하면 양성 클래스 확률 증가
  • 음수 계수: 해당 특성이 증가하면 양성 클래스 확률 감소
  • 계수 크기: 영향력의 상대적 크기

2. 오즈비 (Odds Ratio) #

$$\text{Odds Ratio} = e^{\beta_i}$$
  • 특성이 한 단위 증가할 때 오즈의 변화 비율

3. 부분 의존성 플롯 #

  • 특정 특성이 예측 확률에 미치는 영향 시각화

로지스틱 회귀는 해석 가능성과 성능의 균형이 잘 잡힌 알고리즘으로, 특히 비즈니스 환경에서 의사결정을 설명해야 하는 경우에 매우 유용하다. 단순하면서도 강력한 성능을 제공하여 많은 실무 프로젝트에서 기준점(baseline) 모델로 사용된다.