模式识别-线性拟合实验报告-黄志强_第1页
模式识别-线性拟合实验报告-黄志强_第2页
模式识别-线性拟合实验报告-黄志强_第3页
模式识别-线性拟合实验报告-黄志强_第4页
模式识别-线性拟合实验报告-黄志强_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

2、umx-sumxy;设置步长为1,迭代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,y2color,1-i/m,1-i/m,1-i/m);%显示错误error=0;for j=1:nerror=error+(y(j)-(a1*x(j)+a0)*(y(j)-(a1*x(j)+a0);endmse=error/n;l=mse;mse

3、三.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;for i=1:1:100sumx=sumx+x(i);sumy=sumy+y(i);sumxx=sumxx+x(i)*x(i);sumyy=sumyy+y(i)*y(i);sumxy=sumxy+x(i)*y(i);endplot(in(:,1),in(:,2),r);用红色的点画出100个样本点hold

4、on; %保留当前绘图,不被下次绘图遮盖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,画直线的方法y2=x2.*a+b;%因为x2是一个向量,所以用x2.表示plot(x2,y2);%制动化一条以x2为x,以y2为y的直线mse=0;error=0;for i=1:nerror=error+(y(i)-(a*x(i)+b)*(y(

5、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;for i=1:1:100sumx=sumx+x(i);sumy=sumy+y(i);sumxx=sumxx+x(i)*x(i);sumyy=sumyy+y(i)*y(i);sumxy=sumxy+x(i)*y(i);endplot(in(:,1),in(:,2),r.);hold on;a0=2;a1=1;l=0.5;n=100;m=5 0;for i=0:1:mtidu_a0=n

6、*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*(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;for j=1:nerror=error+(y(j)-(a1*x(j)+a0)*(y(j)-(a1*x(j)+a0);endmse=error/n;l=mse;mseend四.

7、运行结果1最小二乘法结果2梯度下降法结果误差1最小二乘法A1=3.679365985769617A0=-1.030876273676726均方误差mse=0.04292梯度下降法(起点为a0=2, a1=1迭代次数为50次)A1=3.67860477725630A0=-1.00565713447357均方误差mse =0.0436 附数据in.txt0.9005 1.91130.4480 0.92180.2689 -0.46540.5538 1.46670.1788 -0.23930.8597 1.70480.2320 -0.21350.1681 -0.25490.0267 -1.09280.

8、3224 0.29850.5552 0.79310.8245 2.01720.8042 2.22730.0244 -0.88880.3715 0.56870.4919 0.77950.4661 0.53480.0417 -0.79690.6170 1.24030.5780 1.51130.2988 -0.11200.4357 0.57820.1366 -0.84070.2997 0.38070.7614 1.89590.0353 -0.63990.2695 -0.10720.9963 2.72330.4469 0.86040.1528 -0.54720.8862 2.33980.0314 -1

9、.21900.1160 -0.68320.2509 -0.14950.7597 1.61760.8983 1.95520.2234 -0.16960.6733 1.48590.8188 2.10080.9489 2.65170.8743 2.00690.3937 0.45570.9370 2.44270.4369 0.80250.1625 -0.26760.3098 -0.06410.6811 1.10380.9341 2.24060.9474 2.65010.5991 1.16170.9489 2.41700.4040 0.30190.0410 -1.02710.2938 0.12610.0

10、319 -0.78420.8645 2.24680.4325 0.58290.0928 -0.47670.1378 -0.58010.2420 -0.16170.2230 -0.42450.8677 2.19760.7642 1.74470.3447 0.01780.3848 0.48110.5949 1.20160.5351 1.33880.3336 0.28380.8547 2.21270.2656 -0.10610.9339 2.18400.3898 0.15150.6831 1.54170.2750 0.27060.0280 -0.87500.9406 2.61790.5340 0.82420.6712 1.49270.6075 1.14170.7509 1.56650.9813 2.72670.7277 1.58300.8573 1.47560.9918 3.00380.7595 1.69700.1460 -0.43690.3263 0.06280.0288

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论