数学基础---------批量梯度下降法,随机梯度下降法,最小梯度下降法

  找工作准备!

HR:请说一下批量梯度下降法的原理?

 参考回答:

     梯度下降法是一种常见的函数最优解算法,用来求解函数的最大值或者最小值,对于机器学习任务中,一般求解凸函数中的最小值。  

     这里的梯度是函数的求导值,如果以一个人在山顶的某个位置要下山,沿着梯度相反的方向下降是最快的途径。

      以线性回归为例,这里有十个点\left (x_{1} ,y_{1} \right ),\left ( x_{2} ,y_{2}\right ),.....\left ( x_{10},y_{10} \right ),我们想通过一条直线来拟合这十个点。这里可以列出回归的误差目标函数J.

                                                         J\left (w,b \right )=\sum_{i=1}^{m}0.5\left ( h_{w,b} \right\left ( x_{i} \right )- y_{i})^{2}

运用梯度下降法进行求出最优w,b.分别对w,b求偏导,

                                                     

                                        \frac{\partial J(w,b)}{w}=\sum_{i=1}^{m}\left (h _{w,b}\left ( x_{i} \right )-y_{i} \right)\bullet \frac{\partial _{h_{w,b}}\left ( x_{i} \right )}{w}

                                        \frac{\partial J(w,b)}{w}=\sum_{i=1}^{m}\left (h _{w,b}\left ( x_{i} \right )-y_{i} \right)\bullet x_{i}

      以假设此十个点分别为函数为例,h\left ( w,b \right )=wx_{i}+b,目的是通过梯度下降法求出拟合十个点的最优w,b,

这里需设定w和b的初试值,代表从该位置出发寻找目标函数最低点。

梯度下降法是一个迭代过程,最低点是通过若干次的下降得到,而不是一蹴而就,每次迭代会对参数w,b进行更新,

                                                          w:w-\alpha \frac{\partial J(w,b)}{w}

这里的\alpha是学习率,通过调节学习率来改变梯度下降的快慢。

          我们发现,这里的每一次迭代过程都要计算一次\frac{J\left ( w,b \right )}{w},而每一次\frac{J\left ( w,b \right )}{w}都需要将m个样本进行计算,如果样本有数万个,那每一次前向传播就需要将数万个样本参与计算,显然是梯度下降速度是非常慢的。看到有个博主把目标函数优化比作找饭店吃饭,把停下来问路人比作根据样本计算梯度值,我觉得挺有意思的,给个传送门。所以才会有后续的最小批次梯度下降和随机梯度下降。

HR :说一下随机梯度下降和最小批量梯度下降的原理? 

 来回顾一下批量梯度下降法中的梯度求导公式

    \frac{\partial J(w,b)}{w}=\sum_{i=1}^{m}\left (h _{w,b}\left ( x_{i} \right )-y_{i} \right)\bullet \frac{\partial _{h_{w,b}}\left ( x_{i} \right )}{w}

这里的\sum_{i=1}^{m} 代表着将所有样本都参与到求导式中,而随机梯度下降只采用一组数据,其求导公式变为

                            \frac{\partial J\left ( w,b \right )}{w}=\left (h _{w,b}\left (x _{i} \right )-y_{i} \right )\bullet \frac{\partial h_{w,b}\left (x _{i} \right )}{w} \, \; i\in \left ( 1,2,3,4,...m \right )

随机的选取第i组数据求导,可以大大减少计算量。梯度迭代的公式与上述批量梯度下降法是一样的,但随机梯度下降也有缺点,那就是容易产生误差,会'南辕北辙'     

(a)批量梯度下降法的收敛线、
(b)随机梯度下降法的收敛线

        于是又有一种折中的方法,最小 批量下降法,最小批量下降法就是选择一个批次的样本数计算梯度,计算量相比于批量下降法小,但也比随机梯度更加准确,选择一个批次样本数量为batch_size=n,梯度求导公式,

                                                   \frac{\partial J(w,b)}{w}=\sum_{i}^{i+n}\left (h _{w,b}\left ( x_{i} \right )-y_{i} \right)\bullet \frac{\partial _{h_{w,b}}\left ( x_{i} \right )}{w}

                                                   w:w-\alpha \frac{\partial J(w,b)}{w}

这里的[i,i+n]\in (0,1,...m)

梯度下降会遇到的问题?

梯度下降的最终点并非是全局最小点,也可能是局部最小点。

梯度消失和梯度爆炸,后续再讨论。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值