Broccoli's House
#2-(2) 지도학습 알고리즘 : k-최근접 이웃(k-NN) 본문
※ 이 글의 내용은 O'REILLY의 <파이썬 라이브러리를 활용한 머신러닝> 책을 기반으로 한다.
지도 학습 알고리즘 : k-최근접 이웃
- k-최근접 이웃
- k-최근접 이웃 분류
- k-최근접 이웃 분류 : 알고리즘이 가장 간단하도록 k가 1인 경우, 가장 가까운 훈련 데이터 포인트 하나를 최근접 이웃으로 찾아 출력 예측에 사용한다. k가 2 이상일 때는 더 많은 이웃을 가지고 있는 클래스가 출력이 된다.
<k가 3일때의 k-NN 분류 알고리즘 적용 모델>
<k가 각각 1, 3, 9일 때 모델들의 결정 경계>
- 결정 경계(Decision Boundary) : 알고리즘이 각각의 클래스로 지정한 영역을 나누는 경계. k가 1일 때는 결정 경계가 훈련 데이터에 가깝게 따라간다. k가 증가하면 결정 경계는 부드러워지면서 더욱 단순한 모델이 된다.
<k 값의 증가에 따른 모델 예측의 정확도>
- k 값이 작을 때는 훈련 데이터에 대한 정확도는 높지만 테스트 데이터에 대한 정확도는 낮다. 이것은 모델이 훈련 데이터에 딱 맞게 과대적합(Overfitting)되어 있다는 것을 말한다. 반대로 k 값이 크면 모델이 너무 단순하여 훈련 데이터 세트와 테스트 데이터 세트 모두에 대하여 정확도가 더 나빠진다. 이것은 과소적합(Underfitting)되어 있는 것이다. 따라서, k의 개수(최근접 이웃의 수)에는 최적점이 존재한다.
k-최근접 이웃 회귀
<k가 3일때 k-NN 회귀 알고리즘 적용 모델>
<k 값이 각각 1, 3, 9일 때 모델들의 예측 비교>
- k값이 작을 때는 훈련 데이터 하나하나가 출력에 주는 영향이 크기 때문에 모델의 예측값이 훈련 데이터 포인트를 모두 지나간다. k값이 증가하면 훈련 데이터에는 잘 맞지 않지만 더 안정적인 모델이 된다.
k-최근접 이웃 알고리즘 평가
'공부 > 머신러닝' 카테고리의 다른 글
#2-(4) 지도학습 알고리즘 : 나이브 베이즈 (0) | 2018.01.21 |
---|---|
#2-(3) 지도학습 알고리즘 : 선형 모델 (0) | 2018.01.21 |
#2-(1) 지도 학습 (0) | 2018.01.20 |
#1-(2) 예제 : 붓꽃의 품종 분류 (0) | 2018.01.20 |
#1-(1) 머신러닝 소개 (0) | 2018.01.19 |