有人可以向我解释为什么在使用 K 最近邻时需要对数据进行归一化。
我试着查了一下,但我似乎仍然无法理解。
我找到了以下链接:
https://discuss.analyticsvidhya.com/t/why-it-is-necessary-to-normalize-in-knn/2715
但是在这个解释中,我不明白为什么其中一个特征的更大范围会影响预测。
有人可以向我解释为什么在使用 K 最近邻时需要对数据进行归一化。
我试着查了一下,但我似乎仍然无法理解。
我找到了以下链接:
https://discuss.analyticsvidhya.com/t/why-it-is-necessary-to-normalize-in-knn/2715
但是在这个解释中,我不明白为什么其中一个特征的更大范围会影响预测。
假设您有一个数据集(m 个“示例”乘 n 个“特征”),并且除一个特征维度之外的所有特征维度的值都严格介于 0 和 1 之间,而单个特征维度的值范围从 -1000000 到 1000000。当采用欧式距离时在成对的“示例”之间,介于 0 和 1 之间的特征维度的值可能会变得无信息,并且该算法将基本上依赖于其值大得多的单个维度。只需计算一些示例欧几里得距离计算,您就可以了解比例如何影响最近邻计算。
如果特征的规模非常不同,则需要归一化。这是因为在 KNN 中完成的距离计算使用了特征值。当一个特征值大于另一个时,该特征将主导距离,因此是 KNN 的结果。
特定要素相对于其他要素的比例越大,该要素在距离计算中的权重就越大。将所有要素缩放到一个共同的比例,使每个要素在距离计算中具有相同的权重。但是请注意,缩放在距离函数上引入了一个特定的权重,那么我们怎么能假设它在某种程度上是 KNN 的正确权重呢?所以我的回答是:不应该假设缩放是一个要求。