[ch03-01] 均方差损失函数

系列博客,原文在笔者所维护的github上:https://aka.ms/beginnerAI
点击star加星不要吝啬,星越多笔者越努力。

3.1 均方差函数

MSE - Mean Square Error。

该函数就是最直观的一个损失函数了,计算预测值和真实值之间的欧式距离。预测值和真实值越接近,两者的均方差就越小。

均方差函数常用于线性回归(linear regression),即函数拟合(function fitting)。公式如下:

\[ loss = {1 \over 2}(z-y)^2 \tag{单样本} \]

\[ J=\frac{1}{2m} \sum_{i=1}^m (z_i-y_i)^2 \tag{多样本} \]

3.1.1 工作原理

要想得到预测值a与真实值y的差距,最朴素的想法就是用\(Error=a_i-y_i\)

对于单个样本来说,这样做没问题,但是多个样本累计时,\(a_i-y_i\)有可能有正有负,误差求和时就会导致相互抵消,从而失去价值。所以有了绝对值差的想法,即\(Error=|a_i-y_i|\)。这看上去很简单,并且也很理想,那为什么还要引入均方差损失函数呢?两种损失

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
注释并解释以下代码:function [Image,Psnr]=WaveletDenoising(x,n,wname,image,a) %函数功能: % y=WaveletDenoising(x,n,wname) % 选择一副图像,加上不同程度的高斯噪声,对带噪图像进行小波分解, % 对小波系数进行阈值处理再利用处理后的结果重构原图像 %输入参数: % x----输入的噪声图像 % n----小波分解的层数 % wname----小波基函数 % a----折中系数 %输出参数: % Image----原图像去噪后重构的图像 % Sndz----峰值信噪比 [c,s]=wavedec2(x,n,wname); %进行3层小波分解 for i=1:3 %获取各层各高频分量在c向量中的坐标 if i==1 num(i,1)=s(i,1)*s(i,2)+1; num(i,2)=num(i,1)+s(i+1,1)s(i+1,2); num(i,3)=num(i,2)+s(i+1,1)s(i+1,2); step(i)=s(i+1,1)s(i+1,2); else num(i,1)=num(i-1,3)+s(i,1)s(i,2); num(i,2)=num(i,1)+s(i+1,1)s(i+1,2); num(i,3)=num(i,2)+s(i+1,1)s(i+1,2); step(i)=s(i+1,1)s(i+1,2); end end C=c; for j=1:101 b(j)=0.01(j-1); %折中系数取0到1中的两位小数进行比较 for i=1:3 [H,V,D]=detcoef2('a',c,s,i); %提取第i层各高频系数 B=[H V D]; [M,N]=size(B); for k=1:M for w=1:N sigma=median(abs(B(k,w)))/0.6745;%噪声方 end end th=sigmasqrt(2log10(MN)); ch=c(1,num(4-i,1):num(4-i,2)+step(4-i)-1);%对各高频系数进行阈值处理 C(1,num(4-i,1):num(4-i,2)+step(4-i)-1)=ThresholdProcessing(ch,th,b(j));%阈值处理函数 cv=c(1,num(4-i,2):num(4-i,2)+step(4-i)-1); C(1,num(4-i,2):num(4-i,2)+step(4-i)-1)=ThresholdProcessing(cv,th,b(j)); cd=c(1,num(4-i,3):num(4-i,2)+step(4-i)-1); C(1,num(4-i,3):num(4-i,2)+step(4-i)-1)=ThresholdProcessing(cd,th,b(j)); end ReImage(:,:,j)=waverec2(C,s,wname);%重构图像 [a1,b1]=size(image);%计算峰值信噪比 sqr=double(image) - double(ReImage(:,:,j)); mse= sum(sum( sqr.^2 ))/(a1b1); PSNR(j)= 10log10( 255255 / mse ); end %返回输出值 a=a+1; [Ma,Mn]=max(PSNR); if a==0 Psnr=Ma; Image=ReImage(:,:,b(Mn)*100); else Image=ReImage(:,:,a); Psnr=PSNR(a); end end
06-06

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值