Logistic Regression, 차로 만들어서: ML Basics 뜨겁게 제공
Source: Dev.to
로지스틱 회귀란?
로지스틱 회귀는 예/아니오 결과를 예측하는 간단한 머신러닝 알고리즘입니다.
작은 차(茶) 가게를 운영하면서 지나가는 사람이 차를 살지 예측하고 싶다고 상상해 보세요.
고려할 수 있는 특징들:
- 시간대
- 날씨
- 그 사람이 피곤해 보이는지 여부
- 급히 가는지 여부
로지스틱 회귀는 이러한 특징들을 0과 1 사이의 확률로 변환합니다. 예를 들어 “차를 살 확률이 70 %입니다.”와 같이요.
1. 비용 함수 — 얼마나 틀렸는지 측정
비용 함수는 모델의 예측과 실제 사이의 차이를 정량화합니다.
- 비용이 낮을수록 → 모델이 더 좋음.
차 비유
100명의 사람이 차를 살지 여부를 맞춘다고 할 때:
- 정확한 추측 → 낮은 비용
- 자주 틀린 추측 → 높은 비용
모델은 이 비용을 최소화하려고 학습합니다.
2. 로지스틱 손실 (Log‑Loss / Binary Cross‑Entropy)
로지스틱 회귀는 확률을 예측하기 때문에 단순 오류 개수 대신 로지스틱 손실을 사용합니다. 확신을 가지고 틀린 예측에 대해 더 큰 벌점을 부여합니다.
차 비유
- 구매 확률을 **90 %**로 예측했지만 실제로는 사지 않음 → 큰 벌점
- 구매 확률을 **55 %**로 예측했지만 사지 않음 → 작은 벌점
로지스틱 손실은 현실적인 확률 추정을 장려합니다.
3. 경사 하강법 — 모델이 배우는 방법
경사 하강법은 비용 함수를 최소화하도록 모델 파라미터를 반복적으로 조정하는 최적화 방법입니다.
비유
안개 낀 언덕에 서서 경사를 느끼며 작은 걸음으로 내려가는 모습을 떠올려 보세요. 각 걸음마다 고도(비용)가 낮아져 최저점에 도달합니다.
차 예시
최적의 차 가격을 찾는 과정:
- ₹20 → 구매자 적음
- ₹10 → 구매자 많음
- ₹8 → 더 많은 구매자
- ₹6 → 너무 낮아 이익 감소
작은 조정을 계속하면서 최적점을 찾게 됩니다. 경사 하강법도 모델 가중치를 같은 방식으로 점진적으로 업데이트합니다.
4. 과적합 문제 — 모델이 “너무 똑똑해질 때”
과적합은 모델이 일반적인 패턴을 배우기보다 훈련 데이터를 그대로 외워버릴 때 발생합니다.
차 비유
100명의 고객 중 빨간 셔츠를 입은 사람 한 명만 차를 샀다고 가정합니다.
과적합된 모델은 “빨간 셔츠 = 항상 차 구매”라고 학습하게 되는데, 이는 잡음에 지나치게 집중한 것입니다.
증상
- 훈련 데이터에서는 뛰어난 성능
- 새로운, 보지 못한 데이터에서는 성능 저하
5. 과적합 방지 방법
일반적인 전략:
- 데이터를 더 많이 사용
- 모델을 단순화
- 정규화 적용 (특히 로지스틱 회귀에서 중요)
6. 정규화 — 모델을 현실에 맞게 유지
정규화는 비용 함수에 벌점 항을 추가해 모델이 무관한 특징에 과도한 중요도를 부여하지 않도록 합니다.
차 비유
신발 브랜드, 휴대폰 색상, 가방 무게, 머리 길이 같은 사소한 세부 정보를 추적하기 시작하면 모델이 과적합될 수 있습니다. 정규화는 이런 잡음 특징을 무시하고 날씨, 시간, 피곤함 같은 의미 있는 특징에 집중하도록 알려줍니다.
7. 정규화된 로지스틱 회귀 — 더 똑똑한 비용 함수
정규화된 비용 함수는 다음과 같습니다:
Total Cost = Logistic Loss + Regularization Penalty
정규화 종류
- L1 (라쏘): 쓸모없는 특징 가중치를 0으로 만들 수 있음.
- L2 (릿지): 특징 가중치를 부드럽게 축소함.
차 예시
정규화는 모델이 다음과 같은 규칙을 학습하려 할 때 벌점을 부과합니다:
- “빨간 셔츠는 항상 차를 산다”
- “검은 신발은 차를 거의 사지 않는다”
이를 통해 모델이 일반화 가능하고 안정적으로 유지됩니다.
결론
차 가게라는 친숙한 상황을 통해 로지스틱 회귀의 핵심 아이디어인 비용 함수, 로지스틱 손실, 경사 하강법, 과적합, 정규화를 살펴보았습니다. 이 개념들은 대부분의 머신러닝 알고리즘의 기반이 됩니다.