새 프로젝트에서 "고객이 이탈할지 예측해줘"라는 요구를 받으면, ML 엔지니어가 가장 먼저 할 일은 코드 작성이 아니라 이게 무슨 종류의 문제인가를 판별하는 것이다. 문제 유형을 잘못 짚으면 그 뒤 알고리즘·지표 선택이 전부 어긋난다.
ML 알고리즘은 "무엇으로부터 배우는가"에 따라 세 갈래로 나뉜다.
학습 방식
학습 신호
대표 문제
AWS 빌트인 예
지도 학습 (Supervised)
정답 라벨
분류, 회귀
XGBoost, Linear Learner
비지도 학습 (Unsupervised)
없음 (구조 발견)
군집, 차원 축소, 이상탐지
K-Means, PCA, RCF
강화 학습 (Reinforcement)
보상(reward)
순차적 의사결정
SageMaker RL
판별은 단순하다.
"고객 이탈 예측" → 과거 이탈 여부(라벨)가 있다 → 지도 학습
"고객을 비슷한 그룹으로 묶기" → 정답 그룹이 없다 → 비지도(군집)
"게임 에이전트가 점수를 최대화" → 시행착오와 보상 → 강화 학습
지도 학습은 입력 X에서 출력 Y로의 함수 f(X)=Y를 근사하는 문제다. 라벨링 비용이 비싸기 때문에 실무에서는 적은 라벨로 학습하는 준지도 학습(semi-supervised)이나, 데이터 자체에서 라벨을 만들어내는 자기지도 학습(self-supervised, 대규모 언어모델의 학습 방식)이 중요해졌다. AWS SageMaker Ground Truth가 라벨링을 자동화·외주화하는 서비스인 이유가 이 라벨 비용 문제 때문이다.
같은 XGBoost라도 objective 하이퍼파라미터 하나로 분류와 회귀가 갈린다. 문제 유형을 잘못 판별하면 여기서부터 어긋난다.
분류라도 출력이 "확률"인지 "라벨"인지 구분해야 한다. binary:logistic은 0~1 확률을 반환하고, 이를 라벨로 바꾸려면 임계값(threshold)이 필요하다. 기본 0.5지만, 이탈 고객을 놓치면 안 되는 비즈니스라면 임계값을 낮춰 더 많은 사람을 "이탈 위험"으로 분류한다. 임계값 조정이 바로 다음에 볼 정밀도-재현율 트레이드오프의 핵심이다.
정확도(Accuracy) = (TP+TN) / 전체. 가장 직관적이지만 가장 위험하다. 사기 거래가 0.1%인 데이터에서 "전부 정상"이라 찍는 모델도 정확도 99.9%다. 이걸 불균형 데이터의 정확도 함정이라 한다.
그래서 양성 클래스에 초점을 둔 두 지표가 필요하다.
정밀도(Precision) = TP / (TP+FP): "양성이라 한 것 중 진짜 양성 비율." 오탐(FP)을 줄이고 싶을 때.
재현율(Recall) = TP / (TP+FN): "진짜 양성 중 잡아낸 비율." 놓침(FN)을 줄이고 싶을 때.
둘은 트레이드오프 관계다. 임계값을 낮추면 양성을 많이 예측해 재현율↑ 정밀도↓, 높이면 반대다.
비즈니스 상황
더 비싼 오류
더 중요한 지표
이유
암 진단
FN(환자를 놓침)
재현율
놓치면 생명과 직결
스팸 필터
FP(정상을 스팸 처리)
정밀도
중요 메일이 사라지면 안 됨
사기 탐지
FN(사기를 놓침)
재현율 우선, 정밀도 균형
손실 방지 vs 정상 고객 불편
광고 타깃팅
FP(관심 없는 사람에 노출)
정밀도
예산 낭비
설비 고장 예측
FN(고장을 놓침)
재현율
라인 정지 비용이 점검 비용보다 큼
지표를 고르는 한 줄 원칙: FN과 FP 중 비즈니스적으로 더 비싼 쪽을 줄이는 지표를 최우선한다.
COMPAS는 미국 법원이 쓰던 재범 예측 시스템이다. 2016년 ProPublica 보도에서 흑인 피고에 대해 "재범 위험 높음"으로 잘못 분류하는 거짓 양성(FP) 비율이 백인보다 약 2배 높다는 것이 드러났다. 전체 정확도는 인종 간 비슷했지만, FP/FN의 분포가 집단마다 달랐던 것이다. 정확도 한 숫자만 보면 놓치는 공정성 문제를 혼동 행렬 단위로 봐야 잡힌다는 교훈이다.
조화평균을 쓰는 이유는 둘 중 하나라도 낮으면 F1이 크게 떨어지기 때문이다. 정밀도 0.9·재현율 0.1이면 산술평균은 0.5지만 F1은 0.18이다. "한쪽만 좋아서는 안 된다"를 강제한다.
AUC(ROC 곡선 아래 면적)는 임계값에 무관하게 모델의 분별력을 측정한다. ROC 곡선은 모든 임계값에서의 재현율(TPR)과 거짓 양성률(FPR)을 그린 것이고, 그 아래 면적이 AUC다.
AUC 값
해석
1.0
완벽한 분류
0.7~0.9
실무에서 흔히 보는 쓸 만한 수준
0.5
무작위 추측과 동일
< 0.5
거꾸로 예측하는 셈 (뒤집으면 오히려 낫다)
어느 지표를 언제 보는가 — 시험 판별에 바로 쓰이는 표다.
상황
봐야 할 지표
이유
클래스가 균형 잡혀 있다
Accuracy
직관적이고 왜곡이 적음
극단적 불균형
PR-AUC, F1, Recall
Accuracy·ROC-AUC가 낙관적으로 보임
임계값을 아직 안 정했다
ROC-AUC
임계값 무관 순위 능력 비교
임계값이 정해졌다
Precision/Recall/F1
실제 운영 시점의 성능
오류의 비용이 비대칭
비싼 오류에 대응하는 지표
비즈니스 손실 최소화
AUC는 "무작위로 양성 샘플 하나와 음성 샘플 하나를 뽑았을 때, 모델이 양성에 더 높은 점수를 줄 확률"로도 해석된다. 임계값을 정하기 전 모델 자체의 순위 매기기 능력을 보는 지표라, 임계값이 아직 정해지지 않은 모델 비교 단계에서 유용하다. 다만 극단적 불균형 데이터에서는 AUC가 낙관적으로 나올 수 있어 PR-AUC(정밀도-재현율 곡선)를 함께 본다.