我是靠谱客的博主 大方硬币,最近开发中收集的这篇文章主要介绍线性回归(LinearRegression)、梯度下降(GD)、随机梯度下降(SGD)与批量梯度下降(MinibatchGD)原理,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

本节只简要讲述原理,下一篇附有代码和图形比较说明。

输入向量

                               

                               

残差平方和(Residual sum of squares)

                             

矩阵表达式:

                            

                            

                            

                            

                            

线性回归的标准方程法可以直接从上述推导中得到:

                           

 

梯度下降法的每一次迭代需要遍历整个数据集计算后更新一次参数,其中 为学习率:

                                                      

                                                      

                                                     

显然当数据集非常大的时候,梯度下降的每次更新都十分消耗计算资源,而且也容易发现它在收敛的速度非常的慢。因此就有了随机梯度下降算法。

随机梯度下降(online)在一次迭代过程中:每次更新参数并不是遍历所有数据,而是遍历每个数据更新一次参数,直到遍历完毕后将数据集打乱继续进行下一次迭代,维基百科伪代码如下:

                                                 

批量梯度下降与随机梯度下降有所不同,每一次迭代过程遍历的不是全部数据集,而是打乱后的数据集的子集,对子集进行遍历,每遍历一条数据更新一次参数。

最后

以上就是大方硬币为你收集整理的线性回归(LinearRegression)、梯度下降(GD)、随机梯度下降(SGD)与批量梯度下降(MinibatchGD)原理的全部内容,希望文章能够帮你解决线性回归(LinearRegression)、梯度下降(GD)、随机梯度下降(SGD)与批量梯度下降(MinibatchGD)原理所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(42)

评论列表共有 0 条评论

立即
投稿
返回
顶部