图解机器学习-带有约束条件的最小二乘法-matlab源代码

单纯的最小二乘法对于包含噪声的学习过程经常会有过拟合的弱点。因此往往采用带有约束条件的最小二乘法。

在有参数的线性模型:

f_{\theta }(x)=\theta ^{T}\phi (x)

把参数空间限制在一定范围内 约束条件:P\theta =\theta  在这里P是满足P^{2}=P P^{T}=P的b*b维矩阵,表示的是矩阵p的值域R(P)的正交投影矩阵。通过附加P\theta =\theta这样的约束条件,参数\theta就不会偏移到值域R(P)的范围外了。

https://www.cnblogs.com/sddai/p/6055433.html

https://baike.baidu.com/item/%E6%AD%A3%E4%BA%A4%E6%8A%95%E5%BD%B1/6542245?fr=aladdin

https://blog.csdn.net/shenziheng1/article/details/72934925

rand('state',0);randn('state',0);

n=50;N=1000;x=linspace(-3,3,n)';X=linspace(-3,3,N)';

pix=pi*x;y=sin(pix)./(pix)+0.1*x+0.2randn(n,1);

p(:,1)=ones(n,1);P(:,1)=ones(N,1);

for j=1:15

p(:,2*j)=sin(j/2*x);p(:,2*j+1)=cos(j/2*x);

P(:,2*j)=sin(j/2*X);P(:,2*j+1)=cos(j/2*X);

end

t1=p\y;F1=P*t1;

t2=(p*diag(ones(1,11) zeros(1,20)]))\y; F2=P*t2;

figure(1);clf;hold on;axis([-2.8 2.8 -0.8 1.2]);

plot(X,F1,'g-'); plot(X,F2,'r--');plot(x,y,'bo');

legend('LS','Subspace-Constrained LS');

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值