cross entropy,logistic loss 和 KL-divergence的关系和区别

先给出结论
  • cross entropy和KL-divergence作为目标函数效果是一样的,从数学上来说相差一个常数。
  • logistic loss 是cross entropy的一个特例

1. cross entropy和KL-divergence

假设两个概率分布 p(x) p ( x ) q(x) q ( x ) H(p,q) H ( p , q ) 为cross entropy, DKL(p|q) D K L ( p | q ) 为 KL divergence。

交叉熵的定义:

H(p,q)=xp(x)logq(x) H ( p , q ) = − ∑ x p ( x ) log ⁡ q ( x )

KL divergence的定义:

DKL(p|q)=xp(x)logp(x)q(x) D K L ( p | q ) = ∑ x p ( x ) log ⁡ p ( x ) q ( x )

推导:

DKL(p|q)=xp(x)logp(x)q(x)=x(p(x)logp(x)p(x)logq(x))=H(p)xp(x)logq(x)=H(p)+H(p,q)(1)(2)(3)(4) (1) D K L ( p | q ) = ∑ x p ( x ) log ⁡ p ( x ) q ( x ) (2) = ∑ x ( p ( x ) log ⁡ p ( x ) − p ( x ) log ⁡ q ( x ) ) (3) = − H ( p ) − ∑ x p ( x ) log ⁡ q ( x ) (4) = − H ( p ) + H ( p , q )

也就是说,cross entropy也可以定义为:

H(p,q)=DKL(p|q)+H(p) H ( p , q ) = D K L ( p | q ) + H ( p )

直观来说,由于p(x)是已知的分布,H(p)是个常数,cross entropy和KL divergence之间相差一个常数。


2. logistic loss 和cross entropy

假设 p{y,1y} p ∈ { y , 1 − y } q{y^,1y^} q ∈ { y ^ , 1 − y ^ } , cross entropy可以写为logistic loss:

H(p,q)=xp(x)logq(x)=ylogy^(1y)log(1y^) H ( p , q ) = − ∑ x p ( x ) log ⁡ q ( x ) = − y log ⁡ y ^ − ( 1 − y ) log ⁡ ( 1 − y ^ )

KL-DivergenceKL散度)是一种用来衡量两个概率分布之间差异的指标。它始终大于等于0,当且仅当两个分布完全相同时,KL散度等于0。KL散度具有非对称性,即DKL(P||Q)不等于DKL(Q||P),并且不满足三角不等式的形式,因此KL散度不是用来衡量距离的指标。 KL散度的公式可以表示为DKL(P||Q) = ΣP(x) * log(P(x) / Q(x)),其中P和Q分别是两个概率分布,x表示分布中的某个事件。这个公式可以用来计算P相对于Q的信息损失,或者可以理解为在使用Q来近似表示P时的额外损失。 在机器学习中,KL散度经常被用于衡量两个概率分布之间的差异,例如在概率生成模型和信息检索中。在PyTorch中,可以使用F.kl_div()函数来计算KL散度。这个函数的原型为F.kl_div(input, target, size_average=None, reduce=None, reduction='mean'),其中input和target分别是输入和目标张量。 总结起来,KL散度是一种用来衡量两个概率分布之间差异的指标,它不是用来衡量距离的,并且具有非对称性。在机器学习中,KL散度常被用于衡量模型输出与真实分布之间的差异。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [浅谈KL散度](https://blog.csdn.net/weixin_33774615/article/details/85768162)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [KL Divergence ——衡量两个概率分布之间的差异](https://blog.csdn.net/weixin_42521185/article/details/124364552)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值