【代价函数】MSE:均方误差(L2 loss)

article/2025/11/7 1:40:07

MSE均方误差(L2 loss)

1.代码展示MAE和MSE图片特性
import tensorflow as tf
import matplotlib.pyplot as plt
sess = tf.Session()
x_val = tf.linspace(-1.,-1.,500)
target = tf.constant(0.)#计算L2_loss
l2_y_val = tf.square(target - x_val)
l2_y_out = sess.run(l2_y_val)#用这个函数打开计算图#计算L1_loss
l1_y_val = tf.abs(target - x_val)
l1_y_out = sess.run(l1_y_val)#用这个函数打开计算图#打开计算图输出x_val,用来画图
#用画图来体现损失函数的特点
x_array = sess.run(x_val)
plt.plot(x_array, l1_y_out, 'b--', lable = 'L1_loss')
plt.plot(x_array, l2_y_out, 'r--', lable = 'L2_loss')

这里写图片描述

2.MSE公式及导数推导

损失函数:

以单个样本举例:
[外链图片转存失败(img-PAQ9mnqd-1562394972088)(http://i.imgur.com/D4n2Dsz.jpg)] ,a=σ(z), where z=wx+b

利用SGD算法优化损失函数,通过梯度下降法改变参数从而最小化损失函数:
对两个参数权重和偏置进行求偏导(这个过程相对较容易):
这里写图片描述

参数更新:
这边就说一种简单的更新策略(随机梯度下降):
[外链图片转存失败(img-pTU7Q58r-1562394972090)(http://image107.360doc.com/DownloadImg/2017/06/1400/101675026_3)]

3.分析L2 Loss的特点

根据上面的损失函数对权重和偏置求导的公式我们发现:

这里写图片描述

其中,z表示神经元的输入,σ表示激活函数。从以上公式可以看出,w和b的梯度跟激活函数的梯度成正比,激活函数的梯度越大,w和b的大小调整得越快,训练收敛得就越快。但是L2 Loss的这个特点存在的缺陷在于,对于我们常用的sigmoid激活函数来说,并不是很符合我们的实际需求。
先介绍下sigmoid激活函数的特性:
sigmoid函数就是损失函数的输入:a=σ(z) 中的σ()的一种。这是一个激活函数,该函数的公式,导数以及导数的分布图如下图所示:



我们可以从sigmoid激活函数的导数特性图中发现,当激活值很大的时候,sigmoid的梯度(就是曲线的斜率)会比较小,权重更新的步幅会比较小,这时候网络正处在误差较大需要快速调整的阶段,而上述特性会导致网络收敛的会比较慢;而当激活值很小的时候,sigmoid的梯度会比较大,权重更新的步幅也会比较大,这时候网络的预测值正好在真实值的边缘,太大的步幅也会导致网络的震荡。这我们的期望不符,即:不能像人一样,错误越大,改正的幅度越大,从而学习得越快。而错误越小,改正的幅度小一点,从而稳定的越快。而交叉熵损失函数正好可以解决这个问题。


http://chatgpt.dhexx.cn/article/qoSxX6td.shtml

相关文章

MAE平均绝对误差和MSE均方误差

MAE:Mean absolute error是绝对误差的平均值,能更好的反映预测值误差的实际情况 其中,f_i表示预测值,g_i表示真实值 缺点:若本身真实值就比较大,比如真实值1万,预测值9000,但mae100…

mse均方误差计算公式_视觉SLAM十四讲实践之真实轨迹和估计轨迹均方根误差

为了理解RMSE首先介绍一些统计学的概念,然后介绍SLAM领域里面的计算精度ATE和RPE的用法。 中位数 一组数据按大小顺序排列,位于最中间的一个数据 (当有偶数个数据时,为最中间两个数据的平均数) 叫做这组数据的中位数。 用中位数作为一组数据的代表,可靠性不高,但受极端数据…

通俗易懂讲解均方误差 (MSE)

测量预测值Ŷ与某些真实值匹配程度。MSE 通常用作回归问题的损失函数。例如,根据其属性估算公寓的价格。 这是维基百科中定义的均方误差 (MSE) 公式。它代表了一个非常简单的概念,但如果您刚开始使用 ML,可能不太容易读懂。 让我们从内而外拆…

图像处理之图像质量评价指标MSE(均方误差)

一、MSE基本定义 MSE全称为“Mean Square Error”,中文意思即为均方误差,是衡量图像质量的指标之一。计算原理为真实值与预测值的差值的平方然后求和再平均,公式如下: 其中, M为图像I的像素总数,N为图像K…

损失函数——均方误差(Mean Squared Error,MSE)

均方误差(Mean Squared Error,MSE):MSE是回归任务中常用的损失函数,它衡量模型预测值与实际值之间的平均平方误差。 具体来说,MSE的计算公式如下: 其中,n是样本数量,xi是…

已解决OSError: [WinError 6] 句柄无效。

已解决Exception ignored in: <bound method Popen.__del__ of <subprocess.Popen object at 0x00000194C27C4BE0>> Traceback (most recent call last): File “D:\ProgramData\Anaconda3\lib\subprocess.py”, line 768, in __del__ self._internal_poll(_deadst…

解决OSError: [Errno 98] Address already in use问题

学习python socket编程&#xff0c;运行服务器端时报错OSError: [Errno 98] Address already in use 1、使用命令sudo netstat -tunlp 查看绑定正在使用的端口号&#xff0c;可以看到12345端口号被963进程占用&#xff0c;这里需要加上sudo或者切换到管理员用户运行&#xff0…

oserror: .txt not found 解决方案

oserror: .txt not found 解决方案 等我彻底上手了我一定要做一个最最最适合新手菜鸟的教程啊啊啊 学习的过程真是踩坑无数啊 归根结底还是因为菜&#xff0c;使用习惯不好 说正事&#xff0c;最初用pytorch的时候访问txt文件&#xff0c;提示找不到文件或者路径&#xff0…

报错OSError: [Errno 22] Invalid argument 的一种解决方法

今天写作业的时候突然读不了txt文件了&#xff0c;查了很多地方&#xff0c;已开始写相对路径之后显示的是如下报错&#xff0c;仔细检查之后并没有发现代码问题。 查找资料仔细检查之后依旧无法解决&#xff0c;决定改用写绝对路径。 填写绝对路径时又报了如下错误&#xff1…

OSError[Errno 48]:Address already in use解决方法

Python flask OSError[Errno 48]:Address already in use 建立Flask项目filename.py后&#xff0c;运行该项目&#xff0c;报错内容如下&#xff1a; 意思是地址已被使用&#xff0c;搜索相关问题后发现是因为&#xff0c;你曾启动过相同或者类似的服务占用了这个端口&#x…

Python报错:OSError: cannot open resource

Python报错&#xff1a;OSError: cannot open resource 今天借助Python第三方库写了一个简单的生成词云的编程&#xff0c;但在使用wordcloud生成词云过程中&#xff0c;出现了OSError: cannot open resource错误&#xff0c;通过断点调试并查看了一些网上的解决方法 找到了原因…

【解决】OSError: cannot write mode F as PNG

问题: 将图像所表示的矩阵转换为图像并保存为 png 格式时报错: OSError: cannot write mode F as PNG&#xff0c;报错信息如下: 原因分析: 这里的 mode F 意思是图像中浮点类型的像素值&#xff0c;原因是我代码中的 img 数组是 float 类型的&#xff0c;而图像中每个像素的…

出现Python OSError: [Errno 22] Invalid argument的来龙去脉

参考解决办法&#xff1a;https://blog.csdn.net/weixin_44952395/article/details/105289460 问题描述&#xff1a; 今天我在读取文本文档txt内的文件路劲时总是报错&#xff0c;如下图所示 上网找了好几种解决办法&#xff0c;其中我在本文开头所述的参考办法比较有用。 发…

彻底解决 OSError: [WinError 127] 找不到指定的程序。

原创文章&#xff0c;转载请注明出处&#xff01; 在使用pip安装torch_geometric包时&#xff0c;运行时会发现报错&#xff1a; ModuleNotFoundError: No module named torch_sparse 于是当我又装了torch_sparse时&#xff0c;发现报错&#xff1a; OSError: [WinError 127…

ERROR: Could not install packages due to an OSError...解决方法

ERROR: Could not install packages due to an OSError…解决办法 ERROR: Could not install packages due to an OSError: [WinError 5] 拒绝访问。: ‘c:\users\lenovo\python\lib\site-packages\~umpy\.libs\libopenblas.WCDJNK7YVMPZQ2ME2ZZHJJRJ3JIKNDB7.gfortran-win_am…

Python OSError: [Errno 22] Invalid argument:的出现和解决

1、在学习从文件读取数据中&#xff0c;写了个示例代码&#xff0c;读取不在同一个目录的file.txt&#xff0c;运行后报这个Python OSError: [Errno 22] Invalid argument:错误&#xff1a; &#xff08;1&#xff09;、首先&#xff0c;在F盘的python_stu中新增了一个file.tx…

OSError: [Errno 22] Invalid argument错误解决方案

在做文件读取写入操作的时候遇见OSError: [Errno 22] Invalid argument: F:\\pythonProject\\Api\\common\\2022-03-11_15:37:23test.txt的报错&#xff0c;单独的打印出文件路径明明是正确&#xff0c;但使用python open()函数读写文件时就会报该错误 错误代码&#xff1a; …

OSError: [Errno 22] Invalid argument问题解决

OSError: [Errno 22] Invalid argument问题解决 问题描述解决方法那么问题出在哪了?总结 问题描述 在做SSD目标检测算法的时候&#xff0c;在predict.py文件中遇到了这么一个报错的问题。 // ERROR Traceback (most recent call last):File "D:/ssd-keras-fromCSDN-Par…

OSError解决办法

OSError: [WinError 1455] 页面文件太小&#xff0c;无法完成操作。 Error loading “E:\devInstall\pytorch\Anaconda3\envs\pytorch\lib\site-packages\torch\lib\caffe2_detectron_ops_gpu.dll” or one of its dependencies. 解决办法 在进行classSR训练的时候train.py报错…

已解决OSError: [Errno 22] Invalid argument

已解决OSError: [Errno 22] Invalid argument 文章目录 报错代码报错翻译报错原因解决方法千人全栈VIP答疑群联系博主帮忙解决报错 报错代码 粉丝群里面的一个粉丝用Python读取文件的时候&#xff0c;发生了报错&#xff08;跑来找我求助&#xff0c;然后顺利帮助他解决了&…