KNN에서 데이터를 확장해야하는 이유 왜 데이터를 정규화해야하는지 설명해 주시겠습니까? 나는 이것을

가장 가까운 이웃 K 개를 사용할 때 왜 데이터를 정규화해야하는지 설명해 주시겠습니까?

나는 이것을 찾으려고 노력했지만 여전히 그것을 이해할 수없는 것 같습니다.

다음 링크를 찾았습니다.

https://discuss.analyticsvidhya.com/t/why-it-is-necessary-to-normalize-in-knn/2715

그러나이 설명에서 기능 중 하나의 더 큰 범위가 예측에 영향을 미치는 이유를 이해하지 못합니다.



답변

k- 최근 접 이웃 알고리즘은 주어진 테스트 포인트에 대해 ‘k’가장 가까운 샘플의 클래스 멤버십을 기반으로하는 다수 투표에 의존합니다. 샘플의 근접성은 일반적으로 유클리드 거리에 기초합니다.

클래스 1 샘플이 10 개의 가장 가까운 이웃 (녹색으로 채워짐)과 함께 선택되는 간단한 2 클래스 분류 문제를 고려하십시오. 첫 번째 그림에서는 데이터가 정규화되지 않은 반면 두 번째 그림에서는 데이터가 정규화되지 않았습니다.


정규화가 없으면 가장 가까운 모든 이웃이 더 작은 범위, 즉 축 방향으로 정렬되는 방식에 . 은 잘못된 분류로 이어집니다.

x1

정규화는이 문제를 해결합니다!


답변

데이터 집합 (n “특징”에 의한 m “예”)이 있고 하나의 피처 치수를 제외한 모든 치수가 0과 1 사이의 값을 갖는 반면, 단일 피처 치수의 값은 -1000000 ~ 1000000 범위라고 가정합니다. “예”쌍들 사이에서, 0과 1 사이의 특징 치수의 값은 정보가되지 않을 수 있고, 알고리즘은 본질적으로 값이 실질적으로 더 큰 단일 치수에 의존 할 것이다. 유클리드 거리 계산 예제를 수행하면 스케일이 가장 가까운 이웃 계산에 어떤 영향을 미치는지 이해할 수 있습니다.