距离度量

距离度量(Distance)用于衡量个体在空间上存在的距离,距离越远说明个体间的差异越大。

一般而言,定义一个距离函数 d(x,y), 需要满足下面几个准则:

1) d(x,x) = 0  // 到自己的距离为0 
2) d(x,y) >= 0  // 距离非负

3) d(x,y) = d(y,x) // 对称性: 如果 A 到 B 距离是 a,那么 B 到 A 的距离也应该是 a 

4) d(x,k) + d(k,y) >= d(x,y) // 三角形法则: (两边之和大于第三边)

假设两个样本的特征向量为:

一、欧氏距离

二、曼哈顿距离

三、闵可夫斯基距离

(1)当p=1时,即为曼哈顿距离

(2)当p=2时,即为欧氏距离

(3)当p趋向于无穷大时,即为切比雪夫距离

四、切比雪夫距离

相似度度量

相似度度量(Similarity),即计算个体间的相似程度,与距离度量相反,相似度度量的值越小,说明个体间相似度越小,差异越大。

一、夹角余弦(Cosine Similarity)

即求两个特征向量的余弦值。文本分类或者聚类时,一般用夹角余弦求文本相似度。

二、皮尔森相关系数(Pearson Correlation Coefficient)

即相关分析中的相关系数r,分别对X和Y基于自身总体标准化后计算空间向量的余弦夹角。公式如下:

三、Jaccard相似系数(Jaccard Coefficient)

Jaccard系数主要用于计算符号度量或布尔值度量的个体间的相似度,因为个体的特征属性都是由符号度量或者布尔值标识,因此无法衡量差异具体值的大小,只能获得“是否相同”这个结果,所以Jaccard系数只关心个体间共同具有的特征是否一致这个问题。如果比较X与Y的Jaccard相似系数,只比较xn和yn中相同的个数,公式如下:

调整余弦相似度(Adjusted Cosine Similarity)

虽然余弦相似度对个体间存在的偏见可以进行一定的修正,但是因为只能分辨个体在维之间的差异,没法衡量每个维数值的差异,会导致这样一个情况:比如用户对内容评分,5分制,X和Y两个用户对两个内容的评分分别为(1,2)和(4,5),使用余弦相似度得出的结果是0.98,两者极为相似,但从评分上看X似乎不喜欢这2个内容,而Y比较喜欢,余弦相似度对数值的不敏感导致了结果的误差,需要修正这种不合理性,就出现了调整余弦相似度,即所有维度上的数值都减去一个均值,比如X和Y的评分均值都是3,那么调整后为(-2,-1)和(1,2),再用余弦相似度计算,得到-0.8,相似度为负值并且差异不小,但显然更加符合现实。

数据标准化、归一化处理

一、min-max标准化(Min-Max Normalization)

也称为离差标准化,是对原始数据的线性变换,使结果值映射到[0 - 1]之间。转换函数如下:

其中max为样本数据的最大值,min为样本数据的最小值。这种方法有个缺陷就是当有新数据加入时,可能导致max和min的变化,需要重新定义。

二、Z-score标准化方法

这种方法给予原始数据的均值(mean)和标准差(standard deviation)进行数据的标准化。经过处理的数据符合标准正态分布,即均值为0,标准差为1,转化函数为:

其中为所有样本数据的均值,为所有样本数据的标准差。

样本间的距离或者相似度度量方法相关推荐

  1. 距离及相似度度量方法

    前言 关于距离度量的方法的专题其实已经想做好久了,正好趁这个机会总结出来. 这里讨论的距离度量应该是向量空间内的度量,两个点(即两个向量)之间的距离或相似性的度量.每种度量包括描述.定义和公式.优缺点 ...

  2. 距离和相似度度量方法

    http://blog.csdn.net/pipisorry/article/details/45651315 在机器学习和数据挖掘中,我们经常需要知道个体间差异的大小,进而评价个体的相似性和类别.最 ...

  3. 软件源码复杂度度量方法

    软件源码复杂度度量方法主要有三种:代码行.Helstead方法.McCabe方法(环形复杂度) 代码行: 代码行方法度量是一种最简单的方法,该方法认为,代码行越多,软件越容易产生漏洞.程序复杂性随着程 ...

  4. 常用距离和相似度度量

    在数据分析和数据挖掘的过程中,我们经常需要知道个体间差异的大小,进而评价个体的相似性和类别.最常见的是数据分析中的相关分析,数据挖掘中的分类和聚类算法,如K最近邻(KNN)和K均值(K-Means). ...

  5. 【转载】机器学习计算距离和相似度的方法

    转载自:http://blog.csdn.net/leonis_v/article/details/50531820 在机器学习和数据挖掘中,我们经常需要知道个体间差异的大小,进而评价个体的相似性和类 ...

  6. 【机器学习】全面归纳距离和相似度方法(7种)

    距离(distance,差异程度).相似度(similarity,相似程度)方法可以看作是以某种的距离函数计算元素间的距离,这些方法作为机器学习的基础概念,广泛应用于如:Kmeans聚类.协同过滤推荐 ...

  7. 图像检索中相似度度量公式:各种距离

    基于内容的图像检索(Content-Based Image Retrieval)是指通过对图像视觉特征和上下文联系的分析,提取出图像的内容特征作为图像索引来得到所需的图像. 相似度度量方法 在基于内容 ...

  8. 分类识别样本间“距离”总结

    在做分类时常常需要估算不同样本之间的相似性度量(SimilarityMeasurement),这时通常采用的方法就是计算样本间的"距离"(Distance).采用什么样的方法计算距 ...

  9. 图像检索中的相似度度量:EMD距离(Earth Mover's Distance)

    EMD距离即Earth Mover's Distance,是由2000年IJCV期刊文章<The Earth Mover's Distance as a Metric for Image Ret ...

最新文章

  1. MYSQL_使用外键约束(constraint)或触发器(trigger)来进行级联更新、删除
  2. java:final,finally,finalize区别
  3. 巧用Graphviz和pvtrace等工具可视化C函数调用
  4. 数据分析学习03-pandas
  5. 微信小程序python解析获取用户手机号_python获取微信小程序openid及用户信息
  6. git 无法 push 远程仓库 【Note about fast-forwards】
  7. ibatis Dynamic总结(ibatis使用安全的拼接语句,动态查询)
  8. 计算机自爆命令,《我的世界》僵尸自爆指令一览 简单实用!
  9. 希捷发布新NAS产品为小型企业提供存储便利性
  10. 微信小程序生成海报图片导出相册
  11. uni-app 弹幕插件
  12. 学计算机的会excel,轻松学电脑开机即会--EXCEL电子表格商务办公应用(附光盘)
  13. c语言编程p0端口使灯一亮一灭,【单片机学习】第六课:单片机控制第一个外设-LED灯...
  14. warning MSB8012 VS2010
  15. python unicode 标点范围_Unicode 编码 范围
  16. OSChina 周四乱弹 —— 熊孩子以及它们的无良母亲
  17. Linux使用tc模拟网络延迟和丢包
  18. C语言封顶,喜封金顶 | 蓝天·尚东区 -C区封顶大吉 , 美好盛启!
  19. phpstorm常见问题
  20. 记录一下我low到down的心情

热门文章

  1. 关于大电容通低频电,小电容通高频电,大电容滤低频,小电容滤高频的问题解释
  2. 机器人制作入门--初学者
  3. 《缠中说禅108课》92:中枢震荡的监视器
  4. CATIA软件最新版本的优势
  5. 卡莱特led显示屏调试教程_卡莱特千兆网卡控制双模卡调屏教程
  6. 小白科研笔记:理解PointRCNN中的Stage-Two细节
  7. 微信小程序地图移动选点
  8. 六成大学生认为自己毕业10年内会年入百万!网友:知乎上多了,没被社会毒打过吧!...
  9. 再读内核存储管理(7):icache支持
  10. 轻舟已过万重山:华为之路,平板PC之变