초보도 OK! 7분 뚝딱, 회귀 & 분류 모델 차이 완벽 이해하기
회기 모델 vs 분류 모델: 뭐가 다를까?
이번 시간에는 회기 모델이랑 분류 모델을 직접 만들어보면서 둘이 뭐가 다른지 확실하게 알아보자! 강의 끝나고 나면 문제 유형만 봐도 어떤 공식 써야 할지 딱 떠오르면 성공이야!
1. 개념부터 짚고 넘어가자!
- 회기 모델: 연속적인 숫자(실수)를 예측하는 거야. 예를 들면 집값, 시험 점수, 매출 같은 거 말이지.
- 예시: 집값 예측, 점수 예측
- 분류 모델: 여러 가지 '종류' 중에 하나를 예측하는 거야.
- 예시: 합격/불합격, 스팸/정상 메일 구분
이 둘의 차이를 알면 모델을 어떻게 만들어야 할지 어렵지 않게 알 수 있어!
2. 파트 1: 회기 문제 (연속적인 숫자 예측하기)
- 문제: 입력값(x)을 보고 연속적인 숫자(y)를 예측하는 거야.
- 사용 데이터: 당뇨병 데이터 (Diabetes dataset)
- 데이터 불러오기 & 분리:
- 출력값(y)이 연속적인 숫자면 "아, 이건 회기 문제구나!" 하고 바로 알아차려야 해.
- 데이터를 학습용(train)이랑 테스트용(test)으로 나누는 건 회기든 분류든 똑같아.
- 입력 데이터는 스케일링(scaling)을 꼭 해줘야 해. 딥러닝에서는 거의 필수라고 생각하면 돼!
- 회기 모델 설계:
- 가장 중요한 포인트: 출력층에 활성화 함수가 없어! 그냥
Dense(1)이렇게만 써주면 돼. 왜냐하면 숫자를 그대로 예측해야 하니까 따로 함수가 필요 없는 거지.
- 가장 중요한 포인트: 출력층에 활성화 함수가 없어! 그냥
- 회기 모델 컴파일 & 학습:
- 옵티마이저:
adam - 손실 함수 (Loss):
MSE(Mean Squared Error) 또는MAE(Mean Absolute Error) - 이 조합은 회기 모델의 기본 공식이야!
- 학습 과정은 앞에서 배운 거랑 똑같아.
- 옵티마이저:
- 회기 모델 평가:
- 평가 결과로 손실값(MSE)이 나와.
- 여기서 핵심은 정확도(accuracy)가 아니라 오차의 크기를 보는 거야! 얼마나 틀렸는지가 중요한 거지.
- 회기 모델 핵심 정리:
- 출력층:
Dense(1)(활성화 함수 없음) - 손실 함수:
MSE또는MAE
- 출력층:
3. 파트 2: 분류 모델 (두 가지 중 하나 예측하기 - 이진 분류)
- 문제: 입력값을 보고 두 가지 종류(클래스) 중에 하나를 맞추는 거야.
- 사용 데이터: 유방암 데이터 (Breast Cancer dataset)
- 데이터 불러오기 & 분리:
- 출력값(y)이 0 또는 1로 나오면 "아, 이건 이진 분류 문제구나!" 하고 바로 알아차려야 해.
- 데이터를 학습용이랑 테스트용으로 나누는 건 회기 문제랑 똑같아.
- 이진 분류 모델 설계:
- 회기 모델이랑 딱 하나만 달라!
- 출력층:
Dense(1)뒤에sigmoid활성화 함수가 추가돼. 이sigmoid함수가 확률값을 만들어주는 역할을 해.
- 이진 분류 모델 컴파일 & 학습:
- 손실 함수 (Loss):
binary_crossentropy(이진 분류에서 표준적으로 쓰는 함수야) - 평가 지표 (Metrics):
accuracy(정확도) - 이 조합도 이진 분류를 할 때 공식적으로 인정되는 표준 조합이야!
- 손실 함수 (Loss):
- 이진 분류 모델 평가:
- 평가 결과로 손실값과 정확도가 측정돼.
- 회기 모델에서는 오차를 봤다면, 분류 모델에서는 정확도를 보는 거지!
- 회기 vs 분류 핵심 비교:
| 구분 | 회기 모델 | 이진 분류 모델 |
| :---------- | :-------------------------------------- | :------------------------------------------- |
| 출력층 | Dense(1) (활성화 함수 없음) | Dense(1) + sigmoid 활성화 함수 |
| 손실 함수 | MSE 또는 MAE | binary_crossentropy |
| 예측값 | 연속적인 숫자 | 확률값 (0~1 사이) |
| 평가 지표 | 오차의 크기 (MSE, MAE) | 정확도 (Accuracy) |
4. 가장 중요한 공식!
- 예측값이 숫자다? → 회기 문제
- 예측값이 둘 중 하나다? → 이진 분류 문제
- 예측값이 여러 개다? → 다중 분류 문제 (이번 시간에는 다루지 않았지만, 이렇게 나눌 수 있어!)
어떤 문제 유형인지 판단하면 모델 구조는 자동으로 결정되는 거야!
마무리
회기랑 분류는 문제 성격이 다르지만, 딥러닝 흐름은 똑같아! 차이는 딱 출력층이랑 손실 함수에서만 나온다는 걸 기억해두자!
다음 시간에는 학습 과정을 그래프로 시각화해서 모델이 잘 학습되고 있는지 눈으로 직접 확인하는 방법을 배워볼 거야!