首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >二元交叉熵是如何工作的?

二元交叉熵是如何工作的?
EN

Data Science用户
提问于 2018-07-13 18:50:19
回答 1查看 4.9K关注 0票数 5

假设我试图用logistic回归对一些数据进行分类。

在将汇总数据传递到逻辑函数(在范围$$中规范化)之前,必须对权重进行优化,以获得预期的结果。为了为分类目的寻找最优权重,必须找到相对最小的误差函数,这可以是cross熵

据我所知,交叉熵测量两个概率分布之间的量化,由两种概率分布的同一事件集之间的差异来衡量。

由于某些原因,交叉熵等价于负对数似然。$p$和$q$两种概率分布之间的交叉熵损失函数定义为:

$$H(p,q)=-\sum_{x}p(x)\,log_e(q(x))$$

据我所知,如果我们期望函数的二元结果,那么对Bernoulli随机变量进行交叉熵损失计算是最优的。

根据定义,伯努利分布的概率质量函数$g$,相对于可能的结果$x$是:

$$g(x=p)=p^{x}(1-p)^{1-x}\ \textrm{for} \ x\in $$中

这意味着概率是$1-p$如果$x=0$和$p$如果$x=1$。

伯努利概率分布基于二进制结果,因此对伯努利随机变量进行交叉熵的过程称为binary交叉熵

$$\mathcal{L}(\theta)= -\frac{1}{n}\sum_{i=1}^n $

这是真的吗?为什么负对数概率与交叉熵相关?为什么伯努利随机变量表现这么好?

简而言之,二元交叉熵是如何工作的?

EN

回答 1

Data Science用户

回答已采纳

发布于 2019-01-13 11:18:56

  • 在进行逻辑回归时,您开始计算一组概率p_i,您的目标是最大限度地利用这些概率的乘积(因为它们被认为是独立的事件)。产品的效果越高,你的型号就越好。
  • 当我们处理概率时,我们是在0到1之间乘数,因此,如果你把这些数字相乘,你会得到越来越小的结果。因此,我们需要一种从概率乘到其他数之和的方法。
  • 然后是当ln函数进入发挥。我们可以使用一些函数属性,如:
    • ln(a b) = ln(a) + ln(b)
    • 当我们的预测是完美的,即1,ln(1) = 0
    • 低于0的ln正在增长负数,如ln(0.9) = -0.1ln(0.5) = -0.69

  • 因此,我们可以从最大的概率乘积转移到最小化这些概率的-ln之和。由此得出的交叉熵公式是:

- \sum_{i=1}^m y_i ln(p_i) + (1-y_i) log (1-p_i)

  • 如果y_i是1,之和的第二项是0,同样地,如果y_i是0,那么第一个项就消失了。
  • 直观的交叉熵说,如果我有一堆事件和一堆概率,考虑到这些概率,这些事件发生的可能性有多大?如果可能的话,那么交叉熵就会很小,否则就会很大。
票数 7
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/34441

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档