田齐齐

2020-04-03   阅读量: 3213

机器学习

机器学习:梯度下降

扫码加入数据分析学习群

在求解机器学习算法的模型参数,即无约束优化问题时,梯度下降(Gradient Descent)是最常采用的方法之一。梯度下降法是一个最优化算法,通俗的来讲就是沿着梯度下降的方向迭代求解某个函数的最小值。梯度下降法是一个最优化算法,通常也称 最速下降法,常用于机器学习和人工智能中递归性逼近最小偏差模型,梯度下降的方向就是用负梯度方向为搜索方向,沿着梯度下降的方向求解极小值。在训练过程中,每次的正向传播都会得到输出值和真实值的损失值,这个损失值越小,代表模型越好,于是梯度下降的算法就用在这里,帮助寻找最小的那个损失值,从而可以反推出对应的学习参数b和w,达到优化模型的效果。

梯度下降不一定能够找到全局的最优解,有可能是一个局部最优解。当然,如果损失函数是凸函数,梯度下降法得到的解就一定是全局最优解。

常用的梯度下降方法可以分为:批量梯度下降、随机梯度下降和小批量梯度下降。

批量梯度下降:遍历全部数据集算一次损失函数,然后算函数对各个参数的梯度和更新梯度。这种方法每更新一次参数,都要把数据集里的所有样本看一遍,计算量大,计算速度慢,不支持在线学习,称为批梯度下降。

随机梯度下降:每看一个数据就算一下损失函数,然后求梯度更新参数,这称为随机梯度下降。这个方法速度比较快,但是收敛性能不是太好,可能在最优点附近晃来晃去,命中不到最优点。两次参数的更新可能互相抵消,造成目标函数震荡比较剧烈。

小批量梯度下降:为了克服上面两种方法的缺点,一般采用一种折中的手段——小批量梯度下降。这种方法把数据分为若干批,按批来更新参数,这样一批中的一组数据共同决定了本次梯度的方向,下降起来就不容易跑偏,减少了随机性。另外一方面,因为批的样本数与整个数据集相比小很多,计算量也不是很大。

参考:https://segmentfault.com/a/1190000011994447

添加CDA认证专家【维克多阿涛】,微信号:【cdashijiazhuang】,提供数据分析指导及CDA考试秘籍。已助千人通过CDA数字化人才认证。欢迎交流,共同成长!
21.9332 4 3 关注作者 收藏

评论(1)

田齐齐
2020-04-04
梯度提升,沿着残差减少的方向来构造树模型 梯度下降,沿着在任意点连续且可求导的损失函数的梯度反方向尝试逼近全局最小的损失函数值
0.0000 0 0 回复

推荐课程

推荐帖子