ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

softmax 分类

2021-11-09 12:34:40  阅读:221  来源: 互联网

标签:似然 log 交叉 sum 分类 散度 KL softmax


为什么softmax 里面要用交叉熵?这个问题之前困扰我挺久的,但这两篇博文完美解答了我的疑惑。

交叉熵、相对熵和负对数似然的理解 - 最大的梦想家的文章 - 知乎 https://zhuanlan.zhihu.com/p/268171298

Kullback-Leibler(KL)散度介绍 - 灰灰的文章 - 知乎 https://zhuanlan.zhihu.com/p/100676922

KL散度

KL散度,是衡量原始分布和近似分布(也就是学习出来的分布)之间的差异性,如果差异越大,说明学习出来的近似分布越不拟合。

\[D_{KL}(P\parallel Q) = \sum_{i=1}^N p_i(log(p_i)-log(q_i))\\ S(P) = \sum_{i=1}^K p_i\log p_i\\ CrossEntropy = -\sum_{i=1}^K p_i \log q_i \\ CrossEntropy(y_{true}, y_{pred}) = -\sum_{i=1}^K y_{true}(i) \log y_{pred}(i) \\ \]

可以看到KL散度,实际上就是实际分布的熵S,加上预测分布和实际分布的交叉熵,机器学习的目的就是最小化KL散度,因为KL散度越小,说明两个分布越接近,这意味着我们通过学习得到的分布和实际的分布越接近。

对数似然

假设我们观测到了一连串样本,其中A情况有a个,B情况有b个,C情况有c个。我们的目标是什么?找到一组分布( p(a) p(b) p(c) )使得出现这种状态的概率最高。

因为机器学习学的就是一个分布。

那么我们的目标就是最大化 \(p(a)^a * p(b)^b *p(c)^c\)

用对数来表示就是\(a\log p(a) +b\log p(b) + c \log p(c)\)

实际上我们会这样来表示:\(\sum_{i=1}^N n_i\log p_i\)

我们的目标就是最大化这个似然函数,有的情况下,它是有解的,比如以前概率论中取导数求出极值点,然后得到分布的函数。但是在机器学习中,我们是通过学习得到分布的,并没有一个准确的函数。

还记得之前的交叉熵吗?

对数似然\(\sum_{i=1}^N n_i\log p_i\) 可以除以\(\sum_{i=1}^N n_i\) ,因为这个值是一个常数,那么就得到了:

\(\sum_{i=1}^N p_{true}(i)\log p_{pred}(i)\)

wow!!!!!!!!

这个不就是之前的交叉熵的负数吗?

所以换一种思路去思考对数似然,最大化对数似然实际上就是在最小化KL散度,因为我们的目标就是找到一组最接近真实分布的预测分布。

至此,我们得出结论,负对数似然就是交叉熵。

为什么我们可以用交叉熵来作为损失函数?

之前的KL散度中,是包含了两个组成部分的——自身熵S和交叉熵。

在深度学习分类时,我们用做标签的是一组onehot向量,(0,0,0,……,1,0,0),这代表$p_j = 1 \quad and \quad p_{i|i \neq j} =0 $ ,所以,\(S(P) = \sum_{i=1}^K p_i\log p_i=0\),而交叉熵也可以该写为\(CrossEntropy = -\sum_{i=1}^K p_i \log q_i = -p_j\log q_j = -\log q_j\)

而这个交叉熵和之前提到的负对数似然一致。

这就是为什么可以用交叉熵来做为损失函数。

SoftMax 梯度下降

等待填坑……

标签:似然,log,交叉,sum,分类,散度,KL,softmax
来源: https://www.cnblogs.com/kalicener/p/15528232.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有