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

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

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

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

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

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


欧式距离

image.png


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

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


标准化欧式距离


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


image.png

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


曼哈顿距离


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


20200217091452164.png


image.png

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


切比雪夫距离


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


image.png


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


image.png


闵可夫斯基距离


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

image.png

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

  其图形表示如下:

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


余弦距离


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

image.png

马氏距离


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

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


image.png


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

image.png

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

  马氏距离具有以下特点

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

海明距离


  两个等长二进制串S 1 S_{1}S1S 2 S_{2}S2,将其中一个变换为另一个所需要的最小变换次数

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


杰卡德距离


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

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

image.png

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

image.png

相关距离

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


image.png

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

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


image.png

信息熵


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

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

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

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


image.png

基于核函数的度量


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

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

image.png

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

相关文章
|
机器学习/深度学习 算法 知识图谱
机器学习常用距离度量
机器学习常用距离度量
134 0
|
2月前
|
机器学习/深度学习 算法 搜索推荐
机器学习入门(四):距离度量方法 归一化和标准化
机器学习入门(四):距离度量方法 归一化和标准化
|
4月前
|
机器学习/深度学习 算法 数据挖掘
【机器学习】聚类算法中的距离度量有哪些及公式表示?
聚类算法中常用的距离度量方法及其数学表达式,包括欧式距离、曼哈顿距离、切比雪夫距离、闵可夫斯基距离、余弦相似度等多种距离和相似度计算方式。
383 1
|
4月前
|
机器学习/深度学习 数据可视化 搜索推荐
【python机器学习】python电商数据K-Means聚类分析可视化(源码+数据集+报告)【独一无二】
【python机器学习】python电商数据K-Means聚类分析可视化(源码+数据集+报告)【独一无二】
192 0
|
7月前
|
机器学习/深度学习 算法 数据挖掘
【机器学习】为什么K-means算法使用欧式距离度量?
【5月更文挑战第11天】【机器学习】为什么K-means算法使用欧式距离度量?
|
7月前
|
机器学习/深度学习 算法 Python
【Python机器学习专栏】Python中的机器学习评估与度量指标
【4月更文挑战第30天】本文介绍了Python中机器学习模型的评估方法和度量指标。主要包括留出法、交叉验证和自助法等评估方法,以及准确率、精确率、召回率、F1分数、AUC-ROC曲线、MSE、RMSE和R方值等度量指标。选择合适的评估标准对于理解模型性能和适应不同任务至关重要。
203 0
|
机器学习/深度学习 算法 前端开发
【机器学习基础】机器学习的模型评估(评估方法及性能度量原理及主要公式)
【机器学习基础】机器学习的模型评估(评估方法及性能度量原理及主要公式)
1107 0
|
机器学习/深度学习 算法
【MATLAB第42期】基于MATLAB的贝叶斯优化决策树分类算法与网格搜索、随机搜索对比,含对机器学习模型的评估度量介绍
【MATLAB第42期】基于MATLAB的贝叶斯优化决策树分类算法与网格搜索、随机搜索对比,含对机器学习模型的评估度量介绍
|
机器学习/深度学习 算法 Python
机器学习 - [源码实现决策树小专题]决策树中混杂度数值度量的Python编程实现(信息熵和基尼系数的计算)
顾名思义,所谓混杂度就是指无序程度,一般使用“信息熵”(香浓熵)或者“及逆序数进行度量”。本文介绍及其学习决策树算法中混杂度数值度量的Python编程实现
182 0
|
机器学习/深度学习
简述机器学习模型性能度量中Precision、Recall、BEP、F1、ROC和AUC等概念的联系和区别
简述机器学习模型性能度量中Precision、Recall、BEP、F1、ROC和AUC等概念的联系和区别
559 0
简述机器学习模型性能度量中Precision、Recall、BEP、F1、ROC和AUC等概念的联系和区别