经典机器学习系列之【相似性度量】

作者: 小小何先生 | 来源:发表于2020-03-14 10:37 被阅读0次

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

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

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

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

欧式距离

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

d_{12} = \sqrt{\sum_{k=1}^{n}(x_{1k}-x_{2k})^{2}}

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

Euclidean Distance

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

标准化欧式距离

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

  两个n维向量\alpha (x_{11}, x_{12}, \cdots ,x_{1n})\beta(x_{21}, x_{22}, \cdots x_{2n})之间的标准化欧式距离为:

d_{12} = \sqrt{\sum_{k=1}^{n}( \frac{x_{1k}-x_{2k}}{s_{k}}})^{2}

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

曼哈顿距离

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

[图片上传失败...(image-8c1e7e-1584153455896)]

  用数学表示为:两个n维向量\alpha (x_{11}, x_{12}, \cdots ,x_{1n})\beta(x_{21}, x_{22}, \cdots x_{2n})之间的标曼哈顿距离为:

d_{12}=\sum_{k=1}^{n} |x_{1k}-x_{2k}|

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

切比雪夫距离

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

[图片上传失败...(image-9b9180-1584153455896)]

  两个n维向量\alpha (x_{11}, x_{12}, \cdots ,x_{1n})\beta(x_{21}, x_{22}, \cdots x_{2n})之间的标切比雪夫距离为:

d_{12}=max_{i}(|x_{1i}-x_{2i}|)

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

d_{12}=\lim _{k \rightarrow \infty}\left(\sum_{i=1}^{n}\left|x_{1 i}-x_{2 i}\right|^{k}\right)^{1 / k}

闵可夫斯基距离

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

  两个n维向量\alpha (x_{11}, x_{12}, \cdots ,x_{1n})\beta(x_{21}, x_{22}, \cdots x_{2n})之间的标闵可夫斯基距离为:

d_{12}=\sqrt[p]{\sum_{k=1}^{n}\left(x_{1 k}-x_{2 k}\right)^{p}}

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

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

  其图形表示如下:

直线到中心原点的距离

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

余弦距离

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

  数学表示:两个n维向量\alpha (x_{11}, x_{12}, \cdots ,x_{1n})\beta(x_{21}, x_{22}, \cdots x_{2n})之间的标夹角余弦度量为:

cos(\theta)=\frac{\alpha \cdot \beta}{|\alpha||\beta|}

  即:

\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}}}

马氏距离

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

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

  设有M个向量X_{1},X_{2},\cdots,X_{M},协方差矩阵记为S,均值记为向量\mu。则样本向量X\mu的马氏距离

D(X)=\sqrt{(X-\mu)^{T}S^{-1}(X-\mu)}

  向量X_{i}X_{j}之间的马氏距离

D(X_{i},X_{j})=\sqrt{(X_{i}-X_{j})^{T}S^{-1}(X_{i}-X_{j})}

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

D(X_{i},X_{j})=\sqrt{(X_{i}-X_{j})^{T}(X_{i}-X_{j})}

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

  马氏距离具有以下特点

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

海明距离

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

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

杰卡德距离

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

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

J(A, B)=\frac{|A \cap B|}{|A \cup B|}

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

J_{\delta}(A, B)=1-J(A, B)=\frac{|A \cup B|-|A \cap B|}{|A \cup B|}

相关距离

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

\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相关度越高。当XY线性相关时,相关系数取值为1(正线性相关)或-1(负线性相关)。

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

D_{XY}=1-\rho_{XY}

信息熵

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

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

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

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

Entropy(X)=\sum_{i=1}^{n}-p_{i}log_{2}p_{i}

  其中,n为样本X的分类数;p_{i}X中第i类元素出现的概率。

基于核函数的度量

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

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

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

我的微信公众号名称:深度学习先进智能决策
微信公众号ID:MultiAgent1024
公众号介绍:主要研究深度学习、强化学习、机器博弈等相关内容!期待您的关注,欢迎一起学习交流进步!

相关文章

网友评论

    本文标题:经典机器学习系列之【相似性度量】

    本文链接:https://www.haomeiwen.com/subject/bnymshtx.html