二元交叉熵如何工作?

数据挖掘 机器学习 分类 逻辑回归 优化 可能性
2021-09-18 10:50:20

假设我正在尝试使用逻辑回归对一些数据进行分类。

在将求和数据传递给逻辑函数之前(在范围内归一化 [0,1]),必须优化权重以获得理想的结果。为了找到分类目的的最佳权重,必须找到相对最小化的误差函数,这可以是交叉熵

据我所知,交叉熵通过属于两个概率分布的一组相同事件之间的位差来衡量两个概率分布之间的量化。

出于某种原因,交叉熵相当于负对数似然。两个概率分布之间的交叉熵损失函数定义pq是:

H(p,q)=xp(x)loge(q(x))

再次根据我的知识,如果我们期望函数的二进制结果,最好对伯努利随机变量执行交叉熵损失计算。

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

g(x|p)=px(1p)1x for x[0,1]

这意味着概率是1p如果x=0p如果x=1.


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

L(θ)=1ni=1n[yilog(pi)+(1yi)log(1pi)]

这是真的?为什么负对数似然与交叉熵相关?为什么伯努利随机变量表现如此出色?

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

1个回答
  • 进行逻辑回归时,您开始计算一堆概率pi你的目标是最大化这些概率的乘积(因为它们被认为是独立的事件)。产品的结果越高,您的模型就越好。
  • 当我们处理概率时,我们正在将 0 和 1 之间的数字相乘,因此,如果你将这些数字相乘,你会得到越来越小的结果。所以我们需要一种方法来从概率乘法转移到其他数字的总和。
  • 然后是什么时候ln功能进入播放。我们可以使用这个函数的一些属性,例如:
    • ln(ab)=ln(a)+ln(b).
    • 当我们的预测是完美的,即 1 时,ln(1)=0.
    • ln低于 0 的负数正在增长,例如ln(0.9)=0.1ln(0.5)=0.69.
  • 所以我们可以从最大化概率的乘积到最小化ln那些概率。得到的交叉熵公式为:

i=1myiln(pi)+(1yi)log(1pi)

  • 如果yi为 1 和的第二项为 0,同样,如果yi为 0,则第一项消失。
  • 直观地交叉熵说如下,如果我有一堆事件和一堆概率,考虑到这些概率,这些事件发生的可能性有多大?如果有可能,那么交叉熵就小,否则就大。