加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

机器学习中的相似性度量!

发布时间:2021-01-12 02:02:41 所属栏目:大数据 来源:网络整理
导读:在做分类时常常需要估算不同样本之间的相似性度量(Similarity Measurement),这时通常采用的方法就是计算样本间的“距离”(Distance)。采用什么样的方法计算距离是很讲究,甚至关系到分类的正确与否。 本文的目的就是对常用的相似性度量作一个总结。 本文目

机器学习中的相似性度量!

(4)Matlab 计算杰卡德距离

Matlab的pdist函数定义的杰卡德距离跟我这里的定义有一些差别,Matlab中将其定义为不同的维度的个数占“非全零维度”的比例。

例子:计算(1,1,-1,0)、(-1,0)两两之间的杰卡德距离

X = [1 1 0; 1 -1 0; -1 1 0]

D = pdist( X,'jaccard')

结果

D =

0.5000??? 0.5000??? 1.0000

?


10. 相关系数 ( Correlation coefficient )与相关距离(Correlation distance)

(1) 相关系数的定义

机器学习中的相似性度量!

相关系数是衡量随机变量X与Y相关程度的一种方法,相关系数的取值范围是[-1,1]。相关系数的绝对值越大,则表明X与Y相关度越高。当X与Y线性相关时,相关系数取值为1(正线性相关)或-1(负线性相关)。

(2)相关距离的定义

机器学习中的相似性度量!

?

(3)Matlab计算(1,2,3,4 )与( 3,8,7,6 )之间的相关系数与相关距离

X = [1 2 3 4 ; 3 8 7 6]

C = corrcoef( X' ) ??%将返回相关系数矩阵

D = pdist( X,'correlation')

结果:

C =

??? 1.0000??? 0.4781

??? 0.4781??? 1.0000

D =

0.5219

????? 其中0.4781就是相关系数,0.5219是相关距离。


11. 信息熵(Information Entropy)

?????? 信息熵并不属于一种相似性度量。那为什么放在这篇文章中啊?这个。。。我也不知道。 (╯▽╰)

信息熵是衡量分布的混乱程度或分散程度的一种度量。分布越分散(或者说分布越平均),信息熵就越大。分布越有序(或者说分布越集中),信息熵就越小。

?????? 计算给定的样本集X的信息熵的公式:

机器学习中的相似性度量!

参数的含义:

n:样本集X的分类数

pi:X中第i类元素出现的概率

?????? 信息熵越大表明样本集S分类越分散,信息熵越小则表明样本集X分类越集中。。当S中n个分类出现的概率一样大时(都是1/n),信息熵取最大值log2(n)。当X只有一个分类时,信息熵取最小值0


参考资料:?

[1]吴军. 数学之美 系列 12 - 余弦定理和新闻的分类.

http://www.google.com.hk/ggblog/googlechinablog/2006/07/12_4010.html

[2] Wikipedia. Jaccard index.

http://en.wikipedia.org/wiki/Jaccard_index

[3] Wikipedia. Hamming distance

http://en.wikipedia.org/wiki/Hamming_distance

[4] 求马氏距离(Mahalanobis distance )matlab版

http://junjun0595.blog.163.com/blog/static/969561420100633351210/

[5] Pearson product-moment correlation coefficient

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读