最大似然-最小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∏mpθ(xi)(1)
我们需要调整参数θ\thetaθ来使这个出现这组数据的可能性最大,即最大似然。
为了简化似然函数中的连乘计算,常常会使用对数似然函数,使得连乘转变为连加(取对数不会改变似然的最优解–最优解是自变量的值,最优解值才是因变量的值)。
最大化对数似然问题可以统一为下式,即 最优的参数 是使 对数似然的值最大的θ\thetaθ:
θ∗=argmaxθlog∏i=1mpθ(xi)=argmaxθ∑i=1mlogpθ(xi)=argmaxθ∑i=1m1mlogpθ(xi)≈argmaxθEx∼p[logpθ](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θmaxlogi=1∏mpθ(xi)=argθmaxi=1∑mlogpθ(xi)=argθmaxi=1∑mm1logpθ(xi)≈argθmaxEx∼p[logpθ](2)
上式子第三行到第四行的转换 为 均值 近似 期望 的离散化计算过程。ppp为目标函数,pθp_\thetapθ用于近似目标函数为了避免混淆,将pθp_\thetapθ用qθq_\thetaqθ表示。上式子可改写成:
θ∗=argmaxθEx∼p[logqθ](3)\theta^* =\arg \max_{\theta}\mathbb{E}_{x\sim p}[\log q_{\theta}]\tag{3}θ∗=argθmaxEx∼p[logqθ](3)
最小KL散度:在上式子中加上一项与优化无关的常数项:
θ∗=argmaxθ{Ex∼p[logqθ]−Ex∼p[logp]}=argmaxθ{∫xp(x)logqθ(x)p(x)dx}=argmaxθ−KL(p,q)=argminθ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{∫xp(x)logp(x)qθ(x)dx}=argθmax−KL(p,q)=argθminKL(p,q)(4)
交叉熵损失:
式(2)添一个负号后可以转换为最小化交叉熵的问题:
argmaxθEx∼p[logpθ]=argminθ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θmaxEx∼p[logpθ]=argθmincross entropy(p,qθ)(5)
综上:
1.求解最大似然问题 等价于 最小化参数分布和目标分布的KL散度
2.常用于分类问题中的交叉熵损失函数 本质是 极大似然问题,也就是在最小化 目标分布与模型输出分布的之间的KL散度问题。在实际K分类问题中, 目标分布用one-hot编码表示; 神经网络模型最后全联接层输出的K个得分数值 可以通过softmax 归一化成对应类别的概率分布,即模型输出分布。
参考资料:
似然函数参见百度百科:https://baike.baidu.com/item/%E4%BC%BC%E7%84%B6%E5%87%BD%E6%95%B0/6011241?fr=aladdin