机器学习——损失函数

回归任务

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 (每个节点独立)
相关推荐
冬奇Lab30 分钟前
让 AI Agent 更可靠:Harness Engineering 与多 Agent 系统工程实践
人工智能·llm·agent
放下华子我只抽RuiKe530 分钟前
React 从入门到生产(四):自定义 Hook
前端·javascript·人工智能·深度学习·react.js·自然语言处理·前端框架
想你依然心痛31 分钟前
HarmonyOS 6(API 23)实战:基于悬浮导航、沉浸光感与HMAF的“文思智脑“——PC端AI智能体沉浸式智能写作工作台
人工智能·ar·harmonyos·ai写作
冬奇Lab32 分钟前
一天一个开源项目(第108篇):Andrej Karpathy Skills - 用一个 CLAUDE.md 文件修复 LLM 编码的四个顽疾
人工智能·开源·资讯
涛声依旧-底层原理研究所33 分钟前
残差连接与层归一化通俗易懂的详解
人工智能·python·神经网络·transformer
fantasy_arch1 小时前
pytorch人脸匹配模型
人工智能·pytorch·python
科技那些事儿1 小时前
实时洞察,视觉赋能:国内情绪识别API公司推荐及计算机视觉流派深度解析
人工智能·计算机视觉
德思特1 小时前
从 Dify 配置页理解 RAG 的重要参数
java·人工智能·llm·dify·rag
火山引擎开发者社区1 小时前
ArkClaw AI 盯盘管家 —— 从手动口令到自动推送,4 套预置定时任务模版一键启用
人工智能