机器学习中的度量——其他度量

Myth丶恋晨 2023-08-17 15:16 180阅读 0赞
  1. 机器学习是时下流行AI技术中一个很重要的方向,无论是有监督学习还是无监督学习都使用各种“度量”来得到不同样本数据的差异度或者不同样本数据的相似度。良好的“度量”可以显著提高算法的分类或预测的准确率,本文中将介绍机器学习中各种“度量”,“度量”主要由两种,分别为距离、相似度和相关系数,距离的研究主体一般是线性空间中点;而相似度研究主体是线性空间中向量;相关系数研究主体主要是分布数据。本文主要介绍其他度量。

1 KL散度——度量两个分布的距离

  1. KL散度(KullbackLeibler divergence)又称为相对熵(relative entropy)。KL散度是两个概率分布PQ差别的非对称性的度量。 KL散度是用来 度量使用基于Q的编码来编码来自P的样本平均所需的额外的位元数。 典型情况下,P表示数据的真实分布,Q表示数据的理论分布,模型分布,或P的近似分布。
  2. 对于离散随机变量,其概率分布P QKL散度可按下式定义为

\[{D_{KL}}\left( {P\left\| Q \right.} \right){\rm{ = }} - \sum\limits_i {P\left( i \right)\ln \frac{ {Q\left( i \right)}}{ {P\left( i \right)}}}\]

  1. 等价于

\[{D_{KL}}\left( {P\left\| Q \right.} \right){\rm{ = }} - \sum\limits_i {P\left( i \right)\ln \frac{ {P\left( i \right)}}{ {Q\left( i \right)}}}\]

  1. 即按概率P求得的PQ的对数商的平均值。KL散度仅当概率PQ各自总和均为1,且对于任何i皆满Q(i)>0P(i)>0时,才有定义。式中出现0ln 0的情况,其值按0处理。
  2. 对于连续随机变量,其概率分布PQ可按积分方式定义为

\[{D_{KL}}\left( {P\left\| Q \right.} \right){\rm{ = }}\int_{ - \infty }^\infty {p\left( x \right)\ln \frac{ {p\left( x \right)}}{ {q\left( x \right)}}dx} \]

  1. 其中pq分别表示分布PQ的密度。
  2. 更一般的,若PQ为集合X的概率测度,且P关于Q绝对连续,则从PQKL散度定义为

\[{D_{KL}}\left( {P\left\| Q \right.} \right){\rm{ = }}\int_X {\ln \frac{ {dP}}{ {dQ}}dP} \]

  1. 其中,假定右侧的表达形式存在,则dP/dPQ关于PRN导数。
  2. 相应的,若P关于Q绝对连续,则

\[{D_{KL}}\left( {P\left\| Q \right.} \right){\rm{ = }}\int_X {\ln \frac{ {dP}}{ {dQ}}dP} {\rm{ = }}\int_X {\ln \frac{ {dP}}{ {dQ}}\ln \frac{ {dP}}{ {dQ}}dQ} \]

  1. 即为P关于Q的相对熵。
  2. 在这里举一个实际例子来说明KL散度如何计算的,假设PQ是两个不同的分布。P是一个实验次数N=2且概率p0.5 的二项分布。Q是一个各种取012的概率都为1/3的离散均匀分布。























X 0 1 2
P(x) 0.25 0.5 0.25
Q(x) 0.333 0.333 0.333
  1. 所以P关于QKL散度为

\[\begin{array}{l} {D_{KL}}\left( {P\left\| Q \right.} \right){\rm{ = }} - \sum\limits_i {P\left( i \right)\ln \frac{ {P\left( i \right)}}{ {Q\left( i \right)}}} \\ \quad \quad \quad \quad \; = 0.25\ln \frac{ {0.25}}{ {0.333}} + 0.5\ln \frac{ {0.5}}{ {0.333}} + 0.25\ln \frac{ {0.25}}{ {0.333}} \\ \quad \quad \quad \quad \; = 0.59892 \\ \end{array}\]

  1. 同理可得Q关于PKL散度

\[\begin{array}{l} {D_{KL}}\left( {Q\left\| P \right.} \right){\rm{ = }} - \sum\limits_i {Q\left( i \right)\ln \frac{ {Q\left( i \right)}}{ {P\left( i \right)}}} \\ \quad \quad \quad \quad \; = 0.333\ln \frac{ {0.333}}{ {0.25}} + 0.333\ln \frac{ {0.333}}{ {0.5}} + 0.333\ln \frac{ {0.333}}{ {0.25}} \\ \quad \quad \quad \quad \; = 0.0555 \\ \end{array}\]

2 词移距离——NLP领域计算文档相似度

  1. NLP领域中,Word2Vec得到的词向量可以反映词与词之间的语义差别,但在实际任务中我们经常遇到计算文档和文档之间相似度的问题,除了采用词向量叠加生成文章向量的方案,我们还有一个叫做词移距离(Word Mover's Distance)的方案来计算文档和文档之间的相似度。其中文档和文档之间距离定义为:

\[\sum\limits_{i,j = 1}^n { {T_{ij}}c\left( {i,j} \right)} \]

  1. 其中c(i,j)为i ,j两个词所对应的词向量的欧氏距离, Tij为词语xi转移到词语xj的权值。那我们怎样得到这个权值矩阵T呢?又或者说这个加权矩阵T代表什么含义呢?这个加权矩阵T有些类似于HMM中的状态转移矩阵,只不过其中的概率转换为权重了而已:

1180694-20190609170150997-1995205364.jpg

  1. 这里有两个文档1和文档2,去除停用词后,每篇文档仅剩下4个词。文档1文档的词语集合为\{Obama, speaks, media, Illinois\},文档2的词语集合为\{President greets press Chicago\}。我们就是要用这四个词来比较两个文档之间的相似度。在这里,我们假设’Obama’这个词在文档1中的的权重为0.5(可以简单地用词频或者TFIDF进行计算),那么由于’Obama’和’president’的相似度很高,那么我们可以给由’Obama’移动到’president’很高的权重,这里假设为0.4,文档2中其他的词由于和’Obama’的距离比较远,所以会分到更小的权重。这里的约束是,由文档1中的某个词i移动到文档2中的各个词的权重之和应该与文档1中的这个词i的权重相等,即’Obama’要把自己的权重0.5分给文档2中的各个词。同样,文档2中的某个词j所接受到由文档1中的各个词所流入的权重之和应该等于词j在文档2中的权重。为何要有这样的操作呢?因为词移距离代表的是文档1要转换为文档2所需要付出的总代价。将这种代价求得下界即最小化之后,即可求得所有文档a中单词转移到文档b中单词的最短总距离,代表两个文档之间的相似度。当然实际计算中权值矩阵T也不是随便而来的,词移距离对应一个优化我呢提,它是这样计算的:

1180694-20190609170215178-414483839.jpg

  1. 其中c(i,j)词向量ij Euclidean 距离,n是词的个数,dd’分别是两个文档中各个词权重(概率或TF-IDF)组成的向量。

转载于:https://www.cnblogs.com/Kalafinaian/p/10994018.html

发表评论

表情:
评论列表 (有 0 条评论,180人围观)

还没有评论,来说两句吧...

相关阅读

    相关 机器学习相似性度量

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