学习
实践
活动
专区
工具
TVP
写文章

梯度下降算法以及与线性回归模型的结合

梯度下降算法在机器学习领域是非常重要的一个解决问题的方法,目的就是基于历史数据,拟合出一个理想的模型。

一、梯度下降算法阐述

1.1 梯度下降阐述

梯度下降算法是对损失函数(cost function)进行求导,最后目标是获得使损失函数的导数最小或者相对最小的参数值。

具体分析,损失函数 J(θ0,θ1),图形化表示损失函数如图:

梯度下降算法的目的就是将(θ0,θ1)对应的 J(θ0,θ1)从较高的地方,逐步改变到低谷的 J(θ0,θ1)值,也就是让 J(θ0,θ1)尽可能的小,可以理解成从山上下山,逐渐下到较低或最低的山底。

梯度下降算法如下:

(其中alpha>0, j=0,1)

举个例子:

例如损失函数如图所示,alpha>0,如果初始值在A1点,A1点的斜率是正数,那么θ1会往左移动,往更加接近最低点的位置移动。

如果初始值处于B1点,斜率为负数,那么θ1会往右移动,也是往更加接近最低点的位置移动。

1.2 alpha的作用

alpha表示学习速率,直观的表现是影响梯度下降过程中的步长。alpha越大,学习速率越大,收敛越快,alpha越小,学习速率越小,收敛越慢。

另外,alpha的值如果过于小,会是学习速率过于慢,影响效率,另外,很容易得出局部最优解的结果。alpha的值过大也会引发另一个问题,导致梯度下降的过程中错过最优解,而导致发散不收敛。

1.3 alpha大小的影响

1.4 收敛速率

即使不调节alpha的值,随着梯度下降过程中越来越接近最优点或局部最优点,由于斜率在接近最优点的过程中是逐渐降低的,收敛速率也是逐步降低的。

例如,A1的斜率大于A2的斜率,B1的斜率大于B2的斜率。

1.5 局部最优解

当cost function如下图所示的时候,很容易求出的θ值是局部最优解。局部最优解的表现是导师为0,达到局部最优解的位置之后,无论怎么进行梯度下降,由于其导数为0,都不会改变θ值。

1.6 θ参数同时更新

有一点需要说明,所有θ的更新需要同步进行,不能单独进行,下面对θ的更新进行了比较,一定要谨记。

二、线性回归模型的梯度下降

2.1 总体阐述

左侧是梯度下降算法,右侧是线性回归模型以及相应的cost function

2.2 梯度下降的算法求解

以下就是梯度下降算法的求解过程,一般对微积分和求导有所了解的话,还是比较简单的。

2.3 线性函数的cost function(凸函数)

线性回归的cost function是凸函数,所谓的凸函数简单点理解就是一个弓形函数,在梯度下降的时候,只会求出最优解。

2.4 线性回归模型的梯度下降过程

三、总结

以上就是针对梯度下降算法,以及结合线性回归模型的梯度下降的算法解释。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180304G0SCEG00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

关注

腾讯云开发者公众号
10元无门槛代金券
洞察腾讯核心技术
剖析业界实践案例
腾讯云开发者公众号二维码

扫码关注腾讯云开发者

领取腾讯云代金券