交叉验证
交叉验证是一种统计方法,通过多次将数据划分为训练集和验证集,评估和比较机器学习模型,确保模型能够很好地泛化到未见过的数据,并有助于防止过拟合。...
交叉熵衡量预测概率分布与真实概率分布之间的差异,被广泛用作机器学习中的损失函数,以优化分类模型的准确率。
交叉熵是信息论和机器学习中的一个核心概念,用于度量在同一事件集合上两个概率分布之间的差异。在机器学习中,这一度量尤其重要,作为损失函数来量化模型预测输出与数据真实标签之间的不一致性。这一量化过程是模型训练的关键,特别是在分类任务中,有助于调整模型权重以最小化预测误差,从而提升模型性能。
交叉熵(记为 H(p, q))的概念涉及计算两个概率分布 p(真实分布)和 q(模型估计分布)之间的差异。对于离散分布,交叉熵的数学表达式为:
$$ H(p, q) = -\sum_{x} p(x) \log q(x) $$
其中:
交叉熵本质上计算了使用针对估计分布(q)而非真实分布(p)优化的编码方案时,识别一个事件所需的平均比特数。
交叉熵与 Kullback-Leibler(KL)散度密切相关,KL 散度用于衡量一个概率分布与另一个期望概率分布的偏离程度。交叉熵 H(p, q) 可以用真实分布的熵 H(p) 和 KL 散度 D_{KL}(p || q) 表示如下:
$$ H(p, q) = H(p) + D_{KL}(p \parallel q) $$
这一关系强调了交叉熵在量化预测误差、连接统计理论与机器学习实践中的基础作用。
在机器学习,尤其是分类问题中,交叉熵作为损失函数用来评估预测概率分布与标签真实分布的一致性。它在多分类任务中尤为有效,目标是将最高概率赋予正确类别,从而在模型训练过程中引导优化。
用于只有两个类别(二分类,如真/假、正/负)的任务。二元交叉熵损失函数表达为:
$$ L = -\frac{1}{N} \sum_{i=1}^N [y_i \log(p_i) + (1-y_i) \log(1-p_i)] $$
其中:
用于包含两个以上类别的多分类任务。多类交叉熵损失的计算方式为:
$$ L = -\frac{1}{N} \sum_{i=1}^{N} \sum_{j=1}^{C} y_{ij} \log(p_{ij}) $$
其中:
以包含猫、狗、马三类的分类场景为例。如果某图片的真实标签为狗,用独热编码表示为 [0, 1, 0],模型预测为 [0.4, 0.4, 0.2],则交叉熵损失计算如下:
$$ L(y, \hat{y}) = – (0 \times \log(0.4) + 1 \times \log(0.4) + 0 \times \log(0.2)) = 0.92 $$
交叉熵越低,表示模型预测概率与真实标签越接近,模型性能越好。
交叉熵在训练 AI 模型,尤其是在有监督学习框架中至关重要。其广泛应用于:
import numpy as np
def cross_entropy(y_true, y_pred):
y_true = np.float_(y_true)
y_pred = np.float_(y_pred)
return -np.sum(y_true * np.log(y_pred + 1e-15))
# 示例用法
y_true = np.array([0, 1, 0]) # 真实标签(独热编码)
y_pred = np.array([0.4, 0.4, 0.2]) # 预测概率
loss = cross_entropy(y_true, y_pred)
print(f"Cross-Entropy Loss: {loss}")
在此 Python 示例中,cross_entropy
函数计算真实标签与预测概率之间的损失,用于模型评估和优化。
交叉熵是一种度量两个概率分布之间差异的指标,常用作损失函数来评估模型预测与真实标签的匹配程度。
在机器学习中,交叉熵量化了预测概率与实际标签之间的误差,引导优化过程提升模型准确率,尤其适用于分类任务。
二元交叉熵用于二分类(两类)问题,而多类交叉熵用于多分类问题。两者都计算真实概率与预测概率之间的损失,并根据类别数量进行调整。
交叉熵与 Kullback-Leibler(KL)散度相关,它可以表示为真实分布的熵与真实分布和预测分布间 KL 散度之和。
可以。例如: import numpy as np def cross_entropy(y_true, y_pred): y_true = np.float_(y_true) y_pred = np.float_(y_pred) return -np.sum(y_true * np.log(y_pred + 1e-15))
交叉验证是一种统计方法,通过多次将数据划分为训练集和验证集,评估和比较机器学习模型,确保模型能够很好地泛化到未见过的数据,并有助于防止过拟合。...
对数损失(Log Loss),又称对数/交叉熵损失,是评估机器学习模型性能的关键指标,尤其适用于二分类,通过衡量预测概率与实际结果之间的差异,惩罚错误或过于自信的预测。...
混淆矩阵是机器学习中用于评估分类模型性能的工具,详细展示了真/假阳性和真/假阴性结果,能够提供超越准确率的洞察力,尤其适用于数据不均衡的场景。...