交叉熵损失函数的概念和理解

交叉熵损失函数的概念和理解

觉得有用的话,欢迎一起讨论相互学习~


我的微博我的github我的B站

公式

l o s s = ∑ i ( y i ⋅ l o g ( y _ p r e d i c t e d i ) + ( 1 − y i ) ⋅ l o g ( 1 − y _ p r e d i c t e d i ) ) loss =\sum_{i}{(y_{i} \cdot log(y\_predicted_{i}) +(1-y_{i}) \cdot log(1-y\_predicted_{i}) )} loss=i(yilog(y_predictedi)+(1yi)log(1y_predictedi))

定义

  • 在信息论中,若一个符号字符串中的每个字符的出现概率 P i P_{i} Pi已知,则可用香农熵估计该字符串中每个符号 S i S_{i} Si编码所需的平均最小位数.
    H = − ∑ i ( p i ⋅ l o g 2 ( p i ) ) H=-\sum_{i}({p_{i} \cdot log_{2}(p_{i})}) H=i(pilog2(pi))
  • 除了数学表达式相似以外,完全可以将这里的熵和其热力学概念联系起来.
  • 例如,可计算单次"HELLO"的熵:
    p ( " H " ) = p ( " E " ) = p ( " O " ) = 1 / 5 = 0.2 p ( " L " ) = 2 / 5 = 0.4 H = − 3 ∗ 0.2 ∗ l o g 2 ( 0.2 ) − 0.4 ∗ l o g 2 ( 0.4 ) = 1.92193 p("H")=p("E")=p("O")=1/5=0.2\\p("L")=2/5=0.4\\H=-3*0.2*log_{2}(0.2)-0.4*log_{2}(0.4)=1.92193 p("H")=p("E")=p("O")=1/5=0.2p("L")=2/5=0.4H=30.2log2(0.2)0.4log2(0.4)=1.92193
  • 因此,采用最优编码方案时,"Hello"中的每个符号需要2位计算单词"Hello"中的每个符号需要2位.
  • 在对符号进行编码时,如果假设了其他的概率 q i q_{i} qi而非真实概率 p i p_{i} pi,则对每个符号所需的编码的长度就会更大.这正是交叉熵所发挥作用的时候. 他允许用户以另外一种次优编码方案计算对同一个字符串进行编码所需的平均最小位数.
    H = − ∑ i ( p i ⋅ l o g 2 ( q i ) ) H=-\sum_{i}{(p_{i} \cdot log_{2}(q_{i}))} H=i(pilog2(qi))
  • 例如,ASCII会对每个符号赋予相同的概率值 q i = 1 / 256 q_{i}=1/256 qi=1/256.下面计算采用ASCII编码时单词"HELLO"的交叉熵:
    q ( " H " ) = q ( " E " ) = q ( " L " ) = q ( " O " ) = 1 / 256 H = − 3 ∗ 0.2 ∗ l o g 2 ( 1 / 256 ) = 8 q("H")=q("E")=q("L")=q("O")=1/256\\H=-3*0.2*log_{2}(1/256)=8 q("H")=q("E")=q("L")=q("O")=1/256H=30.2log2(1/256)=8
    从而采用ASCII编码时,每个字符需要8个位,这与预期完全吻合.
  • 作为一个损失函数假设p为所期望的输出和概率分布(“编码”),其中实际值 有100%,而其他任何值为0,将q作为由模型计算得到的输出,请牢记,sigmoid函数的输出是一个概率值.
  • 有这样一个定理:当p=q时,交叉熵去的最小值.因此可以利用交叉熵比较一个分布与另一个分布的吻合情况.交叉熵越接近与熵,q便是针对p更好的逼近,实际上,模型的输出与期望输出越接近,交叉熵也会越小,这正是损失函数所需要的.
  • 在对熵进行最小化时,将 l o g 2 log_{2} log2替换为log完全没有任何问题,因为两者只相差一个常系数.

参考资料

面向机器智能的tensorflow实践
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
逻辑回归的损失函数交叉熵损失函数交叉熵损失函数在逻辑回归中起到了关键作用。如果使用平方误差作为损失函数,由于逻辑回归是处理分类问题,损失函数一般不是凸约束的。因此,我们使用交叉熵损失函数来定义逻辑回归的损失。交叉熵损失函数的数学表达式为[-2]: L(w) = -(y * log(a) + (1-y) * log(1-a)) 其中,y是样本的实际标签(0或1),a是逻辑回归的预测值(概率值),log表示自然对数。我们的目标是找到一组使得交叉熵损失函数最小的参数w。为了最小化这个损失函数,可以使用梯度下降等优化算法来找到使得损失函数最小的参数w。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [逻辑回归、交叉熵函数、Softmax函数的理解](https://blog.csdn.net/qq_40950382/article/details/88716877)[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* [大白话5分钟带你走进人工智能-第十七节逻辑回归之交叉熵损失函数概念(2)](https://blog.csdn.net/LHWorldBlog/article/details/89678897)[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、付费专栏及课程。

余额充值