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

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

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

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

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

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

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

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

最大化对数似然问题可以统一为下式,即 最优的参数 是使 对数似然的值最大的 θ \theta θ
θ ∗ = arg ⁡ max ⁡ θ log ⁡ ∏ i = 1 m p θ ( x i ) = arg ⁡ max ⁡ θ ∑ i = 1 m log ⁡ p θ ( x i ) = arg ⁡ max ⁡ θ ∑ i = 1 m 1 m log ⁡ p θ ( x i ) ≈ arg ⁡ max ⁡ θ E x ∼ 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θmaxlogi=1mpθ(xi)=argθmaxi=1mlogpθ(xi)=argθmaxi=1mm1logpθ(xi)argθmaxExp[logpθ](2)

上式子第三行到第四行的转换 为 均值 近似 期望 的离散化计算过程。 p p p为目标函数, p θ p_\theta pθ用于近似目标函数为了避免混淆,将 p θ p_\theta pθ q θ q_\theta qθ表示。上式子可改写成:
θ ∗ = arg ⁡ max ⁡ θ E x ∼ p [ log ⁡ q θ ] (3) \theta^* =\arg \max_{\theta}\mathbb{E}_{x\sim p}[\log q_{\theta}]\tag{3} θ=argθmaxExp[logqθ](3)

最小KL散度:在上式子中加上一项与优化无关的常数项:
θ ∗ = arg ⁡ max ⁡ θ { E x ∼ p [ log ⁡ q θ ] − E x ∼ p [ log ⁡ p ] } = arg ⁡ max ⁡ θ { ∫ x p ( x ) log ⁡ q θ ( x ) p ( x ) d x } = arg ⁡ max ⁡ θ − K L ( p , q ) = arg ⁡ min ⁡ θ K L ( 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{Exp[logqθ]Exp[logp]}=argθmax{xp(x)logp(x)qθ(x)dx}=argθmaxKL(p,q)=argθminKL(p,q)(4)

交叉熵损失
式(2)添一个负号后可以转换为最小化交叉熵的问题:
arg ⁡ max ⁡ θ E x ∼ p [ log ⁡ p θ ] = arg ⁡ min ⁡ θ c r o s s   e n t r o p y ( 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θmaxExp[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

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值