线性回归与梯度下降算法

仍然是以房价与房屋面积的例子引出线性回归问题的解答。首先定义一些符
号:
m:训练数据的大小
x:输入变量,是向量
y:输出变量,是实数

(x,y):一个训练实例

:第i 个训练实例,i 是上标而不是指数

在这里,为了方便说明,又添加了一个变量,问题变为房屋面积和卧室数目与房屋价格的关系。
如果假设训练集中的数据使用线性回归解决的话,假设拟合函数如下:


其中x0设为1。

代价函数定义为:


m即为样例的数目。我们找出使这个函数最小的参数值,就得到了拟合训练集的最佳参数。

使用梯度下降法(gradient descent)来求参数,更新规则为:


当只有一个训练样例时,偏导数的计算公式如下:


从而得到:


考虑到所有m 个训练实例,更新规则变为:


运用这个规则直到收敛,就是批梯度下降算法(batch gradient descent)。其中,收敛的判断有两种规则,一是判断两次迭代后参数的变化,二是判断两次迭代后目标函数的变化;规则中的α是学习速率,这个需要在实践中进行调整,其值过小会导致迭代多次才能收敛,其值过大会导致越过最优点发生震荡现象。

梯度下降算法会导致局部极值点的产生,解决这个的方法是随机进行初始化,寻找多个最优点结果,在这些最优点中找最终结果。

当数据量较大时,每迭代一次就要遍历全部数据一次,这样会使得运行变成龟速。为了解决这个问题,一般采用如下的方法:


意为更新参数时,不必遍历整个数据集,只需要一个实例便足够了。该算法可以达到很高的效果,但是会导致遍历次数增多,不能精确收敛到最优值等问题。该方法被称为增量梯度下降(incremental gradient descent)或随机梯度下降(stochastic gradient descent)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值