损失函数

1.损失函数的概念及使用场景

损失函数:用于衡量模型预测结果与真实结果之间的差异或误差。

损失函数的使用场景:

  • 模型训练:通过最小化损失函数,可以调整模型的参数,使其能够更好地拟合训练数据,提高模型的性能。

  • 模型评估:通过计算模型在验证集或测试集上的损失值,可以判断模型的泛化能力和预测准确度,较小的损失值通常表示模型更好地适应了新数据。

  • 优化算法:通过计算损失函数对模型参数的梯度,可以确定参数的更新方向和步长,以便优化模型。

  • 模型选择和比较:选择合适的损失函数可以帮助优化模型性能,并对不同模型进行比较和选择。

2.分类任务

2.1 交叉熵损失函数(Cross-Entropy Loss)

二分类问题:二元交叉熵损失函数(Binary Cross-Entropy Loss)

  • 计算公式:

    注:真实标签为 y(可以是0或1),模型的预测概率为 p(0 ≤ p ≤ 1)

多分类问题:多元交叉熵损失函数(Multiclass Cross-Entropy Loss)

​ 在多元交叉熵损失函数中,假设有 C 个可能的类别,每个类别都有一个与之相关的标签(通常使用 one-hot 编码)。对于每个样本,模型会输出一个长度为 C 的概率分布向量,表示样本属于每个类别的概率。

  • 计算公式:$\large L(y, p) = -Σ(y_i * log(p_i))$

注:其中,i 表示类别的索引,$y_i$ 表示真实标签的第 i 个元素,$p_i$ 表示模型的输出概率分布的第 i 个元素。

2.2 Focal Loss(聚焦损失)

Focal Loss:用于处理类别不平衡问题的损失函数,旨在解决当某些类别的样本数量远远多于其他类别时,传统的交叉熵损失函数会受到类别不平衡的影响,导致模型难以有效地学习少数类别。

focal loss的具体形式:

注:

1.$\large\gamma$通常设置为2,$\large(1-y_{pred})^{\gamma}$相当于样本的难易度权值,$\large\alpha$为正负样本的比例

2.为了防止难易样本的频繁变化,应当选取小的学习率。防止学习率过大,造成w变化较大从而引起 $\large y_{pred}$的巨大变化,造成难易样本的改变。

3.回归任务

3.1 均方误差损失函数(Mean Squared Error, MSE)

计算公式:$\large MSE = (1/N) * Σ(y_i - ŷ_i)^2$

注:N 表示样本数量,$y_i$ 表示真实标签,$ŷ_i$ 表示模型的预测值。

3.2 平均绝对误差损失函数(Mean Absolute Error, MAE)

计算公式:$\large MAE = (1/N) * Σ|y_i - ŷ_i|$

注:N 表示样本数量,$y_i$ 表示真实标签,$ŷ_i$ 表示模型的预测值。