梯度下降法总结

前言:网上查了大量写梯度下降法的文章,但是总是发现文章中存在很多问题,所以这里总结一下,更正错误。不然理解起来真的很困难。

参考博文

一、问题模型

对于如下的线性模型

                                           

已知:大量的样本数据(x,y),x为m阶向量。

求:线形模型的系数β

二、问题解法

思想:以梯度为方向,找到最优参数组合,使得损失函数下降到极小值。

步骤1:通常将模型写为下面的模型

                                  (i=0~n)

其中:i为第几组样本值,共n组样本。

步骤2:损失函数

                                      

其中的1/2是为了使数据整齐加上的。因为后面要求导,2刚好抵消。

这个损失函数的意义就是,让得到的模型的预测值与真实值的误差平方和最小。

步骤3:迭代公式

                        

(i=0~m;    j=1~n)

这里,偏导数为梯度值,决定迭代方向;

α为步长或称学习率,可以自己指定,但太大不收敛,太小收敛慢。推荐按照[0.001,0.003,0.01,0.03……]的顺序尝试设置。

PS:这个公式是参数更新公式,公式左边为当前代参数,公式右边为上一代的参数。

步骤4:初值选取

初值可以任意指定,由于采用迭代方法,最终会收敛到一个极值点。但可能是局部极值。所以,有先验知识是最好,取在全局极值附近。

步骤5:收敛条件

可以设定迭代代数,到这个代数就停止;

可以设定损失函数最小值,当损失函数到这个范围就停止迭代。

三、使用经验

1.随机的梯度下降(SGD):每次随机的挑一个样本学习,直到收敛才停止更新

2.小批量的梯度下降(Mini-batch):每次只学习一小部分,比如每次学习10个样本再更新

3.梯度下降(GD):全部样本学习一次,然后更新下(少用,效率低)

4.也可以设置最大迭代次数,比如设为100,若在100次内收敛了,则收敛时停止,若100次还未收敛那么就停止迭代

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kissgoodbye2012

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值