从数据分布角度理解:为什么不同任务要用不同的损失函数?
📅 2026/7/3 19:00:14
👁️ 次浏览
从数据分布角度理解:为什么不同任务要用不同的损失函数?一、先说清楚:损失函数到底是什么?在机器学习里,我们可以先把模型想象成一个“会猜答案的机器”。给它一个输入,比如一张图片、一段文字、一个学生的学习时长,它会输出一个预测结果。比如:输入:学习时间输出:预测考试分数输入:一张动物图片输出:预测是猫、狗、兔子的概率输入:一个用户的历史行为输出:预测他会不会点击广告模型一开始猜得很差。我们需要告诉它:你猜得有多离谱?这个“离谱程度”就是损失函数。损失函数越大,说明模型错得越严重;损失函数越小,说明模型越接近正确答案。所以,训练模型的目标就是:让损失函数尽可能小 \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∏np(yi∣xi)这个东西叫做似然。最大似然估计的意思就是:max∏i=1np(yi∣xi) \max \prod_{i=1}^{n} p(y_i|x_i)maxi=1∏np(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)=loga+logb \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=1nlogp(yi∣xi) \max \sum_{i=1}^{n} \log p(y_i|x_i)maxi=1∑nlogp(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)=loga+logb \log(ab)=\log a+\log blog(ab)=loga+logb得到:
猫抓浏览器扩展:简单快速下载网页视频和音频的终极指南 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch
你是否曾经遇到过这样的情况&am…
📅 2026/7/3 19:00:14
1. 为什么需要三重降压转换方案在嵌入式系统和工业控制领域,多电压轨供电已经成为标配需求。以典型的ARM Cortex-M4应用为例,核心处理器需要1.2V供电,外设接口需要3.3V,而模拟电路部分则可能需要1.8V。传统方案采用多个独立DC-DC转…
📅 2026/7/3 19:00:14
RK-Forge外设系列开篇 - 把板子从「能启动」变成「能用」:Ethernet/SPI/MMC 三个纯接线外设 rk-forge 已经开源!带你从零把一颗几乎没人理的 RK3506,用主线 Linux(7.1) 主线 U-Boot 一路跑到 rk3506 login:——可按序打上去的补丁…
📅 2026/7/3 19:00:14
1. 项目概述做压力测试,最怕的就是“盲测”。你这边Jmeter脚本跑得飞起,TPS(每秒事务数)和响应时间曲线画得挺漂亮,但服务器那边可能已经“水深火热”了——CPU飙到100%、内存耗尽开始疯狂交换、磁盘IO堵成停车场&…
📅 2026/7/3 20:06:21
1. 项目概述:自动化测试框架的“三国演义” 在Web应用开发与质量保障的战场上,自动化测试框架的选择,往往是决定团队效率与测试稳定性的关键一步。最近几年,围绕Selenium、Cypress和Playwright的讨论就没停过,几乎每个…
📅 2026/7/3 20:06:21
1. 项目背景与硬件选型解析在嵌入式电源系统设计中,DC-DC降压转换是基础但关键的技术环节。本次项目采用171010550电源管理IC与TM4C129LNCZAD微控制器组合方案,这个搭配在工业控制领域颇具代表性。171010550是一款同步降压转换器芯片,支持4.5…
📅 2026/7/3 20:06:21
如何快速提升视频画质:面向普通用户的AI视频增强完整指南 【免费下载链接】video2x A machine learning-based video super resolution and frame interpolation framework. Est. Hack the Valley II, 2018. 项目地址: https://gitcode.com/GitHub_Trending/vi/vi…
📅 2026/7/3 20:06:21
1. 什么是自动化提示工程:它不是“写得更聪明”,而是让提示本身具备生长能力 “Automation Prompting: The Key to Scalable AI Workflows”这个标题乍看像一句技术口号,但在我过去三年深度参与27个AI落地项目(覆盖金融风控文案生…
📅 2026/7/3 20:06:21
1. 项目概述:TB9051FTG与STM32F723IE的直流电机静音控制方案在工业自动化和消费电子领域,直流电机的噪声问题一直是工程师面临的挑战。传统PWM控制方式虽然简单高效,但开关噪声和电磁干扰(EMI)问题往往导致系统无法满足高端应用场景的静音要求…
📅 2026/7/3 20:04:21
1. AI Agent设计模式全景概览在智能系统开发领域,AI Agent的设计模式就像建筑师的蓝图,决定了智能体如何感知环境、处理信息并采取行动。从业五年来,我见证过太多团队因为模式选择不当导致系统重构的案例。最近在金融风控系统升级时ÿ…
📅 2026/7/3 0:00:32
1. 项目概述:iOS自动化测试的“定位”之痛做iOS自动化测试的朋友,十有八九都卡在“元素定位”这个环节上。你兴冲冲地写好了测试脚本,结果一运行,要么是找不到元素,要么是找到了但点不动,要么是这次能跑通下…
📅 2026/7/3 0:00:32
MTKClient实战指南:深度解析联发科芯片调试与设备修复方案 【免费下载链接】mtkclient MTK reverse engineering and flash tool 项目地址: https://gitcode.com/gh_mirrors/mt/mtkclient
MTKClient是一款专业的联发科芯片调试工具,为技术爱好者和…
📅 2026/7/3 0:00:32
6个月前的2025年12月,Boris Cherny 公开宣布自己卸载了 IDE。一时间,Vibe Coding 成了全行业最热的话题。6个月后,当我们回过头来拉一份真实账本,发现事情远没有"一句话生成一个App"那么浪漫。本文从产品经理和研发两个…
📅 2026/7/2 17:37:53
引言:审计结束三个月了,审计员的权限还没关某城商行每年按照监管要求开展至少一次数据安全审计。审计期间,内审部门需要抽样检查各类业务数据——交易流水、客户信息、员工操作日志、权限配置记录。这些数据分布在不同系统中,审计…
📅 2026/7/2 17:37:51
目录
第一步:选对模板,省心一半
第二步:打开扫码点餐功能
开启功能按钮
桌台管理与桌码生成
第三步:个性化设计,打造品牌感
调整点餐页面
设置点餐规则 你还在让顾客站着排队点餐吗?2025年ÿ…
📅 2026/7/3 4:46:22
在业务中快速构建一个能理解私有文档、准确回答专业问题的智能助手,是很多开发团队面临的共同挑战。传统方案往往需要从零开始搭建复杂的 RAG(检索增强生成)系统,涉及文档解析、向量化、检索、大模型调用等多个环节,整…
📅 2026/7/2 9:49:12
FAE放射组学分析工具:医学影像特征探索的完整解决方案 【免费下载链接】FAE FeAture Explorer 项目地址: https://gitcode.com/gh_mirrors/fae/FAE
你是否曾经面对海量医学影像数据感到无从下手?想要从CT、MRI等影像中提取有价值的定量特征&#…
📅 2026/7/3 10:20:06