当前位置: 首页 > news >正文

从数据分布角度理解:为什么不同任务要用不同的损失函数?

从数据分布角度理解:为什么不同任务要用不同的损失函数?

一、先说清楚:损失函数到底是什么?

在机器学习里,我们可以先把模型想象成一个“会猜答案的机器”。

给它一个输入,比如一张图片、一段文字、一个学生的学习时长,它会输出一个预测结果。

比如:

  • 输入:学习时间
    输出:预测考试分数

  • 输入:一张动物图片
    输出:预测是猫、狗、兔子的概率

  • 输入:一个用户的历史行为
    输出:预测他会不会点击广告

模型一开始猜得很差。我们需要告诉它:

你猜得有多离谱?

这个“离谱程度”就是损失函数

损失函数越大,说明模型错得越严重;损失函数越小,说明模型越接近正确答案。

所以,训练模型的目标就是:

让损失函数尽可能小 \text{让损失函数尽可能小}让损失函数尽可能小

但是问题来了:

为什么回归任务常用均方误差?
为什么分类任务常用交叉熵?
为什么有些任务用绝对误差、Poisson 损失、Huber 损失、KL 散度?

答案是:

不同任务的答案yyy本身来自不同的数据分布。
损失函数其实是从“这个数据更像哪种分布”推导出来的。


二、最核心的思想:先假设数据怎么产生,再推出损失函数

我们先不管神经网络,也不管算法。

假设世界上有一个真实规律:

x→y x \rightarrow yxy

比如:

学习时间→考试分数 \text{学习时间} \rightarrow \text{考试分数}学习时间考试分数

但是现实世界有噪声。

同样学习555小时,有人考808080分,有人考858585分,有人考787878分。

所以我们不应该认为模型输出的是一个绝对确定的答案,而应该认为:

模型输出的是一个概率分布。

也就是说,给定输入xxx,答案yyy不是一个完全固定的数,而是从某个分布里“抽出来”的。

我们写成:

p(y∣x) p(y|x)p(yx)

读作:

在给定xxx的情况下,出现yyy的概率。

模型训练的目标就是:

让真实答案出现的概率尽可能大。

这叫做最大似然估计


1. 什么是“似然”?

假设我们有nnn个样本:

(x1,y1),(x2,y2),…,(xn,yn) (x_1,y_1),(x_2,y_2),\dots,(x_n,y_n)(x1,y1),(x2,y2),,(xn,yn)

模型认为第iii个真实答案出现的概率是:

p(yi∣xi) p(y_i|x_i)p(yixi)

那么整批数据同时出现的概率就是:

p(y1∣x1)p(y2∣x2)⋯p(yn∣xn) p(y_1|x_1)p(y_2|x_2)\cdots p(y_n|x_n)p(y1x1)p(y2x2)p(ynxn)

可以写成:

∏i=1np(yi∣xi) \prod_{i=1}^{n} p(y_i|x_i)i=1np(yixi)

这个东西叫做似然

最大似然估计的意思就是:

max⁡∏i=1np(yi∣xi) \max \prod_{i=1}^{n} p(y_i|x_i)maxi=1np(yixi)

也就是让真实数据出现的概率最大。


2. 为什么要取对数?

乘法很麻烦,而且很多小概率相乘会变得极小。

比如:

0.1×0.2×0.3=0.006 0.1 \times 0.2 \times 0.3 = 0.0060.1×0.2×0.3=0.006

样本一多,数字会越来越小。

所以我们取对数。

对数有一个重要性质:

log⁡(ab)=log⁡a+log⁡b \log(ab)=\log a+\log blog(ab)=loga+logb

于是:

$$
\log \prod_{i=1}^{n} p(y_i|x_i)

\sum_{i=1}^{n} \log p(y_i|x_i)
$$

最大化似然等价于最大化对数似然:

max⁡∑i=1nlog⁡p(yi∣xi) \max \sum_{i=1}^{n} \log p(y_i|x_i)maxi=1nlogp(yixi)

但是机器学习里通常习惯做“最小化损失”,所以我们在前面加一个负号:

$$
L

-\sum_{i=1}^{n} \log p(y_i|x_i)
$$

这个东西叫做负对数似然损失

它是所有常见损失函数的“母公式”。

核心公式就是:

$$
\boxed{
L

-\sum_{i=1}^{n} \log p(y_i|x_i)
}
$$

意思是:

如果模型给真实答案的概率越大,损失越小;
如果模型给真实答案的概率越小,损失越大。

接下来,不同任务只是在问:

p(y∣x)p(y|x)p(yx)应该选成什么分布?

选高斯分布,就推出均方误差。
选伯努利分布,就推出二分类交叉熵。
选类别分布,就推出多分类交叉熵。
选拉普拉斯分布,就推出绝对误差。
选 Poisson 分布,就推出计数损失。


三、回归任务:为什么常用均方误差?

1. 回归任务是什么?

回归任务就是预测一个连续数值。

比如:

  • 预测房价
  • 预测考试分数
  • 预测温度
  • 预测身高
  • 预测股票价格

这些答案都是连续的数字。

例如模型预测:

y^=80 \hat{y}=80y^=80

真实答案是:

y=83 y=83y=83

误差就是:

y−y^=3 y-\hat{y}=3yy^=3


2. 回归任务的常见假设:误差服从高斯分布

很多自然现象的误差会集中在000附近,小误差多,大误差少。

比如老师估计学生成绩:

  • 误差111分很常见
  • 误差555分也可能
  • 误差303030分很少见

这种“中间多、两边少”的形状很像高斯分布,也叫正态分布。

我们假设:

y=y^+ϵ y = \hat{y} + \epsilony=y^+ϵ

其中ϵ\epsilonϵ是误差。

假设误差服从高斯分布:

ϵ∼N(0,σ2) \epsilon \sim \mathcal{N}(0,\sigma^2)ϵN(0,σ2)

这表示误差大多数在000附近。

那么真实值yyy在预测值y^\hat{y}y^附近波动:

y∣x∼N(y^,σ2) y|x \sim \mathcal{N}(\hat{y},\sigma^2)yxN(y^,σ2)

对应的概率密度函数是:

$$
p(y|x)

\frac{1}{\sqrt{2\pi\sigma^2}}
\exp
\left(
-\frac{(y-\hat{y})2}{2\sigma2}
\right)
$$


3. 代入负对数似然

单个样本的损失是:

$$
L

-\log p(y|x)
$$

代入高斯分布:

$$
L

-\log
\left[
\frac{1}{\sqrt{2\pi\sigma^2}}
\exp
\left(
-\frac{(y-\hat{y})2}{2\sigma2}
\right)
\right]
$$

利用:

log⁡(ab)=log⁡a+log⁡b \log(ab)=\log a+\log blog(ab)=loga+logb

得到:

http://www.jsqmd.com/news/1117168/

相关文章:

  • MCP 2026高危漏洞应急响应:5步实操加固与长效管理机制
  • 注销公告登报办理指南:2026年流程、费用与规范模板
  • Selenium IDE:零代码入门Web自动化测试的最佳实践指南
  • 从Noodlophile恶意软件看版权钓鱼攻击链与防御策略
  • 2026年Word文档压缩完整指南:多种方式降低文件体积,超大文档瘦身实操技巧
  • Qwen3.7plus的web版测试发现Agent能力果然出众!
  • STM32F765ZI与MAX9744的高效音频系统设计
  • 北京登报遗失声明去哪里登报?原来手机上就能直接办!
  • MuleSoft企业级AI编排:实现LLM与ERP/SAP/CRM的可信集成
  • STM32低功耗矩阵键盘设计:硬件与软件协同优化
  • 2026企业级AI Agent选型指南:Top50厂商图谱与行业落地路径拆解
  • 3分钟解锁IDM完整版:永久激活的终极解决方案
  • Spring Boot整合Redis实战:从配置到性能优化
  • PotPlayer字幕翻译插件终极指南:3分钟实现外语视频无障碍观看
  • 终极纪元1800模组加载器完全指南:简单快速打造个性化游戏体验
  • 一图理清 WiFi 信道规划
  • 基于Wazuh与Zabbix构建服务器挖矿木马自动化检测与响应体系
  • FreeRTOS学习历程
  • 毕昇JDK 25安装教程:新手也能轻松上手的详细步骤
  • 思源宋体CN:免费开源中文宋体字体完整使用指南
  • 毕昇JDK 25社区与支持:获取帮助和参与讨论的渠道汇总
  • 专业的平衡机研发公司
  • 什么是GEO?GEO优化怎么做?五步搭建品牌 AI 可信内容资产
  • NGA-BBS-Script:5大核心功能,让论坛浏览效率提升300%的终极解决方案
  • 2026Word减小文件大小官方操作全指南,文档压缩完整实操方法
  • TSMaster汽车总线测试完整指南:从入门到精通的5步终极教程
  • 基于Open-AutoGLM的零代码移动端UI自动化测试实战指南
  • 戴森球计划工厂蓝图库:从新手到专家的终极建造指南
  • 从新手到大师:戴森球计划工厂蓝图库如何彻底改变你的星际建造体验
  • 拯救者笔记本性能革命:5个关键问题与Lenovo Legion Toolkit的完美解决方案