参考文献
- 《数据挖掘导论》 2.4 相似性和向异性的度量
- 《深度学习》 3.13 信息论
度量
一、数据对象相似性和向异性的度量
(一)概述
1.定义
非正式的定义为,相似度为两个对象相似程度的度量,两个对象越相似,相似度就越高。相似度通常在0(完全不相似)到1(完全相似)之间取值。相异度(距离)表示两个对象的差异程度,相异度有事在之间取值,有时相异度在
。
下表是不同类型的属性的简单相似度和相异度的计算方法。
| 相关操作 | 相异度 | 相似度 | |
定性 | 标称 | |||
序数 | ||||
数值 | 区间 | |||
比率 |
2.转换
一般来说,任何单调减函数都可以用来将相异度转换到相似度(或相反)。
(二)数据对象之间的相异度度量
1.Minkowski 距离(闵可夫斯基距离)
闵可夫斯基距离(Minkowski distance):
当时,
是曼哈顿距离(
范数),简而言之只能沿着空间的基向量方向从起点移动至终点。
当时,
是欧几里得距离(
范数)。
当时,
是棋盘距离(上确界距离,切比雪夫距离,
或者
范数),其实就等价于
,其中
。
距离(闵可夫斯基距离)满足非负性,对称性,三角不等式。满足以上三个性质的测度称为度量。
2.Mahalanobis距离(马氏距离)
当属性相关、具有不同的方差、并且分布近似于高斯分布时,Mahalanobis距离是有效的。
,其中
是特征矩阵的协方差矩阵
的逆矩阵。
马氏距离相比欧氏距离的优势在于:1.去量纲,2.去共线性。
(三)数据对象之间的相似度度量
相似度具有以下性质:
(1)当且仅当时,
。
(2)对于所有的x和y,
当出现某种度量s非对称时,可以通过来转换。
1.简单匹配系数(SMC)
SMC就是匹配的维数比上总维数。
2.Jaccard系数
相比SMC,Jaccard系数针对不平衡数据进行了改良,它会无视同为0的维度。
3.广义Jaccard系数(Tanimoto系数、谷本系数)
广义Jaccard系数不仅和,
之间的夹角
有关,还和
,
有关。下图就是两个单位向量在不同夹角下的广义Jaccard系数走势图:
从上图也能看出,广义Jaccard系数上下并不对称。
下图是两个同方向的向量在不同下的广义Jaccard系数走势。
下图是两个向量的模的比例从线性变化至
时,在不同夹角下的广义Jaccard系数走势,可以看出两个向量的模差距越大,广义Jaccard系数越小。
因此可以得出,广义Jaccard系数即考虑向量之间的夹角,又考虑向量之间模的差异。
4.余弦相似度
余弦相似度只关心两个向量之间的夹角,不关心向量之间模的差异。
5.相关性-皮尔森相关(Pearson's correlation)
其中是向量
和
的样本协方差:
而是样本标准差:
从样本协方差的公式可以看出,若要两个向量的样本协方差的绝对值足变大,那么除了要求变化幅度够大以外,还要求和
尽量同号,也就是说,向量x和y尽量是“同步变化”的(同增同减,或者一增一减)。
我们对关系数的公式稍作变形:
其中和
分别是标准化后的
和
,也就是说
已经刨去了变化幅度的影响因素,单纯保留同步程度。
6.Bregman散度
给定一个严格凸函数,由该函数生成的Bregman散度(损失函数)
如下:
,其中
是指函数
在
处的梯度向量。
Bregman散度在一元函数(二维空间)内,实际上就是计算。
上图就是一个二维空间里,时,
时的散度
。
实际上Bregman散度就是函数在点
处的一阶泰勒展开的余项。
(四)异种属性组合的相似度(相异度)度量
异种属性的相似度的度量基本上遵循以下算法流程:
step1:计算每个属性的相似度。对第个属性,计算相似度
step2:筛选非对称属性,目的是为了剔除非对称属性,或者存在数据缺失情况的属性。,如果第
个属性属性是非对称的或者存在数据缺失情况,否则
。
step3:计算两个对象之间的相似度。
其本质就是计算各个属性的(加权)均值,因此如果更一般化的话,设权重代表第
个属性的重要性,而且
,那么上式可以修改为
。
同理也能用加权的方法来度量异种属性的对象的相异度,比如加权闵可夫斯基距离:。
二、信息度量
(一)概述
信息论是研究对一个信号包含的信息量的多少进行量化。信息论告诉我们如何对消息设计最优编码以及计算消息的期望长度(尽可能简短的信息包含尽可能多的信息)。信息论的基本想法是一个不太可能发生的事情居然发生了,这一事件要比一个非常可能的事情发生所蕴含的信息量要大。举个例子,“今天早上太阳没有升起”这一事件所蕴含的信息量要远大于“今天早上太阳照常升起”。基于以上思想,量化信息的方法基本可以归纳为:
1.大概率事件蕴含的信息量较少(极端情况下,必然事件不含信息量)
2.小概率事件蕴含的信息量较大
3.独立事件蕴含的信息量具有可加性。
那么根据第一第二条可以得出信息度量函数的特点是:;根据第三条可以得出
,其中
和
是两个相互独立的事件的概率。满足这些特点的初等函数就是对数函数,因此定义一个事件
的自信息(self-information,只是单条信息所含的信息量)为:
这里对数函数的底数是自然常数,其单位为奈特(nats)。如果底数为2,那么其单位是比特(bit)或者香农(shannons)。
(二)信息熵
熵作为热力学中表征物质状态的参量之一,其物理意义是体系混乱程度的度量。在信息论中,单独事件发生概率越小(事件越“散”,越“无规律”,越“混乱”),那么整体的信息量就越大,信息熵思路和热力学中的熵相似。
1.香农熵/信息熵(Shannon Entropy)
当有一连串离散事件的时候,总事件
,香农熵可以对其进行一个信息总量的描述,记作
:
当有一个连续事件的时候,香农熵(微分熵)可以表示为:
香农熵本质就是一系列事件的自信息的期望。
特别指出:(可通过洛必达法则轻松证明)。
2.KL散度/相对熵(Kullback-Leibler Divergence)
当针对同一个随机变量有两个单独的概率分布
和
,如果要衡量这两种分布的差异(
)。如果有一连串的离散事件
,可以用KL散度来衡量这个分布的差异:
首先KL散度是非对称的()。其次KL散度为0,当且仅当
和
在离散状态下是同分布,或者在连续状态下是几乎处处相同。
3.交叉熵
交叉熵和KL散度非常相似,它的计算规则是:
(三)其他信息不纯度度量
1.基尼值(Gini)
Gini是另外一种描述信息不纯度的度量,Gini的计算方式如下:
通过简单推导,可以得出如下结论:,当且仅当
且
时
,此时信息“最纯”;
时
,此时信息“最不纯”。Gini不仅与事件集合内的事件分布有关,还和事件总数有关。
Gini相比信息熵,Gini永远介于0和1之间,而信息熵会因为底数而突破1。
2.分类误差(Classification Error)
分类误差是一种非常简单粗暴的信息不纯度度量,它只关心所有事件中概率最大的那个事件(事件集合里最“纯”的那个事件),并以它来衡量整体信息的不纯度,其计算方式如下:
可以看出,它的值域和Gini相同,只不过它的变化过程和
完全线性相关。
(四)信息增益
三、模型性能度量
(一)概述
(二)
(三)
相关证明与推导
1.余弦相似度推导:
首先证明余弦定理,如上图所示,可以得到:
上面等式组可以转换为如下:
等式(1)减去等式(2)减去等式(3)可得:
同理可得:
根据余弦定理可以轻松证明余弦相似度,具体如下:
如图向量和
之间的夹角为
,其中
,展开可得:
。
根据余弦定理可得:
根据上面两个等式可以得出:。
2.马氏距离公式推导
马氏距离的推导主要分为两步:1.旋转空间,使得特征矩阵线性无关,2.压缩空间,使得各个属性方差为1。
设有一个特征矩阵,其中
,代表第
个属性。
设矩阵,
,其中
为第
个属性的均值。于是可以得出属性的协方差矩阵
,其中
是一个形状为
的实对称矩阵。对
进行特征分解,即存在正交矩阵
,使得
,其中
为
的特征矩阵。反过来说,矩阵
可以使
对角化,即
。(注:这里用了线性代数的一个重要定理:每个实对称阵都可以分解成实特征向量和实特征值:
,其中
)
因此通过线性变化(矩阵),可以将特征矩阵
转换为线性无关的特征矩阵,即
,此时
的协方差矩阵就是对角阵
,
对角线上的值都是
各列的方差。那么
的标准差便是
。把转换过的特征矩阵
的各个属性的方差转换为1(每列除以每列的标准差),即
。
设中有两个对象
和
,设
和
分别是对
和
进行线性变换后得到的结果,它们线性无关,并且方差为1,那么
,
。
和
的
范数的平方可以表示为:
注:《数据挖掘导论》p48的等式(2-14)实际上是一个范数的平方。
3.香农熵的值域
在离散的情况下,香农熵公式为:,表示
个事件所蕴含的信息总量,其中
,由此可以轻松得出
。由于
的Hessian矩阵是负定的,所以
是一个上凸函数,
存在最大值,那么极值问题可以归纳为:
构建Lagrange函数:
求偏导可得:
由等式(组)1和等式2可得:,即
。此时,香农熵
,而且当
时,
。
综上所述,当所有事件按相同概率均匀分布时,香农熵最大。而且当对数的底数等于事件总数时,香农熵的最大值为1(以2为底数的香农熵上来就是归一化的)。