从数据分布角度理解:为什么不同任务要用不同的损失函数?
从数据分布角度理解:为什么不同任务要用不同的损失函数?一、先说清楚:损失函数到底是什么?在机器学习里,我们可以先把模型想象成一个“会猜答案的机器”。给它一个输入,比如一张图片、一段文字、一个学生的学习时长,它会输出一个预测结果。比如:输入:学习时间输出:预测考试分数输入:一张动物图片输出:预测是猫、狗、兔子的概率输入:一个用户的历史行为输出:预测他会不会点击广告模型一开始猜得很差。我们需要告诉它:你猜得有多离谱?这个“离谱程度”就是损失函数。损失函数越大,说明模型错得越严重;损失函数越小,说明模型越接近正确答案。所以,训练模型的目标就是:让损失函数尽可能小 \text{让损失函数尽可能小}让损失函数尽可能小但是问题来了:为什么回归任务常用均方误差?为什么分类任务常用交叉熵?为什么有些任务用绝对误差、Poisson 损失、Huber 损失、KL 散度?答案是:不同任务的答案yyy本身来自不同的数据分布。损失函数其实是从“这个数据更像哪种分布”推导出来的。二、最核心的思想:先假设数据怎么产生,再推出损失函数我们先不管神经网络,也不管算法。假设世界上有一个真实规律:x→y x \rightarrow yx→y比如:学习时间→考试分数 \text{学习时间} \rightarrow \text{考试分数}学习时间→考试分数但是现实世界有噪声。同样学习555小时,有人考808080分,有人考858585分,有人考787878分。所以我们不应该认为模型输出的是一个绝对确定的答案,而应该认为:模型输出的是一个概率分布。也就是说,给定输入xxx,答案yyy不是一个完全固定的数,而是从某个分布里“抽出来”的。我们写成:p(y∣x) p(y|x)p(y∣x)读作:在给定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(yi​∣xi​)那么整批数据同时出现的概率就是: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(y1​∣x1​)p(y2​∣x2​)⋯p(yn​∣xn​)可以写成:∏i=1np(yi∣xi) \prod_{i=1}^{n} p(y_i|x_i)i=1∏n​p(yi​∣xi​)这个东西叫做似然。最大似然估计的意思就是:max⁡∏i=1np(yi∣xi) \max \prod_{i=1}^{n} p(y_i|x_i)maxi=1∏n​p(yi​∣xi​)也就是让真实数据出现的概率最大。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=1∑n​logp(yi​∣xi​)但是机器学习里通常习惯做“最小化损失”,所以我们在前面加一个负号:$$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(y∣x)应该选成什么分布?选高斯分布,就推出均方误差。选伯努利分布,就推出二分类交叉熵。选类别分布,就推出多分类交叉熵。选拉普拉斯分布,就推出绝对误差。选 Poisson 分布,就推出计数损失。三、回归任务:为什么常用均方误差?1. 回归任务是什么?回归任务就是预测一个连续数值。比如:预测房价预测考试分数预测温度预测身高预测股票价格这些答案都是连续的数字。例如模型预测:y^=80 \hat{y}=80y^​=80真实答案是:y=83 y=83y=83误差就是:y−y^=3 y-\hat{y}=3y−y^​=32. 回归任务的常见假设:误差服从高斯分布很多自然现象的误差会集中在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)y∣x∼N(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得到:

相关新闻

三重降压转换方案在嵌入式系统中的应用与优化

三重降压转换方案在嵌入式系统中的应用与优化

1. 为什么需要三重降压转换方案在嵌入式系统和工业控制领域,多电压轨供电已经成为标配需求。以典型的ARM Cortex-M4应用为例,核心处理器需要1.2V供电,外设接口需要3.3V,而模拟电路部分则可能需要1.8V。传统方案采用多个独立DC-DC转…

2026/7/3 18:58:50 阅读更多 →
ppt模板_0139_黑蝙蝠侠

ppt模板_0139_黑蝙蝠侠

PPT模板分享

2026/7/3 18:56:50 阅读更多 →
LLM安全护栏工程实战2026:多层防御体系下的Prompt注入、越狱与内容审核

LLM安全护栏工程实战2026:多层防御体系下的Prompt注入、越狱与内容审核

引言 2026年,当AI Agent被部署到金融交易、医疗诊断、法律咨询等关键领域时,安全问题从"锦上添花"变成了"生死攸关"。AAAI 2026上,LLM安全相关的论文数量同比增长了300%。Prompt注入已被OWASP列为LLM应用十大安全风险之首…

2026/7/3 18:56:50 阅读更多 →

最新新闻

神经网络概念优先教学:从认知直觉到灰盒理解

神经网络概念优先教学:从认知直觉到灰盒理解

1. 项目概述:这不是又一本“手撕矩阵”的神经网络书“NN#6 — Neural Networks Decoded: Concepts Over Code”这个标题一出来,我就在咖啡机旁多按了两次萃取键——不是因为兴奋,而是本能地警觉。过去十年里,我带过三十多个AI方向…

2026/7/3 19:49:06 阅读更多 →
XGBoost面试深水区:从参数调优到系统诊断的实战逻辑

XGBoost面试深水区:从参数调优到系统诊断的实战逻辑

1. 这不是一份“背诵清单”,而是一份XGBoost面试实战手记我带过二十多届数据科学方向的实习生,也作为技术面试官参与过上百场中高级算法岗的终面。每次聊到XGBoost,总有人一上来就背“XGBoost是GBDT的工程优化版本”“用了二阶泰勒展开”——…

2026/7/3 19:49:06 阅读更多 →
一次修改闭源 Entity Provider 程序集以兼容新 EntityFramework 的过程

一次修改闭源 Entity Provider 程序集以兼容新 EntityFramework 的过程

读完本文你会知道,如何在没有源码的情况下,直接修改一个 DLL 以去除 DLL 上的强命名限制,并在该程序集上直接添加你的“友元程序集(一种特殊的 Attribute,将它应用在程序集上,使得程序集内的 internal 类型…

2026/7/3 19:47:05 阅读更多 →
PIC18F87K22与DS28EC20的1-Wire EEPROM存储方案

PIC18F87K22与DS28EC20的1-Wire EEPROM存储方案

1. 项目背景与核心需求 在嵌入式系统开发中,持久化存储用户设置和偏好是一个常见但关键的需求。想象一下,你开发了一个智能温控器,用户精心调整的温度偏好、定时设置和界面主题,如果每次断电后都需要重新设置,那体验会…

2026/7/3 19:47:05 阅读更多 →
如何修复Android设备认证问题:Play Integrity Fix完全指南

如何修复Android设备认证问题:Play Integrity Fix完全指南

如何修复Android设备认证问题:Play Integrity Fix完全指南 【免费下载链接】PlayIntegrityFix Fix Play Integrity (and SafetyNet) verdicts. 项目地址: https://gitcode.com/GitHub_Trending/pl/PlayIntegrityFix 你是否曾经遇到过这种情况:解锁…

2026/7/3 19:47:05 阅读更多 →
DCS部署指南:生产环境数据收集服务最佳实践

DCS部署指南:生产环境数据收集服务最佳实践

DCS部署指南:生产环境数据收集服务最佳实践 【免费下载链接】dcs DCS(Data Colleciton Service) is a service for collecting performance data. 项目地址: https://gitcode.com/openeuler/dcs 前往项目官网免费下载:https://ar.openeuler.org/a…

2026/7/3 19:45:04 阅读更多 →

日新闻

Nginx防御TLS重协商攻击实战:从原理到配置与监控

Nginx防御TLS重协商攻击实战:从原理到配置与监控

1. 项目概述:为什么TLS重协商攻击至今仍需警惕十多年前的CVE-2011-1473,一个关于TLS/SSL协议重协商机制的漏洞,现在提起来还有必要吗?很多运维和开发朋友可能会觉得,这都老掉牙了,现代服务器和客户端不都默…

2026/7/3 0:03:59 阅读更多 →
华为防火墙双通道远程管理实战:Web与SSH配置详解

华为防火墙双通道远程管理实战:Web与SSH配置详解

1. 项目概述:为什么需要双通道远程管理防火墙?在任何一个稍具规模的企业网络里,防火墙都是那个默默守护在边界的关键角色。作为网络工程师,我们不可能每次都跑到机房,插上console线去配置它。远程管理能力,…

2026/7/3 0:03:59 阅读更多 →
AD74413R与PIC18F65K40的高精度工业数据采集方案

AD74413R与PIC18F65K40的高精度工业数据采集方案

1. 项目概述:AD74413R与PIC18F65K40的协同工作在工业自动化和精密测量领域,同时实现高精度模数转换(ADC)和数模转换(DAC)功能是许多复杂系统的核心需求。AD74413R作为一款四通道可配置模拟输入/输出器件,与PIC18F65K40微控制器的组合&#xf…

2026/7/3 0:05:59 阅读更多 →

周新闻

月新闻