相似度度量出现在很多机器学习应用中,比如query-query相似度、排序等等,今天介绍一下常用的几个相似度衡量标准
闵可夫斯基距离
定义如下
d(A,B)=p√∑i|Ai−Bi|p根据p值的不同,可以是
- p=1: d=∑i|Ai−Bi|,曼哈顿距离
- p=2: d=√∑i|Ai−Bi|2,欧几里得距离
- p→∞: d=max,切比雪夫距离
汉明距离
对比对象二进制表示的差异,即二进制表示对应位不同的个数。
编辑距离
允许增、删、改操作的序列距离,可用动态规划的方式求解,动态方程为
余弦相似度
Jaccard系数
给定两个集合A,B,Jaccard系数定义为
也就是集合的交集大小比上集合的并集大小。Jaccard系数的取值范围是[0, 1],两个集合都是空集,Jaccard系数=1。
与Jaccard系数对应的是Jaccard距离,其计算方式是: Jaccard距离=1-Jaccard系数,距离越大,样本相似度越低
pearson系数
两个连续变量(X,Y)的pearson相关性系数(Px,y)定义如下:
pearson系数取值总是在-1.0到1.0之间,越靠近0表示相关性越低,数值的正负表示正相关还是负相关.
注意公示1可以发现,pearson相关性系数也就是把数据先正规化到均值为0、方差为1,然后求这两组数据的cosine夹角