交叉熵与极大似然估计

转载自:https://zhuanlan.zhihu.com/p/37917476

在机器学习中常用到交叉熵损失函数,其来源于信息论,用以描述两个两个分布之间的差异。为便于理解,下面描述几个相关定义。

假设X为一个离散随机变量,则X=x0的自信息(可理解为X=x0发生所携带的信息)为:

[公式]

单自信息只处理单个输出,为描述整个概率分布的不确定性总量,我们定义熵:

[公式]

其表示遵循该分布的事件所产生的期望信息量总和(不确定性总量越大,则信息总量越大)。

假设对于同一随机变量X,我们有两个单独的概率分布P(X)和Q(x),现定义一个KL散度用以描述这两个分布之间的差异:

[公式]

KL散度是非负的,但其并非真正代表两个分布之间的距离,因为它不是对称的。和KL散度密切联系的是交叉熵:

[公式]

所以针对Q最小化交叉熵等价于最小化KL散度,因为Q不影响H(P)。若P(x)为数据原始分布,则使交叉熵最小的分布Q(x)即是与P(x)最接近的分布。


现考虑一个分布P(X),我们从中随机取一些样本 [公式] ,计算一个似然 [公式] ,则似然函数为: [公式]最大化似然函数即:

[公式]

[公式]

可以看到最小化交叉熵和最大似然函数的结果是一样的。

极大似然估计交叉熵之间存在密切的关系。在机器学习中,交叉熵通常被用作损失函数,用于衡量模型输出真实标签之间的差异。下面我将简要介绍极大似然估计交叉熵的推导过程。 假设我们有一组观测数据 {x₁, x₂, ..., xₙ},这些数据是独立同分布的样本,我们希望用一个参数化的模型来描述这些数据。假设模型的参数为 θ,我们的目标是找到一个使得观测数据出现的概率最大化的参数值。 使用极大似然估计的思想,我们可以将观测数据出现的概率表示为一个关于参数 θ 的函数 L(θ),即似然函数。我们的目标是最大化似然函数 L(θ)。 在分类问题中,我们常常使用概率分布来描述模型输出的结果,比如使用 softmax 函数将模型输出转化为概率分布。假设我们有 K 个类别,模型输出的概率分布为 p(y=k|x; θ),其中 y 是真实标签。 那么对于观测数据 {x₁, x₂, ..., xₙ},它们的联合概率可以表示为: P(y₁, y₂, ..., yₙ|x₁, x₂, ..., xₙ; θ) = Πᵢ p(y=yᵢ|x=xᵢ; θ) 我们可以将这个联合概率视为一个关于参数 θ 的函数,记为 L(θ)。为了方便计算,我们可以取对数转换,得到对数似然函数: log L(θ) = Σᵢ log p(y=yᵢ|x=xᵢ; θ) 最大化对数似然函数等价于最小化其相反数的平均值。因此,我们可以定义交叉熵损失函数作为目标函数: J(θ) = -1/n Σᵢ log p(y=yᵢ|x=xᵢ; θ) 可以看出,交叉熵损失函数是对数似然函数的相反数的平均值。通过最小化交叉熵损失函数,我们实际上是在最大化观测数据出现的概率。 总结起来,极大似然估计交叉熵之间的推导过程是将观测数据的联合概率转换为对数似然函数,再通过最小化相反数的平均值得到交叉熵损失函数。交叉熵损失函数在训练机器学习模型中被广泛使用,特别是在分类问题中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值