机器学习——损失函数

回归任务

MSE均方误差

MSE=1n∑i=1n(yi−y^i)2MSE = \frac{1}{n}\sum_{i=1}^{n}(y_i - \hat{y}_i)^2MSE=n1∑i=1n(yi−y^i)2

解释:计算预测值与真实值之差的平方的平均值。

特点:对异常值非常敏感,因为误差被平方放大了。一个巨大的误差会使整个损失变得很大。

导数 (2(yi−y^i)2(y_i - \hat{y}_i)2(yi−y^i)) 会随着误差增大而线性增大,导致梯度很大,可能使训练不稳定。

适用场景:大部分回归问题,当数据中异常值不多时效果很好。

MAE均值绝对误差

MAE=1n∑i=1n∣yi−y^i∣MAE = \frac{1}{n}\sum_{i=1}^{n}|y_i - \hat{y}_i|MAE=n1∑i=1n∣yi−y^i∣

解释:计算预测值与真实值之差的绝对值的平均值。

特点:对异常值不如MSE敏感,鲁棒性更好。

导数要么是+1,要么是-1,梯度大小是恒定的,即使在误差很大时也能保持稳定的更新。

适用场景:当数据中存在可能异常值时,希望模型不受其过分影响。

Huber Loss

Lδ(y,y^)={12(y−y^)2for ∣y−y^∣≤δ δ∣y−y^∣−12δ2otherwiseL_\delta(y, \hat{y}) = \begin{cases} \frac{1}{2}(y - \hat{y})^2 & \text{for } |y - \hat{y}| \le \delta \ \delta |y - \hat{y}| - \frac{1}{2}\delta^2 & \text{otherwise} \end{cases}Lδ(y,y^)={21(y−y^)2for ∣y−y^∣≤δ δ∣y−y^∣−21δ2otherwise

解释:MSE和MAE的混合体。它设定一个阈值 δ\deltaδ。当误差小于 δ\deltaδ 时,表现为MSE(平滑,利于收敛);当误差大于 δ\deltaδ 时,表现为MAE(线性,抗干扰)。

特点:兼具MSE和MAE的优点,既对小误差敏感(利于优化),又对异常值鲁棒。但需要手动调整超参数 δ\deltaδ。

适用场景:数据中既有需要精细调整的部分,又可能存在异常值。

分类任务

交叉熵损失 - Cross-Entropy Loss

核心思想:比较模型预测的概率分布与真实的概率分布之间的差异。

二分类交叉熵损失

L=−1n∑i=1n[yi⋅log(y^i)+(1−yi)⋅log(1−y^i)]L = -\frac{1}{n}\sum_{i=1}^{n}[y_i \cdot log(\hat{y}_i) + (1 - y_i) \cdot log(1 - \hat{y}_i)]L=−n1∑i=1n[yi⋅log(y^i)+(1−yi)⋅log(1−y^i)]

适用场景:二分类问题,输出层通常使用Sigmoid激活函数。

多分类交叉熵损失:

L=−1n∑i=1n∑c=1Cyi,c⋅log(y^i,c)L = -\frac{1}{n}\sum_{i=1}^{n}\sum_{c=1}^{C}y_{i,c} \cdot log(\hat{y}_{i,c})L=−n1∑i=1n∑c=1Cyi,c⋅log(y^i,c)

其中,CCC 是类别总数。这通常是 Categorical Cross-Entropy(需要真实标签是one-hot编码)或 Sparse Categorical Cross-Entropy(真实标签是整数索引)。

适用场景:多分类问题,输出层通常使用Softmax激活函数。

特点:分类任务中最常用、最有效的损失函数。当预测概率与真实标签完全一致时,损失达到最小值。

Hinge Loss

L=1n∑i=1nmax(0,1−yi⋅y^i)L = \frac{1}{n}\sum_{i=1}^{n}max(0, 1 - y_i \cdot \hat{y}_i)L=n1∑i=1nmax(0,1−yi⋅y^i),其中 yiy_iyi 是真实标签(+1或-1),y^i\hat{y}_iy^i 是模型输出的决策函数值(不是概率)。

特点:试图找到一个"最大间隔"的决策边界,不仅要求分类正确,还要求有足够的置信度。

适用场景:主要用于支持向量机。

任务划分

选择策略:

默认选择:对于回归用MSE,对于分类用交叉熵。这通常是很好的起点。

关注异常值:如果数据可能有异常值,回归任务中考虑MAE或Huber Loss。

任务目标:如果你的目标不是预测精确值,而是排序(如推荐系统),可能会选择基于排序的损失函数(如Pairwise Hinge Loss)。

任务类型 问题描述 常用损失函数 输出层激活函数
回归 预测房价、温度等连续值 均方误差(MSE)、平均绝对误差(MAE)、Huber损失 Linear (无激活函数)
二分类 判断垃圾邮件、疾病诊断 二分类交叉熵(Binary Cross-Entropy) Sigmoid
多分类 手写数字识别、图像分类 多分类交叉熵(Categorical Cross-Entropy) Softmax
多标签分类 一张图片有多个标签 二分类交叉熵(Binary Cross-Entropy) Sigmoid (每个节点独立)
相关推荐
啊森要自信9 分钟前
CANN ops-cv:AI 硬件端视觉算法推理训练的算子性能调优与实战应用详解
人工智能·算法·cann
要加油哦~12 分钟前
AI | 实践教程 - ScreenCoder | 多agents前端代码生成
前端·javascript·人工智能
玄同76514 分钟前
从 0 到 1:用 Python 开发 MCP 工具,让 AI 智能体拥有 “超能力”
开发语言·人工智能·python·agent·ai编程·mcp·trae
新缸中之脑16 分钟前
用RedisVL构建长期记忆
人工智能
J_Xiong011723 分钟前
【Agents篇】07:Agent 的行动模块——工具使用与具身执行
人工智能·ai agent
SEO_juper29 分钟前
13个不容错过的SEO技巧,让您的网站可见度飙升
人工智能·seo·数字营销
小瑞瑞acd30 分钟前
【小瑞瑞精讲】卷积神经网络(CNN):从入门到精通,计算机如何“看”懂世界?
人工智能·python·深度学习·神经网络·机器学习
CoderJia程序员甲40 分钟前
GitHub 热榜项目 - 日榜(2026-02-06)
人工智能·ai·大模型·github·ai教程
wukangjupingbb44 分钟前
AI多模态技术在创新药研发中的结合路径、机制及挑战
人工智能
CoderIsArt1 小时前
三大主流智能体框架解析
人工智能