21、概率分布中的交叉熵、KL散度、条件熵及模型参数估计

交叉熵、KL散度与模型参数估计

概率分布中的交叉熵、KL散度、条件熵及模型参数估计

1. 交叉熵的定义与计算

交叉熵用于衡量两个随机变量分布之间的差异。设 $X_1$ 和 $X_2$ 是一对随机变量,它们从相同的输入域 $D$ 中取值 $x$(即 $x \in D$),概率分别为 $p_1(x)$ 和 $p_2(x)$。交叉熵 $H_c(X_1, X_2)$ 的定义如下:
[
H_c (X_1, X_2) =
\begin{cases}
-\sum_{x\in D} p_1 (x) \log (p_2 (x)) & \text{离散情况}\
-\int_{x\in D} p_1 (x) \log (p_2 (x)) dx & \text{连续单变量情况}\
-\int_{\vec{x}\in D} p_1 (\vec{x}) \log (p_2 (\vec{x})) d\vec{x} & \text{连续多变量情况}
\end{cases}
]
当 $Y = X$ 时,交叉熵会简化为熵。

以下是使用 PyTorch 计算交叉熵的代码:

import torch

def cross_entropy(X_gt, X_pred):
    H_c = 0
    for x_gt, x_pred in zip(X_gt, X_pred):
        H_c += -1 * (x_gt * torch.log (x_pred))
    return H_c

X_gt = torch.Tensor([1., 0., 0., 0.])
X
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值