博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
距离公式
阅读量:5751 次
发布时间:2019-06-18

本文共 1111 字,大约阅读时间需要 3 分钟。

距离本意就是两个目标的某一特征集从一个变成另一个需要的最小操作。广泛使用于相似度比较领域。机器学习中经常用的距离有:

1. 欧氏距离 ( Euclidean Distances)

2. 曼哈顿距离

3. 切比雪夫距离

4. 闵可夫斯基距离

5. 标准化欧氏距离

6. 马氏距离

7. 夹角余弦( Cosine Distance)

8. 汉明距离(Hamming Distance)

9. 杰卡德距离 & 杰卡德相似系数(Jaccard)

10. 相关系数 & 相关距离(pearson,Spearman, kendall tau correlation)

11. 信息熵(Kullback-Leibler Divergence / Relative Entropy)

部分可参考:

1. Jaccard 

  • Jaccard相似度有狭义和广义之分。

  • 狭义:两个集合的交集数目除上两个集合的并集数目,即:

  • 广义:元素的取值可以是实数。又称为Tanimoto系数,用EJ来表示,计算方式如下:

    EJ(A,B)=(A*B)/(||A||^2+||B||^2-A*B)

    其中A、B分别表示为两个向量,集合中每个元素表示为向量中的一个维度,在每个维度上,取值通常是[0, 1]之间的值,A*B表示向量乘积,||A||^2表示向量的模,即 ||A||^2 = sqrt (a1^2 + a2^2 + a3^2 + ......)。
    广义Jaccard相似度计算公式中,如果把分母的A*B去掉,并将||A||^2+||B||^2替换为(||A||^2)*(||B||^2),就转成了余弦相似度(cosine similarity)。

    可参考:

  • Jacard 距离: d(x,y)= 1 - J(x,y).

2. Euclidean Distances

欧氏距离,即通常说的L2-范式(L2-norm)

3. Cosine Distance

先求余弦相似性,对于两个向量A和B,定义如下:

然后通过反余弦函数,求得的夹角θ,就是余弦距离。

4. Hamming Distance

汉明距更多的用于信号处理,表明一个信号变成另一个信号需要的最小操作(替换位),实际中就是比较两个比特串有多少个位不一样,简洁的操作时就是两个比特串进行异或之后包含1的个数。汉明距在图像处理领域也有这广泛的应用,是比较二进制图像非常有效的手段。计算一个数字的比特位包含1的个数有个小技巧:value  &= value - 1这个运算的结果就是把value最后一个1去掉,循环进行运算直到value等于0(所有的1都被去掉)就可以知道vaule拥有多少个1了。

参考:

转载地址:http://agzkx.baihongyu.com/

你可能感兴趣的文章
Android开发历程_15(AppWidget的使用)
查看>>
阿花宝宝 Java 笔记 之 初识java
查看>>
Linux下的C编程实战
查看>>
[32期] html中部分代码与英语单词关系
查看>>
PHP安装环境,服务器不支持curl_exec的解决办法
查看>>
jQuery|元素遍历
查看>>
用 ThreadLocal 管理用户session
查看>>
setprecision后是要四舍五入吗?
查看>>
上云就是这么简单——阿里云10分钟快速入门
查看>>
MFC多线程的创建,包括工作线程和用户界面线程
查看>>
我的友情链接
查看>>
FreeNAS8 ISCSI target & initiator for linux/windows
查看>>
PostgreSQL数据库集群初始化
查看>>
++重载
查看>>
Rainbond 5.0.4版本发布-做最好用的云应用操作系统
查看>>
nodejs 完成mqtt服务端
查看>>
sql server 触发器
查看>>
[工具]前端自动化工具grunt+bower+yoman
查看>>
关于完成生鲜电商项目后的一点总结
查看>>
noip2012 普及组
查看>>