700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > MachineLearning(9)-最大似然 最小KL散度 交叉熵损失函数三者的关系

MachineLearning(9)-最大似然 最小KL散度 交叉熵损失函数三者的关系

时间:2024-04-29 11:18:44

相关推荐

MachineLearning(9)-最大似然 最小KL散度 交叉熵损失函数三者的关系

最大似然-最小KL散度-最小化交叉熵损失-三者的关系

问题缘起:给定一组数据(x1,x2,...,xm)(x^1,x^2,...,x^m)(x1,x2,...,xm),希望找到这组数据服从的分布。此种情况下,分布规律用概率密度p(x)表征。

问题归处:如果能够建模/近似建模p(x),就能够利用p(x)进行采样/数据生成。离散化x的空间{xi}i=1n\{x_i\}_{i=1}^n{xi​}i=1n​, 计算{p(xi)}i=1n\{p(x_i)\}_{i=1}^n{p(xi​)}i=1n​,取概率最大的xkx_kxk​作为生成样本。

最大似然:常用来解决这类问题。具体做法:参数还一个概率分布qθ(x)q_\theta(x)qθ​(x),是的观测样本(x1,x2,...,xm)(x^1,x^2,...,x^m)(x1,x2,...,xm)在qθ(x)q_\theta(x)qθ​(x)的似然函数最大。

似然函数:表示的是已知随机变量的取值时,未知参数的取值可能性:L(θ|x)=P(X=x|θ)。直观理解就是在参数θ\thetaθ情况下,出现(x1,x2,...,xm)(x^1,x^2,...,x^m)(x1,x2,...,xm)这组数据的可能性,数学表达式为(概率密度积分记为概率):

L(θ∣x)=∏i=1mpθ(xi)(1)L(θ|x)=\prod_{i=1}^m p_\theta(x_i)\tag{1}L(θ∣x)=i=1∏m​pθ​(xi​)(1)

我们需要调整参数θ\thetaθ来使这个出现这组数据的可能性最大,即最大似然。

为了简化似然函数中的连乘计算,常常会使用对数似然函数,使得连乘转变为连加(取对数不会改变似然的最优解–最优解是自变量的值,最优解值才是因变量的值)。

最大化对数似然问题可以统一为下式,即 最优的参数 是使 对数似然的值最大的θ\thetaθ:

θ∗=arg⁡max⁡θlog⁡∏i=1mpθ(xi)=arg⁡max⁡θ∑i=1mlog⁡pθ(xi)=arg⁡max⁡θ∑i=1m1mlog⁡pθ(xi)≈arg⁡max⁡θEx∼p[log⁡pθ](2)\theta^* = \arg \max_{\theta} \log\prod_{i=1}^m p_\theta(x_i)\\ =\arg \max_{\theta} \sum_{i=1}^m\log p_{\theta}(x_i)\\ =\arg \max_{\theta} \sum_{i=1}^m\frac{1}{m}\log p_{\theta}(x_i)\\ \approx\arg \max_{\theta}\mathbb{E}_{x\sim p}[\log p_{\theta}]\tag{2}θ∗=argθmax​logi=1∏m​pθ​(xi​)=argθmax​i=1∑m​logpθ​(xi​)=argθmax​i=1∑m​m1​logpθ​(xi​)≈argθmax​Ex∼p​[logpθ​](2)

上式子第三行到第四行的转换 为 均值 近似 期望 的离散化计算过程。ppp为目标函数,pθp_\thetapθ​用于近似目标函数为了避免混淆,将pθp_\thetapθ​用qθq_\thetaqθ​表示。上式子可改写成:

θ∗=arg⁡max⁡θEx∼p[log⁡qθ](3)\theta^* =\arg \max_{\theta}\mathbb{E}_{x\sim p}[\log q_{\theta}]\tag{3}θ∗=argθmax​Ex∼p​[logqθ​](3)

最小KL散度:在上式子中加上一项与优化无关的常数项:

θ∗=arg⁡max⁡θ{Ex∼p[log⁡qθ]−Ex∼p[log⁡p]}=arg⁡max⁡θ{∫xp(x)log⁡qθ(x)p(x)dx}=arg⁡max⁡θ−KL(p,q)=arg⁡min⁡θKL(p,q)(4)\theta^* =\arg \max_{\theta}\{\mathbb{E}_{x\sim p}[\log q_{\theta}]-\mathbb{E}_{x\sim p}[\log p]\}\\ =\arg \max_{\theta}\{\int_xp(x)\log\frac{q_\theta(x)}{p(x)}dx\}\\ =\arg \max_{\theta} -KL(p,q)\\ =\arg \min_{\theta} KL(p,q)\tag{4}θ∗=argθmax​{Ex∼p​[logqθ​]−Ex∼p​[logp]}=argθmax​{∫x​p(x)logp(x)qθ​(x)​dx}=argθmax​−KL(p,q)=argθmin​KL(p,q)(4)

交叉熵损失

式(2)添一个负号后可以转换为最小化交叉熵的问题:

arg⁡max⁡θEx∼p[log⁡pθ]=arg⁡min⁡θcrossentropy(p,qθ)(5)\arg \max_{\theta}\mathbb{E}_{x\sim p}[\log p_{\theta}]\\=\arg \min_{\theta}cross\ entropy(p,q_\theta)\tag{5}argθmax​Ex∼p​[logpθ​]=argθmin​crossentropy(p,qθ​)(5)

综上

1.求解最大似然问题 等价于 最小化参数分布和目标分布的KL散度

2.常用于分类问题中的交叉熵损失函数 本质是 极大似然问题,也就是在最小化目标分布模型输出分布的之间的KL散度问题。在实际K分类问题中, 目标分布用one-hot编码表示; 神经网络模型最后全联接层输出的K个得分数值 可以通过softmax 归一化成对应类别的概率分布,即模型输出分布。

参考资料:

似然函数参见百度百科:/item/%E4%BC%BC%E7%84%B6%E5%87%BD%E6%95%B0/6011241?fr=aladdin

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。