로지스틱 회귀 (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점)
로지스틱 회귀의 장점 #
- 확률 해석: 예측 결과를 확률로 해석할 수 있어 불확실성 정보 제공
- 선형성: 선형 모델로 해석이 간단하고 빠름
- 통계적 유의성: 각 특성의 통계적 유의성을 검정할 수 있음
- 정규화 효과: L1, L2 정규화를 쉽게 적용 가능
- 메모리 효율성: 모델 크기가 작고 예측이 빠름
- 과적합 저항성: 선형 모델로 과적합에 상대적으로 강함
로지스틱 회귀의 단점 #
- 선형 가정: 특성과 로그 오즈 간의 선형 관계를 가정
- 특성 공학 필요: 비선형 패턴을 위해서는 특성 변환이 필요
- 이상치 민감성: 이상치에 영향을 받을 수 있음
- 다중공선성: 독립변수 간 상관관계가 높으면 문제 발생
- 대용량 데이터: 매우 큰 데이터에서는 성능이 제한적일 수 있음
정규화 (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): 확률 예측의 정확도 측정
가정 확인 #
로지스틱 회귀를 사용하기 전에 다음 가정들을 확인해야 한다:
- 독립성: 관측값들이 서로 독립적
- 선형성: 독립변수와 로그 오즈 간 선형 관계
- 다중공선성 없음: 독립변수들 간 강한 상관관계 없음
- 이상치 없음: 극단적인 이상치 없음
- 충분한 표본 크기: 최소 특성당 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) 모델로 사용된다.