作家
登录

一元线性回归梯度下降算法的Octave仿真

作者: 来源: 2017-05-08 10:55:20 阅读 我要评论

我们在仿真中,直接应用这两个公式,来绘制J(θ)的分布曲面,以及θ的求解路径。

在梯度降低算法理论篇中,曾经感慨推导过程如斯惨白,如斯等待仿真来给我加倍直不雅的感到。当我昨晚Octave仿真后,那种成就感实在难以克制。分享一下仿真的过程和结不雅,并且将上篇中未懂得澈底的内容补上。

命题为:我们为一家连锁餐饮企业新店开张的选址进行利润估算棘手中控制了该连锁集团所辖商号本地人口数据,及利润金额,须要应用线性回归算法来建立人口邮攀利润的关系,进而为新店进行利润估算,以评估商号运营前景。

在切近亲近θ的过程中,我们如下实现梯度降低:进行了1500次的迭代(相当于朝着最佳拟合点行走1500步),我们在1500步后,获得θ=[-3.630291,1.166362];在3000次迭代后,其值为[-3.878051,1.191253];而如不雅运行10万次,其值为[-3.895781,1.193034]。可见,最初的步子走的是异常大年夜的,而后,因为距离最佳拟合点越来越近,梯度越来越小,所以步子也会越来越小。为了节约运算时光,1500步是一个完全够用的迭代次数。之后,我们绘制出拟合好的曲线,可以看得出,拟合程度照样不错的。

下图是J(θ)的分布曲面:

接来下是我们求得的最佳θ值袈溱等高线图上地点的地位,和上一张图其实可以重合在一路:

起首我们将该企业的数据绘制在坐标图上,如下图所示,我们须要建立的模型是一条直线,可以或许在最佳程度上,拟合population与profit之间的关系。其模型为:

关键代码如下:

1、计算j(theta)

  1. function J = computeCost(X, y, theta) 
  2. %COMPUTECOST Compute cost for linear regression 
  3. %   J = COMPUTECOST(X, y, theta) computes the cost of using theta as the 
  4. %   parameter for linear regression to fit the data points in X and y 
  5.   
  6. % Initialize some useful values 
  7. m = length(y); % number of training examples 
  8.   
  9. % You need to return the following variables correctly 
  10. J = 0; 
  11.   
  12. % ====================== YOUR CODE HERE ====================== 
  13. % Instructions: Compute the cost of a particular choice of theta 
  14. %               You should set J to the cost. 
  15.     h = X*theta; 

      推荐阅读

      在PHP应用程序开发中不正当使用mail()函数引发的血案

    四、为什么没有精确处理mail()函数的第5个参数会激发安然问题一、媒介在我们发掘PHP应用法度榜样马脚的过程中,我们向有名的Webmail办事供给商Roundcube提交了一个长途敕令履行马脚(CVE-2>>>详细阅读


    本文标题:一元线性回归梯度下降算法的Octave仿真

    地址:http://www.17bianji.com/lsqh/35047.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)