본문 바로가기
개발기록/머신러닝

[머신러닝] 지도학습 (Supervised Learning) - 모델 복잡도, KNN 알고리즘

by spectrum20 2024. 10. 6.
반응형
  • 일반화

: 훈련 세트로 학습한 모델이 테스트 세트에 대해 정확히 예측하도록 하는 것

 

  • 과대적합 (Over Fitting)

: 훈련 세트에 너무 맞춰져 있어, 테스트 세트의 성능 저하

너무 상세하고 복잡한 모델링을 하여, 훈련 데이터에만 과도하게 정확히 동작하는 모델

 

  • 과소적합 (Under Fitting)

: 훈련 세트를 충분히 반영하지 못해 훈련 세트, 테스트 세트에서 모두 성능 저하

모델링을 너무 간단하게 하여, 성능이 제대로 나오지 않는 모델

 

해결법

- 주어진 훈련 데이터의 다양성이 보장되어야 함

- 데이터의 양이 많아야 함

- 데이터가 편증되지 않아야 함

- 규제(Regularization)을 통해 모델의 복잡도를 적정선으로 설정

 

 

KNN (K-Nearest Neighbors)

: K-최근접 이웃 알고리즘

 

 

- 새로운 데이터 포인트와 가장 가까운 훈련 데이터셋의 데이터 포인트를 찾아 예측

- k값에 따라 가까운 이웃의 수가 결정

- 분류와 회귀에 모두 사용

 

- k값이 작을수록 모델의 복잡도가 상대적으로 증가 (noise에 민감)

- k값이 커질수록 모델의 복잡도가 낮아짐

- 100개의 데이터를 학습하고 k를 100개로 설정하여 예측하면, 빈도가 가장 많은 클래스를 레이블로 분류

 

데이터 포인트(sample) 사이의 거리값 측정 방법

- 유클리디언 거리 공식

 

Hyper parameter

- metric : 유클리디언 거리 방식

- n_neighbors : 이웃의 수

- weight : 가중치 함수

  uniform : 가중치를 동등하게 설정

  distance : 가중치를 거리에 반비례하도록 설정

장점 단점
이해하기 쉬운 모델 훈련데이터(특성, 샘프의 수)가 크면 예측이 느려진다
단순하고 효율적인 모델 수백개 이상의 많은 특성을 가진 데이터 세트, 값 대부분이 0인 희소한 데이터 세트에는 잘 동작하지 않는다
훈련 단계가 빠르다 거리를 측정하기 때문에, 같은 scale을 같도록 정규화 필요

 

 

 

반응형

댓글