0.引言

在建模的过程中,当需要整理出两两样本之间的联系时,通常会使用“相似性(similarity)”来描述这种联系。在一般语境中,我们通常会用“距离(distance)”来代表这种联系。一般来说,相似性和距离代表的含义是相同的。而对距离的正确建模能帮助模型更快的挖掘出隐含在数据分布之间的联系。

1.两样本的相似度的衡量

1.1 基本性质

  • 非负性:embedding模型 相似搜索 模型相似度_机器学习
  • 同一性:embedding模型 相似搜索 模型相似度_数据分布_02
  • 对称性:embedding模型 相似搜索 模型相似度_机器学习_03
  • 直递性:embedding模型 相似搜索 模型相似度_机器学习_04

1.2 常用度量方式:以n维样本embedding模型 相似搜索 模型相似度_embedding模型 相似搜索_05embedding模型 相似搜索 模型相似度_机器学习_06

闵可夫斯基距离(对应P-范数):embedding模型 相似搜索 模型相似度_建模_07

缺点

(1)没有考虑各个分量量纲不同的问题。如果有量纲不相等的维度,就无法适用。例如第一个特征量纲为cm,第二个特征的两个为kg时,就无法使用这种方法。
(2)没有考虑各个分量的分布不同的问题。举个例子,如果有embedding模型 相似搜索 模型相似度_建模_08两个样本。当p=2时,embedding模型 相似搜索 模型相似度_建模_09embedding模型 相似搜索 模型相似度_相似度_10之间的距离为embedding模型 相似搜索 模型相似度_建模_11,可以看出,第二个特征已经发挥不出其应有的作用了,相当于大数“吃掉了”小数。
(3)没有考虑变量间的相关关系,即,每个变量之间必须是相互独立,也就是相互正交的。

Remark

(1)以上缺点导致了通常要对数据进行进行标准化和中心化处理。
(2)当p=1时,为曼哈顿距离
(3)当p=2时,为欧氏距离
(4)当embedding模型 相似搜索 模型相似度_建模_12时,为切比雪夫距离

曼哈顿距离(对应1-范数):embedding模型 相似搜索 模型相似度_机器学习_13

Remark

(1)直观上来讲,表示两点之间的各边之和。
(2)优点:计算速度快
(3)缺点:当某一特征非常大时,会掩盖掉其他的特征
(4)应用层面

例如要计算从一个十字路口到另外一个十字路口的距离,显然需要计算的不是两点之间的直线距离

embedding模型 相似搜索 模型相似度_数据分布_14

欧氏距离(对应2-范数):embedding模型 相似搜索 模型相似度_机器学习_15

Remark

(1)其表示n维空间中两样本点的直线距离,如图代表二维空间内的直线距离

embedding模型 相似搜索 模型相似度_数据分布_16

标准欧式距离:embedding模型 相似搜索 模型相似度_建模_17

Remark

(1)即为经过标准化和中心化的欧式距离

切比雪夫距离(对应无穷范数):embedding模型 相似搜索 模型相似度_建模_18

Remark

为闵可夫斯基距离中embedding模型 相似搜索 模型相似度_embedding模型 相似搜索_19的情况

马氏距离:embedding模型 相似搜索 模型相似度_建模_20

为什么有马氏距离

闵可夫斯基距离中难以处理分布不同的数据。这里有一个例子,如下图,我们要判断(7.5,0),(0,7.5)这两个样本点哪个更可能属于这个高斯分布。从欧氏距离来看,这两个点到样本中心点的距离是相同的;但是直观地来看,显然(7.5,0)更加可能是属于该分布的样本点。

embedding模型 相似搜索 模型相似度_机器学习_21


对于这种维度之间独立同分布的情况,我们可以通过归一化解决。如图对其进行归一化后,可以清楚的看到(7.5,0)更属于这个样本。

embedding模型 相似搜索 模型相似度_相似度_22


但仅仅是这样是不够的。更一般的,如果维度之间不独立同分布(即特征之间存在相关性),就会导致错误。如图,x和y具有显著的相关性。

embedding模型 相似搜索 模型相似度_机器学习_23


此时有两个样本点(-3,3)和(3,-3)。此时他们距离样本中心的欧氏距离是相同的。当进行归一化后,会发现他们的样本欧氏距离

仍然相同

。这是因为在归一化时,使用的公式

embedding模型 相似搜索 模型相似度_embedding模型 相似搜索_24

,而x和y的分布近似,

embedding模型 相似搜索 模型相似度_数据分布_25

embedding模型 相似搜索 模型相似度_建模_26

也近似,因此只是对数据进行了缩放,其欧式距离仍然相同。此时归一化就失去了效果。


embedding模型 相似搜索 模型相似度_相似度_27

思想

通过上述分析,欧氏距离不能解决那些特征之间具有相关性的样本。马氏距离为解决这类问题而来。
马氏距离的思想寻找主成分进行标准化,让主成分的方向成为新的坐标轴,这样能让维度之间互相独立。之后再进行归一化,这样就使得归一化重新起作用。

Remark

(1)该距离为了解决闵可夫斯基距离中特征分布、量纲不同的问题
(2)表示协方差距离,考虑了各个特征之间的相关性和量纲问题,其中S为样本集合X的协方差矩阵
(3)当S为单位矩阵(各维度相互独立且方差为1)时,马氏距离即为欧氏距离
(4)要求样本数据个数大于特征个数,否则逆矩阵不存在
(5)更加具体的介绍可以参考这里

皮尔逊相关系数:embedding模型 相似搜索 模型相似度_机器学习_28,其中embedding模型 相似搜索 模型相似度_相似度_29

Remark

(1) embedding模型 相似搜索 模型相似度_建模_30
(2)衡量了线性相关程度,越接近0则线性关系越低,越接近1或-1则呈线性相关

夹角余弦:embedding模型 相似搜索 模型相似度_embedding模型 相似搜索_31

Remark

(1)embedding模型 相似搜索 模型相似度_数据分布_32
(2)夹角越小,两样本相似度越高
(3)当向量指向相同时,夹角为0,此时embedding模型 相似搜索 模型相似度_建模_33为1;当夹角为embedding模型 相似搜索 模型相似度_建模_34时,此时embedding模型 相似搜索 模型相似度_建模_33为-1。这两种情况下,两向量线性相关。
(4)当夹角为embedding模型 相似搜索 模型相似度_机器学习_36时,表示这两向量正交,此时这两向量没有关联。
(5)该距离经常用于文本相似度的比较,且通常与TF-IDF技术相结合。(待补例子)

2.两cluster的similarity衡量

除了基于样本之间的相似度衡量,在集成聚类(Ensemble Clustering或Consensus Clustering)中,也存在着两个簇之间的相似度衡量。

  • 基于投票的:embedding模型 相似搜索 模型相似度_数据分布_37,其中embedding模型 相似搜索 模型相似度_相似度_38embedding模型 相似搜索 模型相似度_建模_39个基聚类器中第embedding模型 相似搜索 模型相似度_相似度_40个样本和第embedding模型 相似搜索 模型相似度_机器学习_41个样本被分到同一个簇中的基聚类器个数,此时第embedding模型 相似搜索 模型相似度_相似度_40行第embedding模型 相似搜索 模型相似度_机器学习_41列代表一个样本。这个方法出自Anil K. Jain的一篇文章。
  • 基于Jaccard measure的:embedding模型 相似搜索 模型相似度_相似度_44,这代表每两个簇相重叠的部分,此时第i行第j列代表一个簇。该方法也可以衡量两个集合之间的相似度。
  • 待整理

3.参考

  • 马氏距离(Mahalanobis Distance)
  • Combining multiple clusterings using evidence accumulation
  • 机器学习中的相似性度量,方法汇总对比
  • 机器学习中常用的相似性度量算法
  • 机器学习相似性度量(距离度量)