介绍
聚类算法在于对每一条样本生成固定长度的特征向量,通过数学运算将空间中满足聚类要求的相似样本聚为一类,即我们说的簇。由于聚类算法通常为无监督学习,不需要样本标签,因而成本较低,广泛应用于相似性数据挖掘工作中。应用到推荐领域,可以为用户和产品分组。在介绍常见的聚类算法前,我们先呈现各类相似度的判断标准:
- 余弦相似度 (Cosine Similarity):空间中向量夹角的余弦值,用于衡量向量的方向是否一致;
C o s i n e _ S i m i l a r i t y ( x , y ) = x ⋅ y ∣ ∣ x ∣ ∣ ⋅ ∣ ∣ y ∣ ∣ Cosine\_Similarity(x,y)=\frac{x\cdot y}{||x||\cdot ||y||} Cosine_Similarity(x,y)=∣∣x∣∣⋅∣∣y∣∣x⋅y - 欧式距离 (Euclidean Distance):两点之间的最短距离,是对于向量长度和方向的综合评价标准;
E u c l i d e a n ( x , y ) = ∣ ∣ x − y ∣ ∣ = ( ∑ i ∣ x i − y i ∣ 2 ) 1 2 Euclidean(x,y)=||x-y||=\big(\sum_i|x_i-y_i|^2\big)^{\frac{1}{2}} Euclidean(x,y)=∣∣x−y∣∣=(i∑∣xi−yi∣2)21 - 曼哈顿距离 (Manhattan Distance):两点之间的棋盘距离,在特定场景下效用显著;
M a n h a t t a n ( x , y ) = ∑ i ∣ x i − y i ∣ Manhattan(x,y)=\sum_i|x_i-y_i| Manhattan(x,y)=i∑∣xi−yi∣ - 闵氏距离 (Minkowski Distance):欧式距离和曼哈顿距离的泛化版本;
M i n k o w s k i ( x , y ) = ( ∑ i ∣ x i − y i ∣ p ) 1 p Minkowski(x,y)=\big(\sum_i|x_i-y_i|^p\big)^{\frac{1}{p}} Minkow