图解机器学习-图基损失最小化学习-matlab

本文通过MATLAB代码实现了一种使用Tukey方法的稳健回归算法,并对比了两种不同权重函数下回归曲线的区别。通过对带有异常值的数据进行拟合,展示了Tukey方法能够有效减少异常值对回归结果的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

>> rand('state',0);randn('state',0);
n=10;N=1000;x=linspace(-3,3,n)';X=linspace(-4,4,N)';
y=x+0.2*randn(n,1);y(4)=-4;y(5)=3;
p(:,1)=ones(n,1);p(:,2)=x;t0=p\y;t1=p\y;e=1;
for o=1:1000
r=abs(p*t0-y); w(:,1)=ones(n,1);w(r>e)=e./r(r>e);
t=(p'*(repmat(w,1,2).*p))\(p'*(w.*y));
if norm(t-t0)<0.001,break,end
t0=t;
end
>> for o=1:1000
r=abs(p*t0-y); g(:,1)=zeros(n,1);g(r<=e)=(1-r(r<=e).^2/e^2).^2;
t3=(p'*(repmat(g,1,2).*p))\(p'*(g.*y));
if norm(t3-t1)<0.001,break,end
t1=t3;
end
>>  P(:,1)=ones(N,1); P(:,2)=X;
>> F=P*t;
>> K=P*t1;
>>  figure(1);clf;hold on;axis([-4 4 -4.5 3.5]);
plot(x,y,'bo');
>> plot(X,F,'g-');
>> plot(X,K,'k-');
>> 

 

 

由图像可以很容易看出使用Tukey方法确实能够使得回归问题受到的干扰更小。 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值