深度学习——第2章习题2-1

《神经网络与深度学习》——邱锡鹏

2-1 分析为什么平方损失函数不适用于分类问题。

平方损失函数(Quadratic Loss Function)经常用在预测标签y为实数值的任务中,定义为
L ( y , f ( x ; θ ) ) = 1 2 ( y − f ( x ; θ ) ) 2 \mathcal{L}\left(y,f(x;\theta)\right)=\frac{1}{2}\left(y-f(x;\theta)\right)^2 L(y,f(x;θ))=21(yf(x;θ))2
平方损失函数一般不适用于分类问题。

为什么呢?

在issue里有人这样回答:

先来弄清楚回归问题和分类问题的区别:

回归问题:简单来说,就是预测一个连续的数值。比如,预测明天的气温、房价、股票价格等等。这里的关键在于,预测的结果是一个具体的数字,范围可以非常广泛。

分类问题:指的是将数据分到离散的类别中。比如,判断一封邮件是“垃圾邮件”还是“正常邮件”;识别一张图片是“猫”还是“狗”;或者诊断一个病人是“健康”还是“生病”。这里的关键在于,结果是有限的几个类别之一。

分类问题的核心目标是估计样本属于每个类别的概率,并最大化正确类别的概率(或对数似然)。
而平方损失函数的目标是最小化预测值(连续数值)与目标值(0或1)之间的数值差异。它没有直接建模概率或最大化似然的机制。
交叉熵损失函数直接来源于最大似然估计原理。它衡量的是预测概率分布于真实分布(one-hot)之间的差异,完美契合分类问题的概率建模目标。

(额。。。可能看不太懂,下面通俗一点讲)

分类问题要的是“选对”,而平方损失关心的是“猜得差不多”。
也就是说分类问题就像考试在做选择题(A/B/C/D),目标是选对正确答案。平方损失函数像是一个奇怪的考官:他不在乎你选哪个选项,他让你给每个选项打分(比如A打90分,B打5分,C打3分,D打2分)。然后他只看正确答案的分数离100分差多少,差的平方就是扣分。学生把正确答案从60分提高到70分,考官觉得“有进步,但不用非得追求90分”。交叉熵损失函数才是一个正常的分类考官:他要求你直接选一个答案(或者说每个答案的概率)。他只看你分配给正确答案的概率是多少。如果你很确定正确答案(概率接近100%),扣分极少;如果你不太确定(比如60%),扣分较多;如果你完全选错(概率接近0%),扣分极其严厉。这逼着学生:

  1. 在确定时大胆选正确答案(输出接近1)。
  2. 在不确定时,也会倾向于提高正确答案的概率(即使从60%到70%,考官给的“奖励”/减少的扣分也很大)。
  3. 绝不会为了“安全”而把答案说得模棱两可。

还有梯度问题,在优化过程中,模型需要根据损失函数的梯度来调整参数。对于分类问题,特别是多分类问题,平方损失函数在预测值接近实际值时梯度会变得非常小,这意味着模型的调整速度会变得很慢,收敛时间会更长。另外,在分类问题中,我们希望模型能给出一个概率值,表示某个样本属于某个类别的可能性。**平方损失函数只是简单地计算预测值和实际值之间的差距,没有考虑到概率的含义。**对数损失函数则能更好地解释模型的预测概率,帮助我们更准确地评估模型的性能。

平方损失函数一般用于解决什么问题呢?

平方损失函数的核心思想是:预测值离真实值越远,惩罚越重(按距离的平方增长)。很适合解决回归问题

有很多关于MSE与CE的面试题(从xhs上找了两题):

1.MSE Loss 与 CE Loss 的误差分别满足什么分布?

MSE即均方误差,常用于回归任务(如预测连续值),其误差满足正态分布(高斯分布)。
原理:假设预测值与真实值的误差以真实值为中心,呈对称“钟形”分布(多数误差集中在0附近,离0越远概率越低)。
数学逻辑:当误差服从正态分布时,通过最大似然估计推导出的损失函数即为MSE,因此MSE本质是高斯分布假设下的最优选择。

CE即交叉熵,常用于分类任务(如二分类、多分类),其误差对应伯努利分布(二分类)或多项式分布(多分类)。
原理:衡量预测概率分布与真实标签分布的差异。以二分类为例,真实标签0/1服从伯努利分布(类似抛硬币的概率模型),CE损失通过最大化“预测概率符合真实分布”的似然性来优化。
数学逻辑:若样本服从伯努利/多项式分布,CE损失等价于最大化似然函数,误差本质是预测概率偏离真实分布的程度。

伯努利分布是什么?
伯努利分布(bernouli distribution),又叫做0-1分布,是一种离散型概率分布,指一次随机试验,结果只有两种。也就是一个随机变量的取值只有0和1.最简单的例子就是跑一次硬币,预测结果为正还是反。记成功概率为 p ( 0 ≤ p ≤ 1 ) ,则失败概率为 p(0\leq p \leq 1),则失败概率为 p(0p1),则失败概率为 q = 1 − p q=1-p q=1p,则:
其概率质量函数为:
P ( x ) = p x ( 1 − p ) 1 − x = { p i f x = 1 q i f x = 0 P(x)=p^x(1-p)^{1-x}= \begin{cases} p & if\ x=1 \\ q & if\ x=0 \end{cases} P(x)=px(1p)1x={pqif x=1if x=0
其期望值为:
E ( x ) = ∑ x P ( x ) = 0 × q + 1 × p = p E(x)=\sum xP(x) = 0 \times q + 1 \times p=p E(x)=xP(x)=0×q+1×p=p
其方差为:
V a r ( x ) = E [ ( x − E ( x ) ) 2 ] = ∑ ( x − p ) 2 P ( x ) − p q Var(x)=E[(x-E(x))^2] = \sum (x-p)^2P(x)-pq Var(x)=E[(xE(x))2]=(xp)2P(x)pq

2.为什么分类都用CE损失?回归用MSE损失?

先讲分类任务选择CE损失的核心原因。

  • 与分类问题的概率本质匹配
    分类任务的目标是预测样本属于某一类的概率(如图片是“猫”的概率为90%),而CE损失直接衡量预测概率分布与真实标签分布的差异(真实标签是one-hot向量,属于确定概率分布)。
    例如:二分类中真实标签为1,若模型预测概率为0.1,CE损失会通过对数运算放大这种偏差,促使模型提高正确类别的概率;而MSE损失此时仅计算“0.1与1的差值平方”,对概率的惩罚不够直接。
  • 避免MSE在分类中的梯度缺陷
    若分类模型使用 sigmoid/softmax 激活函数,MSE损失会导致梯度消失问题:当预测概率接近0或1时,梯度趋近于0,模型难以优化。而CE损失与 sigmoid/softmax 组合时,梯度公式更简洁(如二分类中梯度为预测概率与真实标签的差值),训练更稳定。
  • 符合分类误差的概率分布假设
    分类问题的误差本质是“预测概率偏离真实分布”对应伯努利/多项式分布(如二分类类似抛硬币的概率模型)。CE损失基于最大似然估计,假设样本服从这些分布,因此更贴合分类任务的概率逻辑。

再看看回归问题选择MSE损失的核心原因。

  • 与回归问题的连续值特性匹配
    回归任务需要预测连续值(如房价、温度),目标是让预测值尽可能接近真实值,而MSE直接度量预测值与真实值的距离平方,误差越大惩罚越重,符合“最小化绝对偏差”的直观需求。

    例如:真实值为10,预测值为8和5,MSE对5的惩罚(25)远大于对8的惩罚(4),能更强烈地推动模型修正大误差。

  • 符合回归误差的正态分布假设
    回归问题中,误差(真实值-预测值)通常被假设为正态分布(如测量误差、自然现象的波动符合高斯分布)。MSE损失等价于在正态分布假设下的最大似然估计,即当误差服从高斯分布时,最小化MSE等价于最大化数据出现的概率,理论上最优。

  • 更易优化
    MSE损失函数是凸函数,梯度为“预测值-真实值”,计算简单且优化过程平滑,不易陷入局部最小值(相比某些非凸损失函数),适合回归任务的数值优化。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/85596.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/85596.shtml
英文地址,请注明出处:http://en.pswp.cn/bicheng/85596.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Linux】运行脚本后打屏同时保存到本地

命令: sh run.sh 2>&1 | tee output.log sh run.sh 2>&1 | tee output_$(date "%Y%m%d%H%M").log作用:运行脚本,并同时将输出(包括标准输出和错误输出)显示到终端,并保存到文件中…

Spark 在小众日常场景中的实战应用:从小店数据到社区活动

Spark 在小众日常场景中的实战应用:从小店数据到社区活动​ 提起 Spark,大家往往会联想到大型互联网公司的数据处理、金融行业的复杂分析。但实际上,Spark 在许多小众、贴近生活的场景中也能大显身手。结合学习与实践,我探索了 S…

mysql 执行计划 explain命令 详解

explain id :select查询的序列号,包含一组数字,表示查询中执行select子句或操作表的顺序select_type:查询类型 或者是 其他操作类型table :正在访问哪个表partitions :匹配的分区type :访问的类…

让大模型“更懂人话”:对齐训练(RLHF DPO)全流程实战解析

网罗开发 (小红书、快手、视频号同名) 大家好,我是 展菲,目前在上市企业从事人工智能项目研发管理工作,平时热衷于分享各种编程领域的软硬技能知识以及前沿技术,包括iOS、前端、Harmony OS、Java、Python等…

GO 原子操作面试题及参考答案

Go 的 sync/atomic 包和 sync.Mutex 的根本区别是什么? Go 语言中的 sync/atomic 包和 sync.Mutex 都用于处理并发编程中的同步问题,但它们的实现机制、应用场景和性能特性存在根本差异。理解这些差异对于编写高效、安全的并发代码至关重要。 sync/atomi…

MATLAB 山脊图绘制全解析:从数据生成到可视化进阶

一、引言:当数据分布拥有「层次感」—— 山脊图的魅力​ 在数据可视化的世界里,我们常常需要同时展示多个分布的形态差异。传统的重叠密度图虽然能呈现整体趋势,但当分布数量较多时,曲线交叠会让画面变得杂乱。这时候&#xff0c…

跨境电商每周资讯—6.16-6.20

1. Instagram 在亚太地区逐渐超越 TikTok 在整个亚太地区,Instagram用户数量正逐渐超过TikTok。预计2025年日本Instagram用户数量将增至4440万,印度今年用户数量将增长10%,领跑亚太。与之形成对比的是,TikTok在一些国家增长速度放…

计算机网络 网络层:数据平面(一)

前一节学习了运输层依赖于网络层的主机到主机的通信服务,提供各种形式的进程到进程的通信。了解这种主机到主机通信服务的真实情况,是什么使得它工作起来的。 在本章和下一章,将学习网络层实际是怎样实现主机到主机的通信服务。与运输层和应用…

Suna本地部署详细教程

一、安装基础环境 # 1、创建环境 conda create -n suna python3.11.7# 2、激活虚拟环境 conda activate suna# 3、安装jupyter和ipykernel pip install jupyter ipykernel# 4、将虚拟环境添加到jupyter # python -m ipykernel install --user --namemyenv --display-name"…

LeetCode 每日一题打卡|若谷的刷题日记 3day--最长连续序列

1.最长连续序列 题目: 给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。 请你设计并实现时间复杂度为 O(n) 的算法解决此问题。 示例 1: 输入:nums [1…

EfficientVLA:面向视觉-语言-动作模型无训练的加速与压缩

25年6月来自上海交大、哈工大、西安交大和电子科大(成都)的论文“EfficientVLA: Training-Free Acceleration and Compression for Vision-Language-Action Models”。 视觉-语言-动作 (VLA) 模型,特别是基于扩散的架构,展现出具…

wireshark抓包分析TCP数据包

1、直接从TCP的三次握手开始说起 三次握手就是客户与服务器建立连接的过程 客户向服务器发送SYN(SEQ=x)报文,然后就会进入SYN_SEND状态服务器收到SYN报文之后,回应一个SYN(SEQ=y)ACK(ACK=x+1)报文,然后就会进入SYN_RECV状态客户收到服务器的SYN报文,回应一个ACK(AC…

同等学力申硕-计算机统考-历年真题和备考经验

同等学力申请硕士学位考试是比较适合在职人员的提升学位方式,了解过的人应该都知道,现在社会的竞争压力越来越大,为了提高职业生存能力,提升学位在所难免。 一、已有计算机统考历年真题资料 报名过同等学力申硕计算机专业的朋友都…

OSI网络通信模型详解

OSI 模型就是把这整个过程拆解成了 7 个明确分工的步骤,每一层只负责自己那一摊事儿,这样整个系统才能顺畅运转,出了问题也容易找到“锅”在谁那。 核心比喻:寄快递 📦 想象你要把一份重要的礼物(你的数据…

C++ 检测文件大小和文件传输

检测文件的大小 你可以通过标准 C/C 的文件 API 很方便地获取文件的字节大小&#xff0c;以下是几种常用方法&#xff1a; ✅ 方法一&#xff1a;使用 stat() 函数&#xff08;推荐&#xff09; #include <sys/stat.h> #include <stdio.h>off_t get_file_size(co…

Ubuntu 中修改网卡 IP

在 Ubuntu 中修改网卡 IP 地址可以通过以下方法实现&#xff0c;具体取决于你使用的网络管理工具&#xff08;如 netplan、ifconfig/ip 命令或传统 interfaces 文件&#xff09;。以下是常见方法&#xff1a; 方法 1&#xff1a;使用 netplan&#xff08;Ubuntu 17.10 及更新版…

记录学习three.js 为什么 .glTF 是更适合 Web 的 3D 模型格式?——从 .OBJ 到 .glTF 的转变⑭

在上一篇中&#xff0c;我们介绍了如何在 Three.js 中加载 .OBJ 模型。如果你没看过&#xff0c;建议先阅读一下基础内容。然而你很快会发现&#xff0c;.OBJ 虽然入门简单&#xff0c;却并不是 Web3D 场景中的最佳格式。 .OBJ 是什么&#xff1f; .OBJ 是最早期的3D交换格式之…

H递归函数.go

前言&#xff1a;递归函数是一种强大而又充满魅力的编程技巧。它就像是一面神奇的镜子&#xff0c;函数在其中能够调用自身的倒影&#xff0c;从而以一种简洁而优雅的方式解决许多复杂的问题。 目录 一、递归函数是啥玩意儿 二、递归函数的优缺点 优点 缺点 三、递归函数…

软件功能测试的测试标准

一、软件功能测试行业标准概述 软件功能测试行业标准是规范软件测试流程、方法、工具及人员资质的准则&#xff0c;是确保软件产品的功能性、可靠性、易用性等质量特性符合用户需求。这些标准不仅为测试人员提供了明确的指导&#xff0c;也为软件产品的质量控制提供了有力保障。…

EchoEar(喵伴):乐鑫发布与火山引擎扣子联名 AI 智能体开发板

随着生成式人工智能技术的快速发展&#xff0c;大语言模型 (LLM) 正逐步成为推动智能设备升级的核心力量。乐鑫科技携手火山引擎扣子大模型团队&#xff0c;共同推出智能 AI 开发套件 —— EchoEar&#xff08;喵伴&#xff09;。该套件以端到端开发为核心理念&#xff0c;构建…