文章目录

  • 欧式距离
  • 标准化欧式距离
  • 曼哈顿距离
  • 切比雪夫距离
  • 闵可夫斯基距离
  • 余弦距离
  • 马氏距离
  • 海明距离
  • 杰卡德距离
  • 相关距离
  • 信息熵
  • 基于核函数的度量

  相似性度量是机器学习中一个非常基础的概念:是评定两个事物之间相似程度的一种度量,尤其是在聚类、推荐算法中尤为重要。其本质就是一种量化标准。在机器学习中主要是用于衡量样本之间的相似程度。

  为什么要有一个衡量标准?这世间万物都是公说公有理,婆说婆有理,而这衡量标准一旦定下来,大家都得在这里面玩。这人世间的法律制度,大大小小的条文规矩都是衡量标准。

  那有些同学可能就会说了,我也想制定标准,可以是可以,但是得大家听你的吖,就像制定下面这些距离标准的人哪个不是赫赫有名。现在也有一些论文和机构在制定标准,背后都是学术界的泰斗人物。如果你不够强大到改变规则,就好好研究规则,在里面玩,如果你能改变规则,那就好好研究规则,在改规则里面玩,不知道要香到哪里去了,emmmm。

  回归正题,我们有些场合需要依据样本的自相似性来对样本进行分类,而哪些样本之间很像,哪些样本之间不像,需要一个度量标准,相似性度量的方法有很多,主要包括以下几种:

欧式距离

  欧式距离(Euclidean Distance)也称欧几里得距离或欧几里得度量,是一种最常用的一种度量方法,主要描述为以下数学形式:两个nnn维向量α(x11,x12,⋯,x1n)\alpha (x_{11}, x_{12}, \cdots ,x_{1n})α(x11​,x12​,⋯,x1n​)和β(x21,x22,⋯x2n)\beta(x_{21}, x_{22}, \cdots x_{2n})β(x21​,x22​,⋯x2n​)之间的欧式距离(euclidean distance)为其对应分量的平方和再开根号:

d12=∑k=1n(x1k−x2k)2d_{12} = \sqrt{\sum_{k=1}^{n}(x_{1k}-x_{2k})^{2}} d12​=k=1∑n​(x1k​−x2k​)2​

  其实说白了就是欧几里得空间中两点的“普通”直线距离。

  欧式距离是一种二范数形式,具有在特征空间中转化可旋转的不变性,一般趋向于构建球形聚类簇。然而线性变换会使其相关性产生形变。

标准化欧式距离

  根据数据各维分量的不同,将各个分量部分都“标准化”到均值、方差相等。这样做的目的是使每一个属性对距离的贡献率相同,消除特征之间量纲差异

  两个nnn维向量α(x11,x12,⋯,x1n)\alpha (x_{11}, x_{12}, \cdots ,x_{1n})α(x11​,x12​,⋯,x1n​)和β(x21,x22,⋯x2n)\beta(x_{21}, x_{22}, \cdots x_{2n})β(x21​,x22​,⋯x2n​)之间的标准化欧式距离为:

d12=∑k=1n(x1k−x2ksk)2d_{12} = \sqrt{\sum_{k=1}^{n}( \frac{x_{1k}-x_{2k}}{s_{k}}})^{2} d12​=k=1∑n​(sk​x1k​−x2k​​​)2

  其实sks_{k}sk​表示方差,方差的倒数可以看作是一种权重,标准化欧式距离本质上是一种加权欧式距离

曼哈顿距离

  曼哈顿距离(Manhattan Distance)也称为L1距离、城市区块距离(City Block Distance) 。基于曼哈顿纽约市区的网格状街道地理所得出来的一种距离。

  用数学表示为:两个nnn维向量α(x11,x12,⋯,x1n)\alpha (x_{11}, x_{12}, \cdots ,x_{1n})α(x11​,x12​,⋯,x1n​)和β(x21,x22,⋯x2n)\beta(x_{21}, x_{22}, \cdots x_{2n})β(x21​,x22​,⋯x2n​)之间的标曼哈顿距离为:

d12=∑k=1n∣x1k−x2k∣d_{12}=\sum_{k=1}^{n} |x_{1k}-x_{2k}| d12​=k=1∑n​∣x1k​−x2k​∣

  在欧式空间的直角坐标系上,两点所形成的线段对轴产生的投影的距离总和。这种距离不符合在特征空间中转化和旋转的不变性

切比雪夫距离

  切比雪夫距离(Chebyshev Distance)也称为棋盘距离,是由一致范数(uniform norm)(或称为上确界范数)所衍生的度量,也是超凸度量(injective metric space)的一种方法。它的典型应用是解决国际象棋中的国王从一个格子走到另一个格子最少需要几步的问题。

  两个nnn维向量α(x11,x12,⋯,x1n)\alpha (x_{11}, x_{12}, \cdots ,x_{1n})α(x11​,x12​,⋯,x1n​)和β(x21,x22,⋯x2n)\beta(x_{21}, x_{22}, \cdots x_{2n})β(x21​,x22​,⋯x2n​)之间的标切比雪夫距离为:

d12=maxi(∣x1i−x2i∣)d_{12}=max_{i}(|x_{1i}-x_{2i}|) d12​=maxi​(∣x1i​−x2i​∣)

  描述的是α\alphaα和β\betaβ中对应分量差值中值最大的那一个。通过等价性可以由放缩法和夹逼定理(squeese theorem)证得其等价于:

d12=lim⁡k→∞(∑i=1n∣x1i−x2i∣k)1/kd_{12}=\lim _{k \rightarrow \infty}\left(\sum_{i=1}^{n}\left|x_{1 i}-x_{2 i}\right|^{k}\right)^{1 / k} d12​=k→∞lim​(i=1∑n​∣x1i​−x2i​∣k)1/k

闵可夫斯基距离

  闵可夫斯基距离(Minkowski Distance)也称为闵式距离,定义如下:

  两个nnn维向量α(x11,x12,⋯,x1n)\alpha (x_{11}, x_{12}, \cdots ,x_{1n})α(x11​,x12​,⋯,x1n​)和β(x21,x22,⋯x2n)\beta(x_{21}, x_{22}, \cdots x_{2n})β(x21​,x22​,⋯x2n​)之间的标闵可夫斯基距离为:

d12=∑k=1n(x1k−x2k)ppd_{12}=\sqrt[p]{\sum_{k=1}^{n}\left(x_{1 k}-x_{2 k}\right)^{p}} d12​=pk=1∑n​(x1k​−x2k​)p​

  • 当p=1p=1p=1时,它是曼哈顿距离
  • 当p=2p=2p=2时,它是欧式距离
  • 当p=∞p=\inftyp=∞时,它是切比雪夫距离

  所以闵式距离是上述三种距离的一般性表示。

  其图形表示如下:

  闵氏距离将各个分量的量纲,也就是“单位”当作相同看待没有考虑各个量的分布(如期望、方差等)可能不同。

余弦距离

  向量的几何意义不只包含方向,余弦距离(cosine distance)是度量两个向量方向差异的一种方法。是方向性地判断,而不是大小的判断。两个方向相同的矢量的余弦相似度为1 ,两个相对于彼此成90°角的向量的相似度为0,而两个完全相反的向量的相似度为-1,而与幅度无关。

  数学表示:两个nnn维向量α(x11,x12,⋯,x1n)\alpha (x_{11}, x_{12}, \cdots ,x_{1n})α(x11​,x12​,⋯,x1n​)和β(x21,x22,⋯x2n)\beta(x_{21}, x_{22}, \cdots x_{2n})β(x21​,x22​,⋯x2n​)之间的标夹角余弦度量为:

cos(θ)=α⋅β∣α∣∣β∣cos(\theta)=\frac{\alpha \cdot \beta}{|\alpha||\beta|} cos(θ)=∣α∣∣β∣α⋅β​

  即:

cos⁡(θ)=∑k=1nx1kx2k∑k=1nx1k2∑k=1nx2k2\cos (\theta)=\frac{\sum_{k=1}^{n} x_{1 k} x_{2 k}}{\sqrt{\sum_{k=1}^{n} x_{1 k}^{2}} \sqrt{\sum_{k=1}^{n} x_{2 k}^{2}}} cos(θ)=∑k=1n​x1k2​​∑k=1n​x2k2​​∑k=1n​x1k​x2k​​

马氏距离

  马氏距离(Mahalanobis distance)是一种基于样本分布的一种距离,它是规范化的主成分空间中的欧式距离。

  那什么是规范化的主成分空间呢?规范化的主成分空间就是利用主成分分析,对一些数据进行主成分分解,再对所有主成分分解轴做归一化,形成新的坐标轴,由这些坐标轴组成的空间就是规范化的主成分空间。

  设有MMM个向量X1X_{1}X1​,X2X_{2}X2​,⋯\cdots⋯,XMX_{M}XM​,协方差矩阵记为SSS,均值记为向量μ\muμ。则样本向量XXX到μ\muμ的马氏距离

D(X)=(X−μ)TS−1(X−μ)D(X)=\sqrt{(X-\mu)^{T}S^{-1}(X-\mu)} D(X)=(X−μ)TS−1(X−μ)​

  向量XiX_{i}Xi​与XjX_{j}Xj​之间的马氏距离

D(Xi,Xj)=(Xi−Xj)TS−1(Xi−Xj)D(X_{i},X_{j})=\sqrt{(X_{i}-X_{j})^{T}S^{-1}(X_{i}-X_{j})} D(Xi​,Xj​)=(Xi​−Xj​)TS−1(Xi​−Xj​)​

  若协方差矩阵是单位矩阵(各样本向量之间独立同分布),则XiX_{i}Xi​与XjX_{j}Xj​之间的马氏距离等于它们的欧式距离

D(Xi,Xj)=(Xi−Xj)T(Xi−Xj)D(X_{i},X_{j})=\sqrt{(X_{i}-X_{j})^{T}(X_{i}-X_{j})} D(Xi​,Xj​)=(Xi​−Xj​)T(Xi​−Xj​)​

  如果协方差矩阵是对角矩阵的话,此时的马氏距离就变成了标准化欧式距离。

  马氏距离具有以下特点

  • 量纲无关,排除变量之间的相关性的干扰;
  • 马氏距离的计算是建立在总体样本的基础上;因为我们考虑了样本的均值,样本的协方差。
  • 计算马氏距离过程中,要求总体样本数大于样本的维数。

海明距离

  两个等长二进制串S1S_{1}S1​和S2S_{2}S2​,将其中一个变换为另一个所需要的最小变换次数

  例如:字符串“1111”与“1001”之间的海明距离为2。

杰卡德距离

  在了解杰卡德距离之前我们需要了解一下杰卡德相似系数(Jaccard similarity coefficient):

  两个集合AAA和BBB的交集元素在AAA、BBB的并集中所占的比例,称为两个集合的杰卡德相似系数,用符号J(A,B)J(A,B)J(A,B)表示:

J(A,B)=∣A∩B∣∣A∪B∣J(A, B)=\frac{|A \cap B|}{|A \cup B|} J(A,B)=∣A∪B∣∣A∩B∣​

  杰卡德距离描述的是与杰卡德相似系数相反的一个概念:用两个集合中不同元素占所有元素的比例来衡量两个集合的区分度。

Jδ(A,B)=1−J(A,B)=∣A∪B∣−∣A∩B∣∣A∪B∣J_{\delta}(A, B)=1-J(A, B)=\frac{|A \cup B|-|A \cap B|}{|A \cup B|} Jδ​(A,B)=1−J(A,B)=∣A∪B∣∣A∪B∣−∣A∩B∣​

相关距离

  相关系数:衡量随机变量XXX与YYY相关程度的一种方法,相关系数的取值范围是[−1,1][-1,1][−1,1]。如皮尔逊相关系数定义为:

ρXY=Cov⁡(X,Y)D(X)D(Y)=E((E−EX)(Y−EY))D(X)D(Y)\rho_{XY}=\frac{\operatorname{Cov}(X, Y)}{\sqrt{D(X)} \sqrt{D(Y)}}=\frac{E((E-E X)(Y-E Y))}{\sqrt{D(X)} \sqrt{D(Y)}} ρXY​=D(X)​D(Y)​Cov(X,Y)​=D(X)​D(Y)​E((E−EX)(Y−EY))​

  相关系数的绝对值越大,则表明XXX与YYY相关度越高。当XXX与YYY线性相关时,相关系数取值为1(正线性相关)或-1(负线性相关)。

  有了相关系数之后我们定义相关距离(correlation distance):

DXY=1−ρXYD_{XY}=1-\rho_{XY} DXY​=1−ρXY​

信息熵

  上文讨论的都是度量两个样本(向量)之间的距离

  信息熵(information entropy)描述的是整个系统内部样本之间的一个距离,或者称之为系统内样本分布的集中程度(一致程度)、分散程度、混乱程度(不一致程度)。

  如果数据分布越分散,对应的信息熵就越大;反之,如果分布越有序,信息熵则越小。

  信息熵的公式可以表示为如下形式:

Entropy(X)=∑i=1n−pilog2piEntropy(X)=\sum_{i=1}^{n}-p_{i}log_{2}p_{i} Entropy(X)=i=1∑n​−pi​log2​pi​

  其中,nnn为样本XXX的分类数;pip_{i}pi​为XXX中第iii类元素出现的概率。

基于核函数的度量

  我们为什么要用到核函数?因为原始样本空间中的数据是线性不可分的,采用核函数映射到高维空间,在这个高维空间中使其线性可分。

  因此,对于原始样本空间当中,距离函数需满足:

  • d(x,y)>=0d(x,y)>=0d(x,y)>=0,即距离要非负;d(x,y)=0d(x,y)=0d(x,y)=0,即自身的距离为0。
  • 对称性,即d(x,y)=d(y,x)d(x,y)=d(y,x)d(x,y)=d(y,x)。

公众号介绍:主要研究深度学习、强化学习、机器博弈等相关内容!期待您的关注,欢迎一起学习交流进步!

经典机器学习系列(七)【聚类分析前序--相似性度量】相关推荐

  1. 机器学习系列七:朴素贝叶斯

    一.算法原理 贝叶斯公式描述了两个相关的随机事件或随机变量之间的概率关系.贝叶斯分类器使用贝叶斯公式计算样本属于某一类的条件概率值,并将样本判定为概率值最大的那个类. 贝叶斯公式为: 我们把P(A)称 ...

  2. 程序员面试、算法研究、编程艺术、红黑树、机器学习5大经典原创系列集锦与总结

    程序员面试.算法研究.编程艺术.红黑树.机器学习5大经典原创系列集锦与总结 (七月在线:https://www.julyedu.com/,面试 & 算法 & 机器学习在线课程) 作者: ...

  3. 神级:程序员面试、算法研究、编程艺术、红黑树、机器学习5大经典原创系列集锦与总结

    https://blog.csdn.net/v_JULY_v/article/details/6543438 https://blog.csdn.net/v_JULY_v/article/detail ...

  4. Weka中数据挖掘与机器学习系列之Exploer界面(七)

    不多说,直接上干货! Weka的Explorer(探索者)界面,是Weka的主要图形化用户界面,其全部功能都可通过菜单选择或表单填写进行访问.本博客将详细介绍Weka探索者界面的图形化用户界面.预处理 ...

  5. 机器学习、数据科学与金融行业 系列七:金融科技(FinTech)上 --- 基本状况

    机器学习.数据科学与金融行业 系列七:金融科技(FinTech)上 - 基本状况 "The major winners will be financial services companie ...

  6. 程序员面试、算法研究、编程艺术、红黑树、数据挖掘5大经典原创系列集锦与总结

    点击打开链接(具体详情 点击链接) 程序员面试.算法研究.编程艺术.红黑树.数据挖掘5大经典原创系列集锦与总结 (七月在线:点击打开链接,面试 & 算法 & 机器学习在线课程) 作者: ...

  7. 基于Spark的机器学习实践 (七) - 回归算法

    0 相关源码 1 回归分析概述 1.1 回归分析介绍 ◆ 回归与分类类似,只不过回归的预测结果是连续的,而分类的预测结果是离散的 ◆ 如此,使得很多回归与分类的模型可以经过改动而通用 ◆ 因此对于回归 ...

  8. Web前端开发人员和设计师必读文章推荐【系列七】

    这篇文章主要收录了十二月份发布在梦想天空的优秀文章,特别推荐给Web开发人员和设计师阅读.梦天空博客关注前端开发技术,展示最新 HTML5 和 CSS3 技术应用,分享实用的 jQuery 插件,推荐 ...

  9. 机器学习系列之EM算法

    机器学习系列之EM算法 我讲EM算法的大概流程主要三部分:需要的预备知识.EM算法详解和对EM算法的改进. 一.EM算法的预备知识 1.极大似然估计 (1)举例说明:经典问题--学生身高问题 我们需要 ...

  10. 阿里巴巴机器学习系列课程

    亲爱的同学们,福利来临!随着机器学习领域的发展越来越火,阿里云机器学习PAI为广大机器学习爱好的学生提供免费的一站式算法平台,该平台提供上百种算法,并且兼容TensorFlow.Caffe.MXNET ...

最新文章

  1. java项目中怎么查看用的序列_如何在Java应用程序中使用序列化分类器对...
  2. JDBC如何连接mysql数据库附详细步骤
  3. /etc/ld.so.conf.d/目录下文件的作用
  4. oatdata结构详解
  5. Vue Cli 3.x项目如何部署到IIS子站点下
  6. 利用mdadm工具构建RAID 0/1/5/6/10磁盘阵列实战(超详细)
  7. LIO-SAM探秘第三章之代码解析(四) --- mapOptmization.cpp (2)
  8. 树莓派安装TPLINK_WN725n v2网卡驱动
  9. (转)芒格:投资成功不是频繁交易,而是好的决策和耐心
  10. 创业基础(第三章:创业机会及其识别与评价) 来自高校:全国大学生创新创业实践联盟 分类:创新创业 学习规则:按序学习
  11. QQ空间自动点赞脚本1
  12. Android中热更新实现--Sophix方案
  13. linux mysqldump 备份所有数据库,mysqldump导出所有数据库
  14. 中文期刊分类(blog版)
  15. 一文搞懂 db2 的锁(表锁、行锁、共享锁、排他锁)
  16. CH552-HID 键盘 鼠标
  17. 如何在 Visual Paradigm 上执行静默安装
  18. 电影《忠犬八公》观后感
  19. Dockerfile 命令详解
  20. 个人微信/支付宝免签支付系统源码

热门文章

  1. IronJS与CSScript
  2. 学英语怎样才能事半功倍
  3. html2canvas 像素,html2canvas 如何生成高清图片?
  4. Java为什么要有堆外内存_作为 Java 开发者,你需要了解的堆外内存知识
  5. java金额格式化 .00_Java中金额的格式化###,###.00
  6. 游戏筑基开发之二进制文件操作的那点事儿(C语言)
  7. MySQL主从同步(一)——原理详解
  8. find 命令详解 基于文件大小,名字和权限等的查找策略以及-path和-prune的详细解释
  9. Canonical发布企业级Kubernetes 1.14重点让使用者简单管理
  10. 开启Mac原生NTFS支持