지도학습 Ⅱ: 분류(Classification)와 모델 평가
지난번 회귀(Regression)가 연속적인 숫자를 맞히는 게임이었다면, 이번에 배울 분류(Classification)는 "이 데이터가 A그룹인가, B그룹인가?"를 결정하는 게임이다. 머신러닝 실무에서 가장 많이 쓰이는 알고리즘들과 내 모델의 실력을 검증하는 지표들을 정리해 본다.
1. 로지스틱 회귀 (Logistic Regression): "분류인데 왜 이름이 회귀일까?"
이게 가장 헷갈리는 부분이다. 이름은 회귀지만, 사실은 분류(Classification) 알고리즘이다.
1) 왜 그냥 선형 회귀를 쓰면 안 될까?
선형 회귀는 결과가 -무한대부터 +무한대까지 쭉 뻗어 나간다. 하지만 "합격/불합격"을 판단할 때는 결과값이 0(불합격) 아니면 1(합격) 사이여야 한다. 선형 회귀 직선으로는 이 0과 1의 벽을 표현하기 어렵다.
2) 시그모이드(Sigmoid) 함수의 마법
여기서 지난번 보았던 자연상수(e)가 등장한다. 선형 회귀의 결과값(z)을 시그모이드 함수에 통과시키면, 어떤 값이든 0.5를 중심으로 0과 1 사이의 값으로 압축된다.

- 결과가 0.8이라면? → "80% 확률로 합격입니다!"라고 말할 수 있게 된다.
- 결과가 0.5보다 크면 1(양성), 작으면 0(음성)으로 분류한다.
3) 결정 경계 (Decision Boundary)와 임계값 (Threshold)
확률이 나오면 이제 결정을 내려야 한다.
- 보통은 0.5를 기준으로 삼는다. 0.5보다 크면 1, 작으면 0이다.
- 임계값의 조정: 만약 암 진단 모델이라면? "암일 확률이 30%만 되어도 일단 정밀 검사를 받아야 해!"라고 판단할 수 있다. 이때는 임계값을 0.3으로 낮춰서 더 엄격하게(보수적으로) 검사할 수 있다. 이것이 나중에 배울 '재현율(Recall)'과 연결되는 핵심 개념이다.
2. 분류를 위한 핵심 알고리즘 5대장
① KNN (K-Nearest Neighbors): "유유상종"
- 개념: 새로운 데이터가 들어오면 가장 가까운 이웃 K개를 찾는다. 그 이웃들이 많이 속한 클래스로 분류한다.
- 특징: 단순하고 직관적이다. 하지만 데이터가 많아지면 계산 속도가 느려진다.
② 결정 트리 (Decision Tree): "스무고개"
- 개념: "꽃잎 길이가 2.5cm보다 큰가요?" 같은 질문을 던지며 데이터를 나눈다.
- 장점: 모델이 왜 그런 결과를 내놓았는지 설명 가능(Explainable)하다. 시각화가 매우 쉽다.
③ 랜덤 포레스트 (Random Forest): "집단지성"
- 개념: 결정 트리 수십 개를 만들고, 각 트리의 결과를 모아 다수결로 최종 결정한다.
- 특징: 트리 하나는 틀릴 수 있어도, 여러 개가 모이면 훨씬 안정적이고 강력하다. (앙상블 학습의 대표주자)
④ SVM (Support Vector Machine): "최대의 여백"
- 개념: 두 클래스를 나누는 선을 긋되, 양쪽 그룹과 가장 멀리 떨어진(Margin) 곳에 선을 긋는다.
- 특징: 아주 강력한 분류기이며, 직선으로 안 나뉘는 데이터도 '커널 기법'을 통해 고차원에서 나누는 마법을 부린다.
- 커널 기법: SVM에서 데이터가 직선으로 안 나뉠 때, 데이터를 고차원으로 보내서(스케일 업) 평면으로 슥 자르는 기술이다. 이 원리가 훗날 딥러닝의 기초가 된다.
⑤ 나이브 베이즈 (Naive Bayes): "확률의 힘"
- 개념: 베이즈 정리를 이용한다. 특정 단어가 포함되었을 때 스팸일 확률을 계산한다.
- 특징: 계산이 매우 빠르고 텍스트 분류(스팸 메일 차단)에 특히 강하다.
3. 선형 회귀 vs 로지스틱 회귀 한눈에 비교
| 구분 | 선형 회귀 (Linear) | 로지스틱 회귀 (Logistic) |
| 목적 | 연속적인 숫자 예측 (예: 집값, 성적) | 이진 분류 (예: 스팸 여부, 암 진단) |
| 활성화 함수 | 없음 (선형 그대로) | 시그모이드(Sigmoid) 사용 |
| 핵심 질문 | "내일 기온이 몇 도일까?" | "내일 비가 올까, 안 올까?" |
4. 모델이 잘했는지 어떻게 알까? (성능 지표)
모델을 만들었다면 '점수'를 매겨야 한다. 회귀와 분류는 채점 방식이 다르다.
1) 회귀용 지표 (얼마나 오차가 적은가?)
- MSE (Mean Squared Error): 오차 제곱의 평균. 오차가 클수록 패널티를 크게 준다.
- MAE (Mean Absolute Error): 오차 절대값의 평균. 직관적으로 "평균 몇 도 정도 틀리네"라고 알 수 있다.
- R^2 (결정계수): 모델의 설명력. 1에 가까울수록 완벽, 0이면 그냥 평균값만 찍는 수준, 음수면 평균보다도 못하는 최악의 모델이다.
2) 분류용 지표 (혼동 행렬, Confusion Matrix)

정답이 0(음성), 1(양성)일 때, 모델의 실수는 두 가지다. (1단계에서 배운 1종/2종 오류와 연결된다!)
- 정확도 (Accuracy): 전체 중 맞힌 개수. (데이터 불균형일 땐 위험함)
- 정밀도 (Precision): 모델이 "양성"이라고 한 것 중 진짜 양성인 비율. (오탐 방지)
- 재현율 (Recall): 진짜 양성 중 모델이 양성이라고 찾아낸 비율. (미탐 방지)
- F1-Score: 정밀도와 재현율의 조화로운 평균. 둘 다 잘해야 점수가 높다.
- ROC-AUC:
- 왼쪽 위 구석으로 붙을수록: "완벽한 모델"입니다. 잘못 잡는 것(FPR) 없이 진짜만 쏙쏙(TPR) 골라내고 있다는 뜻이죠.
- 대각선 직선 ($45^\circ$): "찍기 모델"입니다. 동전 던지기랑 다를 게 없는 아무짝에도 쓸모없는 상태입니다.
- ROC 곡선 아래의 *면적'을 수치화한 것이 AUC입니다.
- 1.0에 가까울수록: 모델 성능이 매우 뛰어남.
- 0.5에 가까울수록: 모델이 변별력이 없음.
5. 베이즈 정리와 조건부 확률
질문자님이 언급하신 베이즈 정리는 "새로운 정보가 들어왔을 때 나의 믿음을 업데이트하는 법"이다.
- 사전 확률: 데이터 보기 전 나의 생각 (예: 전체 메일 중 스팸은 10%다.)
- 사후 확률: 단어 '무료'를 발견한 후, 이 메일이 스팸일 확률.
- 나이브 베이지: "모든 단어는 서로 독립이다"라고 순진하게(Naive) 가정하고 계산하기 때문에 '나이브'라는 이름이 붙었다.
✍️ 공부를 마치며
지도학습의 분류 파트는 단순히 알고리즘을 돌리는 게 끝이 아니었다. 어떤 상황에서 어떤 지표(R^2, F1-Score 등)를 봐야 하는지 판단하는 것이 진짜 실력임을 깨달았다. 특히 암 진단처럼 놓치면 안 되는 상황에선 재현율(Recall)을, 스팸 차단처럼 멀쩡한 메일을 스팸함에 넣으면 안 되는 상황에선 정밀도(Precision)를 챙겨야 한다!
'AI > Machine Learning' 카테고리의 다른 글
| 평가지표와 통계적 판단 (0) | 2025.06.22 |
|---|---|
| 전처리와 분석 (0) | 2025.06.21 |
| 경사하강법 (최적화) (0) | 2025.06.20 |
| 지도학습 Ⅰ (회귀) (0) | 2025.06.19 |
| 머신러닝 시작 (0) | 2025.06.17 |