证明knn算法欧式距离和余弦距离分类的结果一样

在knn算法中,怎么证明从欧式距离变成余弦距离对分类的结果没有影响

事实上是有影响的,并且是按照数据集来确定。理论上,欧氏距离衡量的是空间各点的绝对距离,跟各个点所在的位置坐标直接相关;而余弦距离衡量的是空间向量的夹角,更加体现在方向上的差异,而不是位置。这里举iris数据集为例,欧氏距离下不管是knn还是聚类算法,分类大概是如下图所示:

img

而如果采用余弦距离,那分类可能是这样的:

img

可以看到获得的结果与之前发现的结果不同,这次似乎青色和黄色是质心最接近的两个簇。那可以说明,彼此之间具有较小欧式距离的向量位于向量空间的同一区域。具有高余弦相似度的向量位于与原点相同的大致方向上。另外,余弦相似度似乎不是一个合适的距离度量,因为它不符合三角不等式,具体的推导可以看如下链接,虽然在KNN中依然可以用余弦距离:
https://zhuanlan.zhihu.com/p/108508605