2012-07-19 5 views
3

분류 할 필요가있는 7 개의 클래스가 있으며 10 개의 특징이 있습니다. 이 경우에 사용할 필요가있는 k에 대한 최적 값이 있습니까? 아니면 1에서 10 사이의 k 값 (약 10)에 대해 KNN을 실행하고 알고리즘 자체의 도움으로 최상의 값을 결정해야합니까?k 가장 가까운 이웃 알고리즘의 k 값

+0

[이 기사] (http://www.kyb.tuebingen.mpg.de/fileadmin/user_upload/files/publications/Final_version_maier_5681 [0] .pdf) – NominSim

+0

아, 안타깝게도 그게 아니겠습니까? 그 종이를 읽고 이해할만큼 지식이 풍부합니다. 누군가 나를 도울 수 있겠습니까? ( – user574183

답변

8

the article뿐만 아니라 나뿐만 아니라 this one이 코멘트에 게시 제안 : K의

선택은 매우 중요하다 - K의 작은 값은 잡음이 결과에 높은 영향을 미칠 것을 의미합니다 . 큰 값은 계산 상 비싸고 KNN의 근본적인 철학을 물리 친다. (비슷한 점이나 클래스가 비슷한 점이 비슷하다.) k를 선택하는 간단한 접근법은 k = n^(1/2)로 설정된다.

개인적인 경우에 따라 크게 달라질 수 있습니다. 때로는 각각의 가능한 값을 k 실행하여 자신을 결정하는 것이 가장 좋습니다. K-NN 알고리즘에주의 할

+0

) n이 클래스 수를 나타내는 지 알려주시겠습니까? – user574183

+0

기능을 기준으로 분류 했으므로 n은 기능 수를 나타냅니다. – NominSim

+0

97 개 기능이 97 개 이상인 경우 적절한 선택이 아니면 93^1/2를 선택해야합니까? –

4

중요한 것은 인 의 수 있습니다클래스의 수는 모두 는 K-NN 알고리즘에서 K의 가치를 결정하는 역할을하지 않습니다. k-NN 알고리즘은 거리 메트릭을 기반으로 테스트 데이터를 분류하는 데 사용되는 ad-hoc 분류기입니다. 즉, 다른 Class에 비해 테스트 샘플에 더 많은 수의 Class-1 트레이닝 샘플이있는 경우 테스트 샘플은 Class-1로 분류됩니다 훈련 샘플. 예 : k = 5 샘플의 값인 경우 거리 메트릭을 기준으로 5 개의 가장 가까운 트레이닝 샘플이 선택되고 클래스 당 많은 수의 샘플에 대한 투표가 수행됩니다. 따라서 3 개의 샘플이 Class-1에 속하고 2가 Class-5에 속하면 그 테스트 샘플은 Class-1로 분류됩니다. 따라서 k의 값은 테스트 샘플을 분류하는 데 필요한 교육 샘플의 수를 나타냅니다. K

질문 오는 값은 비 - 파라 메트릭 K의 값을 선택하는 일반적인 경험이다 K = SQRT이다 (N)/2, N 스탠드 귀하의 교육 데이터 세트에있는 샘플 수. 제가 제안하는 또 다른 팁은 k 홀수의 값을 유지하려고 시도하는 것입니다. 따라서 클래스를 선택하는 것 사이에는 아무런 연관이 없지만, 훈련 데이터는 클래스 사이에 높은 상관 관계가 있으며 k- NN은 분류 성능이 떨어집니다.

관련 문제