『NN』神经网络中的优化(一):梯度下降、随机梯度下降与mini-batch梯度下降

主要参考了吴恩达老师【神经网络和深度学习】系列课程。



一、梯度下降(Gradient Descent)

(1) 梯度下降理解

  梯度下降是一个最优化算法,它的目的在于通过不断的迭代,快速找到目标函数的极小值点。在求解机器学习算法的模型参数,即无约束优化问题时,梯度下降(Gradient Descent)是最常采用的方法之一,另一种常用的方法是最小二乘法。

  想象一下,如果一个人在山顶,想要采用最快的方式下山,不考虑是否能刹住车、会不会滚下去以及道路是否走得通的问题,他应该怎样做?我想,他站在当前位置时,首先会选取最陡峭的山路,然后迈出一步;接着不断选取最陡峭的方向迈步,最终抵达山脚最低点。

  最快下山的方法和梯度下降的原理类似,我们通常关注三个方面的问题:① 从哪个方向走?② 选定方向后,该走多远?以及③ 如何度量模型好坏?

  ① 首先,如果我们将目标函数视为一座山,我们需要根据当前的坐标点,找到最陡峭的方向,即在梯度下降(GD)中,我们首先要计算梯度,定义如下所示。

在微积分里面,对多元函数的参数求 ∂ ∂ 偏导数,把求得的各个参数的偏导数以向量的形式写出,就是梯度。比如函数 f ( x , y ) f(x,y) f(x,y),分别对 x , y x,y x,y求偏导数,求得的梯度向量就是 ( ∂ f / ∂ x , ∂ f / ∂ y ) T (∂f/∂x, ∂f/∂y)^T (f/x,f/y)T,简称 g r a d grad grad f ( x , y ) f(x,y) f(x,y)或者 ▽ f ( x , y ) ▽f(x,y) f(x,y)。对于在点 ( x 0 , y 0 ) (x0,y0) (x0,y0)的具体梯度向量就是 ( ∂ f / ∂ x 0 , ∂ f / ∂ y 0 ) T (∂f/∂x0, ∂f/∂y0)^T (f/x0,f/y0)T或者 ▽ f ( x 0 , y 0 ) ▽f(x0,y0) f(x0,y0)。如果是3个参数的向量梯度,就是 ( ∂ f / ∂ x , ∂ f / ∂ y , ∂ f / ∂ z ) T

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值