一、聚类算法中的距离
1. 单个样本之间的距离
余弦距离
在聚类分析中,一般需要对数据进行标准化,因为聚类数据会受数据量纲的影响。
在sklearn库中,可调用如下方法进行标准化:
1 from sklearn.preprocessing import StandardScaler 2 data = StandardScaler().fit_transform(data)
这种方法将data的均值和方差保存下来,并使用它们对数据进行归一化,这样,有新的数据输入时,仍可以沿用data的均值和方差来做归一化。
【联】facenet中是采用的L2归一化,这和每个向量自身相关,而不是和整体数据相关。
在上述距离中,受量纲影响较大的是明氏距离和欧氏距离(明氏距离的特例),马氏距离和余弦距离则受量纲影响较小。
其中,余弦距离越大(趋近于1),代表两个向量的方向越接近,相似度越高。
2. 两个聚类簇之间的距离