我理解Knn有一个问题在处理高维数据时知道“维数的诅咒”,它的理由是它包括计算距离时的所有特征,即欧几里德距离,其中非重要特征充当噪声并偏向结果但是我不明白一些事情
1)余弦距离度量如何受到这个维数问题的影响,即我们将余弦距离定义为cosDistance = 1- cosSimilarity,其中cosSimilarity有利于高维数据,那么余弦距离如何受到维数问题的影响?
2)我们可以为weka中的特征分配任何权重,还是可以在KNN本地应用特征选择?本地到knn意味着我编写自己的K-NN类,在分类中我首先将训练实例转换为较低维度,然后计算测试实例邻居?
答案 0 :(得分:2)
余弦与欧几里德距离没有根本的区别。
事实上,显示在欧几里得长度为1的归一化数据上,余弦和欧几里德距离是相同的,这是微不足道的。换句话说,余升计算L2标准化向量上的欧几里德距离......
因此,余弦对维数的诅咒并不比欧氏距离更强大。但是,余弦很受欢迎。具有高表观维度的文本数据 - 通常是数千个维度 - 但内在维度必须低得多。此外,它主要用于排名;忽略实际距离值。