1

我知道 Knn 有一个问题,知道在处理高维数据时会出现“维度诅咒”,其理由是它在计算距离时包含所有特征,即欧几里得距离,其中非重要特征充当噪声并偏向结果,但我不这样做'不明白一些事情

1)余弦距离度量将如何受到维度灾难的影响,即我们将余弦距离定义为 cosDistance = 1- cosSimilarity,其中 cosSimilarity 有利于高维数据,那么余弦距离如何受到维度灾难的影响?

2) 我们可以为 weka 中的特征分配任何权重,或者我可以将特征选择本地应用到 KNN 吗?本地到 knn 意味着我编写自己的 K-NN 类,在分类中我首先将训练实例转换为低维,然后计算测试实例邻居?

4

1 回答 1

2

余弦与欧几里得距离没有根本区别。

事实上,证明在欧几里得长度为 1 的归一化数据上,余弦和欧几里得距离相同是微不足道。换句话说,余弦正在计算 L2 归一化向量上的欧几里得距离......

因此,余弦对维数灾难的鲁棒性并不比欧几里得距离强。然而,余弦在具有高表观维度(通常是数千个维度)但内在维度必须低得多的文本数据中很受欢迎。另外,它主要用于排名;实际距离值被忽略。

于 2014-02-06T10:04:08.300 回答