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

07 常用损失函数

1 损失函数

🎯 核心一句话:

损失函数就是模型的“错题本”和“打分器”——它告诉模型:你这次预测得有多离谱

就像考试时,你答错了题,老师会扣分。损失函数就是给模型每次预测“扣分”的规则。


1.1 大白话解释

想象你在学做菜,师傅给你一个菜谱(这就是模型),你按菜谱炒了一盘菜(这是你的预测),然后师傅尝了一口,评价说:“太咸了!” 或 “火候刚好!”

  • 损失函数 就是那个评价标准。
    • 如果你说这道菜应该是“辣的”,但其实它是“甜的”,那你就“错得离谱”,损失就高。
    • 如果你说是“微辣”,实际是“中辣”,那还凑合,损失就低一点。
    • 如果完全对上了,损失就是0。

它的目的就是:量化错误的程度,让模型知道自己哪里做得不好,然后去改进。


1.2 数学表示

损失函数是一个数学工具,形式化地定义这种“错误程度”。

ℓ:H×Z→R+:=[0,+∞)\ell : \mathcal{H} \times \mathcal{Z} \rightarrow \mathbb{R}_+ := [0, +\infty) :H×ZR+:=[0,+)

意思是: 输入是“一个模型 fθf_\thetafθ” 和 “一个真实样本 z=(x,y)z=(x,y)z=(x,y)”,输出是一个非负数(越大表示错得越厉害)。


1.3 举个具体例子:预测房价

假设你要预测房子的价格:

房子面积真实价格 yyy模型预测价格 fθ(x)f_\theta(x)fθ(x)
80㎡350 万元380 万元

模型猜贵了30万。那它该扣多少分?这就看用什么“评分标准”(损失函数)了。

2 常用损失函数

✅ 2.1 常用损失函数1:平方损失(L² Loss)

这是最常用的损失函数,特别适合回归问题(预测连续值)。

公式:
ℓ(fθ,z)=12(fθ(x)−y)2\ell(f_{\theta}, z) = \frac{1}{2}(f_{\theta}(x) - y)^2 (fθ,z)=21(fθ(x)y)2

代入上面的例子:
ℓ=12(380−350)2=12×900=450\ell = \frac{1}{2}(380 - 350)^2 = \frac{1}{2} \times 900 = 450 =21(380350)2=21×900=450

👉 错30万,扣450分。注意这里是平方,所以错得越多,扣分呈爆炸式增长(错60万要扣1800分!),这样能狠狠惩罚大错误。

注:前面的 12\frac{1}{2}21 是为了求导方便,不影响结果趋势。


✅ 2.2 常见损失函数2:绝对损失(L¹ Loss)

另一种更“温和”的方式:

ℓ=∣fθ(x)−y∣\ell = |f_\theta(x) - y| =fθ(x)y

在上面的例子中:
ℓ=∣380−350∣=30\ell = |380 - 350| = 30 =∣380350∣=30

👉 直接按差值扣分,不会因为误差大而惩罚过重。


2.3 从单个样本到整个数据集:经验风险(训练损失)

光看一道题的错题不够,要看整张卷子的总分。

所以我们把所有样本的损失加起来,求平均,得到训练损失

LS(θ)=1n∑i=1nℓ(fθ(xi),yi)(11)L_S(\theta) = \frac{1}{n} \sum_{i=1}^{n} \ell(f_{\theta}(x_i), y_i) \tag{11} LS(θ)=n1i=1n(fθ(xi),yi)(11)

这叫经验风险,也就是模型在整个训练集上的“平均扣分”。

模型的目标就是:不断调整自己的参数 θ\thetaθ,让这个总分(损失)越来越小,直到几乎不扣分(完美拟合)。


2.4 理想 vs 现实:总体风险

上面的 LS(θ)L_S(\theta)LS(θ) 只是对训练集的评价。我们真正关心的是模型在未来没见过的数据上表现如何。

这叫总体风险(期望损失):

LD(θ)=EDℓ(fθ(x),y)(12)L_{\mathcal{D}}(\theta) = \mathbb{E}_{\mathcal{D}} \ell(f_{\theta}(x), y) \tag{12} LD(θ)=ED(fθ(x),y)(12)

意思是:在所有可能的数据(服从分布 D\mathcal{D}D)上,模型的平均错误程度

可惜,D\mathcal{D}D 是未知的,所以我们只能用训练集上的 LS(θ)L_S(\theta)LS(θ)估计它。


✅ 总结:损失函数到底是什么?

角色说明
裁判员给模型的每次预测打分,分数越高表示错得越离谱
导航仪告诉模型“往哪个方向调整参数”能让错误减少(梯度下降靠它指路)
目标函数训练过程就是在最小化损失函数 LS(θ)L_S(\theta)LS(θ)

🎯 所以,选对损失函数,就像选对了“好学生”的标准。

  • 你用平方损失,模型就会努力避免大错误;
  • 你用绝对损失,模型对异常值更鲁棒。

这就是为什么我们需要损失函数——没有它,模型就像蒙眼走路,根本不知道自己走没走对。


文章转载自:

http://9rzBbHga.knzmb.cn
http://sYjmIJKI.knzmb.cn
http://qGHjIDwz.knzmb.cn
http://kEQxG4Yz.knzmb.cn
http://xl2n2u5o.knzmb.cn
http://WCCJkVfw.knzmb.cn
http://kxRW5IZz.knzmb.cn
http://gK5w1Cec.knzmb.cn
http://uDucxylN.knzmb.cn
http://sk5LiO8h.knzmb.cn
http://TFl7SGor.knzmb.cn
http://VQ1IiGif.knzmb.cn
http://GUpEixWm.knzmb.cn
http://gVd668HM.knzmb.cn
http://rUhr0NXh.knzmb.cn
http://rXbMTE1I.knzmb.cn
http://DyIuwx5S.knzmb.cn
http://pHXiO8en.knzmb.cn
http://i7Rqjp84.knzmb.cn
http://uswx2IBF.knzmb.cn
http://SXIxfBQ9.knzmb.cn
http://CEn8Hyva.knzmb.cn
http://gKEpAj4s.knzmb.cn
http://57UO3n5d.knzmb.cn
http://1LijC4Sc.knzmb.cn
http://1HHcQWA3.knzmb.cn
http://MIh0YuLB.knzmb.cn
http://U0ciFIPe.knzmb.cn
http://3QHBzhmG.knzmb.cn
http://Qx71IdKE.knzmb.cn
http://www.dtcms.com/a/383221.html

相关文章:

  • UDP Socket 进阶:从 Echo 到字典服务器,学会 “解耦” 网络与业务
  • 多语言编码Agent解决方案(4)-Eclipse插件实现
  • 深入理解线程模型
  • LMCache:KV缓存管理
  • 关于物联网的基础知识(三)——物联网技术架构:连接万物的智慧之道!连接未来的万物之网!
  • 《嵌入式硬件(十一):基于IMX6ULL的中断操作》
  • 【Pywinauto库】12.4 pywinauto.uia_element_info后端内部实施模块
  • 工程机械健康管理物联网系统:移动互联与多工况诊断的技术实现
  • python递归解压压缩文件方法
  • 深入 Spring MVC 返回值处理器
  • 黑马JavaWeb+AI笔记 Day05 Web后端基础(JDBC)
  • Open3D 射线投射(Ray Casting,Python)
  • RL【10-1】:Actor - Critic
  • 计算机视觉(opencv)实战二十一——基于 SIFT 和 FLANN 的指纹图像匹配与认证
  • 纯`css`固定标题并在滚动时为其添加动画
  • 金融科技:银行中的风险管理
  • 【办公类-113-01】20250914小2班生日手机备忘录提示、手机同屏到电脑UIBOT(双休日前移、节假日前移)
  • K8s学习笔记(二) Pod入门与实战
  • 如何下载Jemeter测试工具;如何汉化Jmeter2025最新最全教程!
  • 子网划分专项训练-2,eNSP实验,vlan/dhcp,IP规划、AP、AC、WLAN无线网络
  • 【LLM】大模型训练中的稳定性问题
  • Electron第一个应用
  • 企业设备维护成本预测模型全解析
  • 【数据结构】二叉树的概念
  • 架构思维: 高并发场景下的系统限流实战
  • 【开题答辩全过程】以 SpringBoot的乡村扶贫系统为例,包含答辩的问题和答案
  • Git 打标签完全指南:从本地创建到远端推送
  • RabbitMQ如何保障消息的可靠性
  • window显示驱动开发—枚举显示适配器的子设备
  • 《嵌入式硬件(九):基于IMX6ULL的蜂鸣器操作》