kNN을 수행 할 때 한 가지 명심해야합니다. 즉, 엄격하게 수학적으로 파생 된 알고리즘이 아니라 하나의 직감을 기반으로 한 간단한 분류 자 / 회귀 변수입니다. 인수가 변하지 않을 때 기본 함수는 크게 변경되지 않습니다. 많은. 즉, 기본 기능은 로컬에서 거의 일정합니다. 이 가정을 사용하면 가장 가까운 k 포인트 값의 (가중치) 평균을 사용하여 주어진 포인트에서 기본 함수의 값을 추정 할 수 있습니다.
이를 염두에두고 다수결에서 확실한 승자가 없을 때해야 할 일에 대한 명확한 명령이 없음을 알 수 있습니다. 항상 홀수 k를 사용하거나 인젝 티브 가중치를 사용할 수 있습니다.
이웃 3에서 5가 관심 지점에서 같은 거리에있는 경우 두 개만 사용하거나 5를 모두 사용할 수 있습니다. kNN은 복잡한 수학적 분석에서 파생 된 일부 알고리즘이 아니라 단지 간단한 직감. 그러한 특별한 경우를 어떻게 처리하고 싶은지는 당신에게 달려 있습니다.
1| | x-y| |2
Samory Kpotufe와 Abdeslam Boularias가 올해 올바른 가중치를 찾는 문제에 관해 NIPS에 관한 좋은 논문도 발표했습니다. 그들의 일반적인 직관은 기본 기능이 다른 방향으로 다르게 변한다는 것입니다 (즉, 다른 부분 파생물은 다른 크기입니다). 따라서 어떤 의미에서는이 직관에 따라 메트릭스 / 가중치를 변경하는 것이 현명합니다. 그들은이 트릭이 일반적으로 kNN 및 커널 회귀의 성능을 향상 시킨다고 주장하며,이 주장을 뒷받침하는 이론적 결과가 있다고 생각합니다 (이 이론적 결과가 실제로 무엇을 주장하는지 확실하지 않지만, 갈 시간이 없었습니다. 전체 논문을 통해). 논문은 사이트에서 무료로 다운로드하거나 인터넷 검색 후 "그라디언트 가중치가 비모수 회귀 분석에 도움이 됨"후에 다운로드 할 수 있습니다.
자, 당신은 아마도 당신이 올바른 k, 미터법, 가중치, 그림이있을 때 수행 할 행동을 찾는 방법을 알고 싶을 것입니다. 안타깝게도 깊이 생각한 후에 올바른 하이퍼 파라미터에 도달하기가 기본적으로 어려우므로 다른 하이퍼 파라미터를 테스트하고 어떤 유효성 검사 세트에서 어떤 하이퍼 파라미터가 제대로 작동하는지 확인해야합니다. 계산 리소스가 있고 좋은 하이퍼 매개 변수 집합에서 올바른 매개 변수에 자동으로 도달하려는 경우 해당 설정에서 미 분산 최적화를 위해 가우시안 프로세스를 사용하는 최근 아이디어가 있습니다.
자세히 설명하겠습니다. 하이퍼 파라미터 세트 (예 : 유효성 검사 데이터의 오류를 최소화)를 찾는 것은 최적화 문제로 볼 수 있습니다. 불행하게도,이 설정에서는 최적화하려는 함수의 그라디언트를 얻을 수 없습니다 (일반적으로 원하는 것, 그라디언트 디센트 또는보다 고급 방법 수행). 이 설정에서는 가우스 프로세스를 사용하여 현재까지 발견 한 최고의 것보다 성능이 우수 할 가능성이 큰 하이퍼 파라미터 세트를 찾을 수 있습니다. 따라서 일부 하이퍼 파라미터 세트로 알고리즘을 반복적으로 실행 한 다음 다음 시도가 가장 좋은 가우시안 프로세스를 요청하고 해당 프로세스를 시도하는 등의 작업을 수행 할 수 있습니다.
자세한 내용은 Jasper Snoek, Hugo Larochelle 및 Ryan P Adams (웹 사이트 또는 Google을 통해 제공됨)의 "기계 학습 알고리즘의 실용적인 베이지안 최적화"를 찾으십시오.