利用梯度下降法实现线性回归的算法及matlab实现_第1页
利用梯度下降法实现线性回归的算法及matlab实现_第2页
利用梯度下降法实现线性回归的算法及matlab实现_第3页
利用梯度下降法实现线性回归的算法及matlab实现_第4页
利用梯度下降法实现线性回归的算法及matlab实现_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

1、利用梯度下降法实现线性回归的算法及matlab实现1.线性回归算法概述线性回归属于监督学习,因此方法和监督学习应该是一样的,先给定一个训练集,根据这个训练集学习出一个线性函数,然后测 试这个函数训练的好不好(即此函数是否足够拟合训练集数据),挑选出最好的函数(cost function最小)即可;注意:因为是线性回归,所以学习到的函数为线性函数,即直线函数;线性回归可分为单变量线性回归和多变量线性回归;对于单变量线性回归而言,只有一个输入变量x;(1).单变量线性回归我们能够给出单变量线性回归的模型:hex) = 8。+ OiX我们常称x为feature, h(x)为hypothesis ;上

2、述模型中的30和耳在代码中分别用theta0和thetal表示。从上面“方法”中,我们肯定有一个疑问,怎么样能够看出线性函数拟合的好不好呢?我们需要使用到Cost Function (代价函数),代 价函数越小,说明线性回归地越好(和训练集拟合地越好),当然最小就是0,即完全拟合。cost Function的内部构造如下面公式所述:J(。S)=去力(标(2)-V)占=1其中:表示向量x中的第i个元素;表示向量y中的第i个元素;表示已知的假设函数;m为训练集的数量;虽然给定一个函数,我们能够根据cost function知道这个函数拟合的好不好,但是毕竟函数有这么多,总不可能一个一个试吧? 因此

3、我们引出了梯度下降:能够找出cost function函数的最小值;梯度下降原理:将函数比作一座山,我们站在某个山坡上,往四周看,从哪个方向向下走一小步,能够下降的最快;当然解决问 题的方法有很多,梯度下降只是其中一个,还有一种方法叫Normal Equation;方法:先确定向下一步的步伐大小,我们称为Learning rate(alpha);任意给定一个初始值:b -(用theta0和theta1表示);确定一个向下的方向,并向下走预先规定的步伐,并更新,”;当下降的高度小于某个定义的值,则停止下降;算法:一一一、krepeat until 些mergen能 I %-终止条件(|Hiinu

4、ltancously update/ =35 J = L)/Learning rate牵5牧据曜的方向小tempo-龟dOQMmpl=色-住顼-J(。!):二 tempO:= tempi,.特点:初始点不同,获得的最小值也不同,因此梯度下降求得的只是局部最小值;越接近最小值时,下降速度越慢;梯度下降能够求出一个函数的最小值;线性回归需要使得cost function的最小;因此我们能够对cost function运用梯度下降,即将梯度下降和线性回归进行整合,如下图所示:Gradient descent algarithmLinear Regression Modelh9(x) = Go + W

5、repeat until coHverciicc % := % 立-/(如,91)(for j = 1 and 7 = 0) repeat until convergence m。0 :=仇)一 Q幸 U 0Q(,)一 #)4=1ma* 52 (膈(折)一爹)-如 i=l上式中右边的公式推导过程如下:咨=1如。dhndi = m1d1 mdhQ 1 m商/ % =赤 2x(%(m)一四)x =无(外(成)y)0/=i0 f=id1 mdha 1 m而J 扁,4 =际 2 x(外(孙)-y(o) x 者=浦 Qie (xd) - y(o) x 孙)1,=i1 f=i从上面的推导中可以看出,要想满

6、足梯度下降的条件,虻&(工-y()项后面必须乘以对应的输入信号工。梯度下降是通过不停的迭代,而我们比较关注迭代的次数,因为这关系到梯度下降的执行速度,为了减少迭代次数,因此引入了Feature Scaling o(2). Feature Scaling此种方法应用于梯度下降,为了加快梯度下降的执行速度;思想:将各个feature的值标准化,使得取值范围大致都在-1=x=1之间;常用的方法是Mean Normalization,艮口一-,其中工为训练集中当前feature的平均值,max为x能取的最大值,min为x能取的最小僚max- min或者:X-mean(X)/std(X);2. Matl

7、ab实现梯度下降的线性回归(1). Gradient descend code 1clear allclc% training sample data;p0=3;p1=7;x=1:3;y=p0+p1*x;num_sample=size(y,2);% gradient descending process% initial values of parameterstheta0=1;theta1=3;%learning ratealpha=0.02;% if alpha is too large, the final error will be much large.% if alpha is t

8、oo small, the convergence will be slowepoch=500;for k=1:epochv_k=kh_theta_x=theta0+theta1*x; % hypothesis functionJcost(k)=(h_theta_x(1)-y(1)A2+(h_theta_x(2)-y(2)A2+(h_theta_x(3)-y(3)A2)/num_sampletheta0=theta0-alpha*(h_theta_x(1)-y(1)+(h_theta_x(2)-y(2)+(h_theta_x(3)-y(3)/num_sample;theta1=theta1-a

9、lpha*(h_theta_x(1)-y(1)*x(1)+(h_theta_x(2)-y(2)*x(2)+(h_theta_x(3)-y(3)*x(3)/num_sample;endplot(Jcost)(2). Gradient descend code 2clear allclc% training sample data;p0=26;p1=73;x=1:3;y=p0+p1*x;num_sample=size(y,2);% gradient descending process% initial values of parameterstheta0=1;theta1=3;%learning

10、 ratealpha=0.08;% if alpha is too large, the final error will be much large.% if alpha is too small, the convergence will be slow epoch=500;for k=1:epochv_k=kh_theta_x=theta0+theta1*x; % hypothesis functionJcost(k)=(h_theta_x(1)-y(1)A2+(h_theta_x(2)-y(2)A2+(h_theta_x(3)-y(3)A2)/num_sample;theta0=the

11、ta0-alpha*(h_theta_x(1)-y(1)+(h_theta_x(2)-y(2)+(h_theta_x(3)-y(3)/num_sample;theta1=theta1-alpha*(h_theta_x(1)-y(1)*x(1)+(h_theta_x(2)-y(2)*x(2)+(h_theta_x(3)-y(3)*x(3)/num_sample;% disp(*comp 1*);r1=(h_theta_x (1)-y (1) )+(h_theta_x (2)-y (2) )+(h_theta_x (3)-y(3);r2=sum(h_theta_x-y);% disp(*comp

12、2*);r3=(h_theta_x(1)-y(1)A2+(h_theta_x(2)-y(2)A2+(h_theta_x(3)-y(3)A2);r4=sum(h_theta_x-y).A2);% disp(*comp 3*);r5=(h_theta_x(1)-y(1)*x(1)+(h_theta_x(2)-y(2)*x(2)+(h_theta_x(3)-y(3)*x(3);r6=sum(h_theta_x-y).*x);if(r1=r2)ll(r3=r4)ll(r5=r6)disp(*wrong result*)endendplot(Jcost)3.线性回归与单神经元的对应关系单变量线性回归的模型:= % + Byx与单神经元

温馨提示

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

评论

0/150

提交评论