일반화, KNN, 데이터 스케일링
지도학습(Supervised Learning)은
레이블(정답)이 포함된 데이터를 이용해
모델을 학습시키는 머신러닝 기법입니다.
학습 데이터를 통해 패턴을 찾아
새로운 데이터에 대해 예측을 수행합니다.
예: 스팸 메일 분류, 집 가격 예측.
모델의 성능을 평가하고 최적화하기 위해 다음 개념을 이해해야 합니다:
일반화(Generalization): 모델이 학습 데이터뿐만 아니라 새로운 데이터(테스트 데이터)에서도 높은 성능을 내는 상태. => 우리의 목표!
과대적합(Overfitting): 학습 데이터에 지나치게 최적화되어 테스트 데이터에서 성능이 저하되는 현상.
- 예: 축구공을 학습했지만 다른 공(농구공 등)을 일반화하지 못함.
과소적합(Underfitting): 학습 데이터도 제대로 학습하지 못해 학습/테스트 데이터 모두에서 성능이 낮은 현상.
충분하고 다양한 데이터: 데이터 양이 많고 편중되지 않아야 함.
모델 복잡도 조절: 지나치게 복잡하거나 단순한 모델을 피해야 함.
규제(Regularization): 모델 복잡도를 적정 수준으로 제한.
KNN은 K-최근접 이웃 알고리즘으로,
새로운 데이터의 레이블을 예측할 때
가장 가까운 K개의 학습 데이터 포인트를 기준으로
다수결(분류) 또는 평균(회귀)을 통해 예측합니다.
하이퍼파라미터: n_neighbors(K 값)
- K가 작을수록: 모델 복잡도 증가, 노이즈에 민감.
- K가 클수록: 모델 복잡도 감소, 지나치게 단순화되어 성능 저하.
장점: 이해하기 쉬움. 간단한 설정으로도 준수한 성능.
단점: 데이터가 크면 예측 속도 느려짐. 거리 기반 알고리즘이므로 데이터 스케일링 필요.
사용 사례: 주로 데이터 탐색 및 간단한 분류/회귀에 사용 (예: iris 데이터 분류).
데이터 스케일링은 특성(Feature)들의 값 범위를 일정 수준으로 맞춰주는 작업입니다.
특히 거리 기반 모델(KNN, 선형 회귀, 로지스틱 회귀 등)에서 필수적입니다.
특성 간 값 범위 차이가 크면 모델이 잘못된 결과를 도출할 수 있음.
- 예: 키(170~190cm)와 시력(0.1~2.0) 데이터를 함께 사용할 때,
키의 범위가 더 크므로 모델이 키에 치우친 결과를 낼 가능성.
StandardScaler: 데이터를 평균 0, 표준편차 1로 변환 (정규분포 가정). 이상치에 민감.
MinMaxScaler: 데이터를 0~1 (또는 -1~1) 범위로 변환. 이상치에 민감.
Normalizer: 데이터 벡터를 단위 길이(지름 1인 원)로 변환. 데이터의 방향성을 유지.
트리 기반 모델(Decision Tree, Random Forest 등)은 거리와 무관하므로 스케일링 불필요.
지도학습은 레이블 데이터를 활용해 모델을 학습시키는 핵심 머신러닝 기법입니다.
KNN과 같은 간단한 알고리즘으로 시작해
데이터 스케일링과 모델 복잡도 조절을 통해 일반화 성능을 극대화할 수 있습니다.
이를 통해 스팸 분류, 가격 예측 등 다양한 문제를 효과적으로 해결할 수 있습니다.