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

  • 时间:
  • 浏览:0

      机器学习是时下流行AI技术中有2个很重要的方向,无论是有监督学习还是无监督学习都使用各种“度量”来得到不同样本数据的差异度前一天不同样本数据的类似度。良好的“度量”还上能能显著提高算法的分类或预测的准确率,本文中将介绍机器学习中各种“度量”,“度量”主要由本身,分别为距离、类似度和相关系数,距离的研究主体一般是线性空间中点;而类似度研究主体是线性空间中向量;相关系数研究主体主就说 分布数据。本文主要介绍一些度量。

      KL散度(Kullback–Leibler divergence)又称为相对熵(relative entropy)。KL散度是有2个概率分布P和Q差别的非对称性的度量。 KL散度是用来 度量使用基于Q的编码来编码来自P的样本平均所需的额外的位元数。 典型请况下,P表示数据的真实分布,Q表示数据的理论分布,模型分布,或P的近似分布。

      对于离散随机变量,其概率分布P 和 Q的KL散度可按下式定义为

\[{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)}}}\]

      等价于

\[{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)}}}\]

      即按概率P求得的P和Q的对数商的平均值。KL散度仅当概率P和Q每个人总和均为1,且对于任何i皆满Q(i)>0及P(i)>0时,才有定义。式中总是出现0ln 0的请况,其值按0解决。

      对于连续随机变量,其概率分布P和Q可按积分方法定义为

\[{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} \]

      其中p和q分别表示分布P和Q的密度。

      更一般的,若P和Q为集合X的概率测度,且P关于Q绝对连续,则从P到Q的KL散度定义为

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

      其中,假定右侧的表达形式所处,则dP/dP为Q关于P的R–N导数。

      相应的,若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} \]

      即为P关于Q的相对熵。

      在这里举有2个实际例子来说明KL散度如保计算的,假设P和Q是有2个不同的分布。P是有2个实验次数N=2且概率p为0.5 的二项分布。Q是有2个各种取0,1或2的概率都为1/3的离散均匀分布。

P(x) 0.25 0.5 0.25
Q(x) 0.333 0.333 0.333

      就说 P关于Q的KL散度为

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

      同理可得Q关于P的KL散度

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

      在NLP领域中,Word2Vec得到的词向量还上能能反映词与词之间的语义差别,但在实际任务中大伙儿儿 总是遇到计算文档和文档之间类似度的问提,除了采用词向量叠加生成文章向量的方案,大伙儿儿 还有2个叫做词移距离(Word Mover's Distance)的方案来计算文档和文档之间的类似度。其中文档和文档之间距离定义为:

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

      其中c(i,j)为i ,j有2个词所对应的词向量的欧氏距离, Tij为词语xi转移到词语xj的权值。就说 们如保得到本身权值矩阵T呢?又前一天说本身加权矩阵T代表哪些地方含义呢?本身加权矩阵T一些类似于HMM中的请况转移矩阵,只不过其中的概率转换为权重了而已:



      这里有2个文档1和文档2,去除停用词后,每篇文档仅剩下有2个词。文档1文档的词语集合为{Obama, speaks, media, Illinois},文档2的词语集合为{President greets press Chicago}。大伙儿儿 就说 要用这2个词来比较有2个文档之间的类似度。在这里,大伙儿儿 假设’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中单词的最短总距离,代表有2个文档之间的类似度。当然实际计算中权值矩阵T也都是 随便而来的,词移距离对应有2个优化我呢提,它是就说 计算的:



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