k-최근접 이웃 알고리즘은 클래스 구성원(Y)과 예측 변수 X1 간의 관계 구조에 대한 가정을 생성하지 않는 분류 접근 방식입니다. , X2 , .... Xn .
이것은 선형 회귀에서 가장한 선형 형식을 포함하여 가장된 함수 형식에서 매개변수 추정을 포함하지 않기 때문에 비모수적 접근 방식입니다. 이 방법은 데이터 세트에 있는 데이터의 예측 변수 값 간의 유사성에서 데이터를 가져옵니다.
k-NN 방법의 이점은 무결성과 매개변수 가정의 필요성입니다. 거대한 훈련 세트가 있는 경우 이러한 접근 방식은 각 클래스가 여러 예측 변수 조합으로 특징지어질 때 특히 잘 수행됩니다.
예를 들어, 부동산 데이터베이스에는 빠르게 팔리는 주택과 높은 기간 동안 남아 있는 주택을 특징짓는 {집 유형, 방 수, 이웃, 호가 등} 집합이 여러 개 있을 수 있습니다. 산업.
k-NN 방법의 힘을 현실적으로 활용하는 데에는 세 가지 어려움이 있습니다.
훈련 데이터에서 매개변수를 계산하는 데 시간이 필요하지 않지만(회귀를 포함한 매개변수 모델의 경우처럼), 거대한 훈련 세트에서 가장 가까운 이웃을 발견하는 시간은 제한적일 수 있습니다. 이러한 어려움을 극복하기 위해 여러 개념이 구현되었습니다. 주요 개념은 다음과 같습니다 -
-
주성분 분석과 같은 차원 축소 기술을 사용하여 축소된 차원에서 작업하여 거리를 계산하는 데 걸리는 시간을 줄일 수 있습니다.
-
검색 트리와 같은 정교한 데이터 구조를 사용하여 가장 가까운 이웃의 식별 속도를 높일 수 있습니다. 이 방법은 종종 속도를 향상시키기 위해 "거의 가장 가까운" 이웃에 정착합니다. 인스턴스가 버킷팅을 사용하고 있습니다. 여기서 데이터가 버킷으로 결합되어 각 버킷 내부의 데이터가 서로 가깝습니다.
훈련 세트에 필요한 다중 데이터는 다중 예측자의 p에 따라 기하급수적으로 증가합니다. 이는 훈련 세트의 양이 p로 기하급수적으로 증가하지 않는 한 가장 가까운 이웃까지의 예상 거리가 p와 함께 심하게 증가하기 때문입니다. 이 현상을 차원의 저주라고 하며 일부 분류, 예측 및 클러스터링 접근 방식과 관련된 근본적인 문제입니다.
k-NN은 "게으른 학습자"입니다. − 시간이 많이 걸리는 계산이 예측 시간까지 지연됩니다. 예측할 각 데이터에 대해 예측 시점에서만 완전한 훈련 데이터 세트로부터의 거리를 계산할 수 있습니다. 이 동작은 동시에 여러 데이터의 실시간 예측을 위해 이 알고리즘을 사용하여 제약합니다.