k-nn 예제

Posted on

패턴 인식에서 k-Nearnear 이웃 알고리즘(k-NN)은 분류 및 회귀에 사용되는 비파라메트릭 방법입니다. [1] 두 경우 모두 입력은 피처 공간에서 k 가장 가까운 학습 예제로 구성됩니다. 출력은 k-NN이 분류 또는 회귀에 사용되는지 여부에 따라 달라집니다. 이 경우 예제 집합(녹색 사각형)을 검색하고 쿼리 포인트 X에 가장 가까운 집합을 찾습니다. 이 특정 한 경우, 이것은 x4 발생 합니다. x4 (즉, y4)의 결과는 따라서 X (즉, Y)의 결과에 대한 해답으로 취됩니다. 따라서 가장 가까운 이웃의 경우 쿼리와 데이터의 모든 예제 사이의 거리를 찾고 쿼리에 가장 가까운 지정된 숫자 예제(K)를 선택한 다음 가장 빈번한 레이블(분류의 경우)에 투표하거나 KNN 작품을 작성할 수 있습니다. (회귀의 경우) 레이블을 평균합니다. 기본 “과반수 투표” 분류의 단점은 클래스 분포가 왜곡될 때 발생합니다. 즉, 더 빈번한 클래스의 예는 큰 수로 인해 k 가장 가까운 이웃 들 사이에서 공통되는 경향이 있기 때문에 새로운 예제의 예측을 지배하는 경향이 있습니다. [4] 이 문제를 극복하는 한 가지 방법은 시험 지점에서 k 가장 가까운 이웃까지의 거리를 고려하여 분류에 가중치를 두는 것입니다.

k 가장 가까운 각 점의 클래스(또는 회귀 문제에서 값)는 해당 지점에서 테스트 지점까지의 거리의 역에 비례하는 가중치를 곱합니다. 기울이기를 극복하는 또 다른 방법은 데이터 표현의 추상화입니다. 예를 들어 자체 구성 맵(SOM)에서 각 노드는 원래 학습 데이터의 밀도에 관계없이 유사한 점의 클러스터의 대표(중심)입니다. K-NN은 SOM에 적용될 수 있다. 앞에서 언급한 것처럼 쿼리 지점을 감안할 때 KNN은 해당 지점에 가장 가까운 K 인접한 결과의 결과를 기반으로 예측을 합니다. 따라서 KNN을 사용하여 예측을 하려면 예제 샘플에서 쿼리 지점과 사례 사이의 거리를 측정하기 위한 메트릭을 정의해야 합니다. 이 거리를 측정하는 가장 인기있는 선택 중 하나는 유클리드로 알려져있다. 다른 조치는 유클리드 제곱, 도시 블록 및 Chebyshev를 포함 : 우리가 기술이 비 파라 메트릭이라고 말할 때, 그것은 기본 데이터 분포에 어떤 가정을하지 않는 것을 의미한다.

즉, 모델 구조는 데이터로부터 결정됩니다.