KNN에서 데이터를 확장해야하는 이유


15

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

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

다음 링크를 찾았습니다.

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

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


주제의 관점에서 표준화가 정당화되어야한다고 생각합니다. 본질적으로 중요한 것은 점 사이의 거리를 정의하는 것입니다. 피사체의 거리 정의를 반영하는 편리한 거리의 산술 정의를 찾아야합니다. 제한된 경험에서, 나는 주제에 관한 고려 사항에 따라 모든 방향이 아닌 일부 방향으로 정규화했습니다.
Richard Hardy

답변:


27

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

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

정규화가없는 데이터 정규화 된 데이터

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

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


1
이 대답은 정확하지만 그림이 왜곡으로 인해 기만적 일 수 있습니다. 각각의 두 축이 동일한 축척을 갖도록 두 점을 그려서 점을 더 잘 만들 수 있습니다.
whuber

1
두 수치에 대해 모든 데이터 포인트를 동일한 척도로 맞추는 것이 어렵다는 것을 알았습니다. 따라서 축의 축척이 다르다는 점을 언급했습니다.
kedarps 2016 년

1
그 어려움은 실제로 당신의 응답의 요점입니다! 그것을 극복하는 한 가지 방법은 그러한 극단적 인 범위의 저울을 사용하지 않는 것입니다. 1000 : 1 차이가 아닌 5 : 1 스케일 차이는 여전히 포인트를 멋지게 만듭니다. 또 다른 방법은 그림을 충실하게 그리는 것입니다. 상단 산점도는 수직선입니다.
whuber

2
@ whuber, 나는 첫 번째 의견을 오해했습니다. 줄거리를 수정했습니다. 이제 더 나아졌습니다!
kedarps

1
@Undertherainbow 맞습니다!
kedarps

6

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

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.