stack overflow란?

while(alive){ code();

Machine Learning

KNN (K-Nearest Neighbor, K-최근접 이웃)

나가니 2024. 4. 13. 17:00

Model based learning : 데이터로부터 모델을 생성하여 분류,예측함

Instance based learning : 별도의 모델생성없이 인접데이터를 분류,예측함

 

KNN 특징

비선형

KNN은 모델이 아니고 알고리즘이다.

 

KNN 분류 알고리즘

 

KNN 예측 알고리즘

Y 평균을 취하는 것이 가장 잘 맞음

인접 K개의 Y값 평균을 취함

 

KNN 하이퍼파라미터

k 선택

k에 따른 결과
Try and error로 k 선정함
Train error와 Test error가 동시에 가장 작아지는 k를 선택

 

Distance measure

 

유클리디안 거리 Euclidean Distance

다차원 유클리디안 거리

 

맨하탄 거리 Manhattan Distance

 

마할라노비스 거리 Mahalanobis distance

유클리디안거리는 A가 가깝지만 마할라노비스거리는 B가 더 가까움

마할라노비스거리는 공분산을 고려하기에 B는 상관관계에 반하는 위치이기에 더 멀어짐

 

Correlation distance

signal, profile, spectral 등 패턴 유사성을 볼 때 사용

범위는 0~2

 

Spearman Rank Correlation Distance

Rank data의 거리 계산 가능

 

KNN 장점과 한계점

고차원 데이터에는 적합하지 않음. 따라서 차원 축소가 필요

 

Weighted KNN

가까운점에 더 가중치를 줄 수 있음

 

요약

'Machine Learning' 카테고리의 다른 글

랜덤포레스트 Random Forest  (0) 2024.04.13
의사결정나무 Decision Tree  (0) 2024.04.13
정규화 Regularization  (0) 2024.04.13
뉴럴네트워크모델  (0) 2024.04.13
로지스틱회귀모델 Logistic Regression  (0) 2024.04.13