模式识别-线性拟合实验报告-黄志强.doc

模式识别-线性拟合实验报告-黄志强.doc

ID:50398257

大小:684.50 KB

页数:8页

时间:2020-03-05

模式识别-线性拟合实验报告-黄志强.doc_第1页
模式识别-线性拟合实验报告-黄志强.doc_第2页
模式识别-线性拟合实验报告-黄志强.doc_第3页
模式识别-线性拟合实验报告-黄志强.doc_第4页
模式识别-线性拟合实验报告-黄志强.doc_第5页
资源描述:

《模式识别-线性拟合实验报告-黄志强.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、线性拟合-实验报告内蒙古大学计算机学院31209003黄志强一.实验方法:1最小二乘法2梯度下降法二.公式推导1最小二乘用线性函数ha(x)=a0+a1*x来拟合y=f(x);构造代价函数J(a):代价函数分别对a0和a1求偏导,连个偏导数都等于0成为两个方程,两个方程联合求解得到a0和a1;2梯度下降构造代价函数J(a),J(a)对a0,a1分别求偏导得到梯度,〆J(a)/〆a0=n*a0+a1*sumx-sumy;〆J(a)/〆a1=a1*sumx*sumx+a0*sumx-sumx*sumy;tidu_a0=n*a0+a1*sumx-s

2、umy;tidu_a1=a1*sumxx+a0*sumx-sumxy;设置步长为l,迭代m次delta_r=sqrt(tidu_a0*tidu_a0+tidu_a1*tidu_a1);a0=a0-l*(tidu_a0/tidu_r);a1=a1-l*(tidu_a1/tidu_r);每次迭代显示得到的直线和mse,并修订学习率%显示直线x2=[-0.1,1.1];y2=x2.*a1+a0;plot(x2,y2,'color',[1-i/m,1-i/m,1-i/m]);%显示错误error=0;forj=1:nerror=error+(y(j)

3、-(a1*x(j)+a0))*(y(j)-(a1*x(j)+a0));endmse=error/n;l=mse;mse三.matlab代码1最小二乘法代码:%in是一个100行2列的矩阵,两列分别为x和y。用一条直线y=x*a+b拟合x和y的关系;%用最小二乘法计算a和b。x=in(1:100,1);y=in(1:100,2);sumx=0;sumy=0;sumxx=0;sumyy=0;sumxy=0;fori=1:1:100sumx=sumx+x(i);sumy=sumy+y(i);sumxx=sumxx+x(i)*x(i);sumyy=s

4、umyy+y(i)*y(i);sumxy=sumxy+x(i)*y(i);endplot(in(:,1),in(:,2),'r.');%用红色的点画出100个样本点holdon;%保留当前绘图,不被下次绘图遮盖n=100;[b,a]=solve('n*a0+a1*sumx=sumy','a0*sumx+a1*sumxx=sumxy','a0','a1');%解二元一次方程组,未知数为a0,a1,结果返回给b和a。a=eval(a);%eval(str),把str当做一条语句执行b=eval(b);x2=[0,1];%知道解析式y=a*x+b,

5、画直线的方法y2=x2.*a+b;%因为x2是一个向量,所以用x2.表示plot(x2,y2);%制动化一条以x2为x,以y2为y的直线mse=0;error=0;fori=1:nerror=error+(y(i)-(a*x(i)+b))*(y(i)-(a*x(i)+b));endmse=error/n;mse2梯度下降法代码:x=in(1:100,1);y=in(1:100,2);sumx=0;sumy=0;sumxx=0;sumyy=0;sumxy=0;fori=1:1:100sumx=sumx+x(i);sumy=sumy+y(i);s

6、umxx=sumxx+x(i)*x(i);sumyy=sumyy+y(i)*y(i);sumxy=sumxy+x(i)*y(i);endplot(in(:,1),in(:,2),'r.');holdon;a0=2;a1=1;l=0.5;n=100;m=50;fori=0:1:mtidu_a0=n*a0+a1*sumx-sumy;tidu_a1=a1*sumxx+a0*sumx-sumxy;tidu_r=sqrt(tidu_a0*tidu_a0+tidu_a1*tidu_a1);a0=a0-l*(tidu_a0/tidu_r);a1=a1-l*

7、(tidu_a1/tidu_r);x2=[-0.1,1.1];y2=x2.*a1+a0;plot(x2,y2,'color',[1-i/m,1-i/m,1-i/m]);error=0;forj=1:nerror=error+(y(j)-(a1*x(j)+a0))*(y(j)-(a1*x(j)+a0));endmse=error/n;l=mse;mseend四.运行结果1最小二乘法结果:2梯度下降法结果五.误差1最小二乘法A1=3.679365985769617A0=--1.030876273676726均方误差mse=0.04292梯度下降法

8、(起点为a0=2,a1=1;迭代次数为50次)A1=3.67860477725630A0=-1.00565713447357均方误差mse=0.0436六.附数据i

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。