机器学习中为什么需要梯度下降_机器学习训练方法—梯度下降

在机器学习领域中,如要说哪一个优化算法最广为认知,用途最广的,那这个算法非梯度下降算法莫属。梯度下降算法是一种非常经典的求极小值的算法。

例如:在线性回归里面我们可以通过使用最小二乘法解析最优解,但是在解析过程中存在的一些问题却让人觉得非常的难受。而且无论是使用L1正则化还是L2正则化,它们得到的结果并不是让人很满意。

6951f2f8d5d5d00f4158e928606b6835.gif

梯度下降的优化思想是利用当前位置负梯度的方向作为搜索方向,该方向作为当前位置最快的下降方向,梯度下降中越接近目标值,变化量越小,梯度下降的公式如下:

6c4a963d616ec33a39230f251b62f1e9.png

其中,η成为学习率,i表示第i条数据。权重参数w每次迭代变化的大小。

收敛:目标函数的值变化非常小或达到到最大的迭代次数

梯度下降方法,我们就可以把其理解成一站在山顶上的人,要下山一样,比如下图中红色的地方作为山顶,是我们的起始的地方,蓝色的地方作为山脚。那么我们怎么才能到达蓝色的区域呢?根据梯度下降的思想,应该是这样的:

第一步:我们首先要找到自己所在的位置,只有这样才能确定往下走的方向。
第二步:找到从自己所在的位置到蓝色区域的最快路线。
第三步:然后沿着第二步找到的路线,然后往下走出一小步,这时候我们处于一个新的位置。
第四步:重复前面几步。
第五步:到底蓝色区域。

6c7216426f98a3a183119231375cf99b.png

当然,通过上图我们也可以看到,下山的路并不止一条,只是因为上图这不是一个标准的凸函数,这种情况下,我们往往找到的是局部最优解。

所以在刚开始的时候,你可以从不同的位置上去尝试不同的下山路径,寻找更小的极小值点。如果函数是一个标准的凸函数,那么你要做的只需要往一个方向进行梯度下降即可,例如下面这种:

1a0e5c5e32c88b0c4b7a0709c8edaf30.png

梯度下降训练方法可以分为以下几种:

●批量梯度下降(BGD),使用所有数据集中的样本(共m个样本)在当前点的梯度之和来对权重参数进行更新操作。

63293e3e6e1bea1268ef6ec44700d07c.png

●随机梯度下降(SGD),随机选取一个数据集中的样本在当前的梯度来对权重参数进行更新操作

33caa8664214891cad9e911794025cba.png

●小批量梯度下降(MBGD),结合BGD与SGD的特性,每次选择数据集中n个样本的梯度来对权重参数进行更新操作。

774ece6f63073dc975dbc333eb8e99d7.png

ad0fff2344e9ab2fb089278b8efdd843.png 9a8efbe25e7f6cab10c3be202b7465ea.png Q Q咨询:450959328  微信咨询:togogozhong 132cee40939c4f025f065b1d0703e189.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值