梯度下降算法详解

在机器学习中梯度下降算法是一个很重要的方法。上次竟然有个面试题让描述梯度下降算法,曾用过的东西也说不清楚,真的很汗颜。

首先要说下梯度的概念。这要从微分说起,我们都清楚函数在平面上的曲线在某个点A对x微分,此处微分的意义为曲线在点A的变换率。多元函数的时候就有了方向导数的概念。因为这个时候函数的变化可以沿着不同的方向变化,例如在曲面上的任一点都可以有无数个可以变化的方向,方向倒数可理解为函数在某个方向上的变化率。梯度是一个向量,函数沿着梯度的方向是增长最快的方向,至于为什么先看下梯度的定义:


任一方向倒数都可以表示成梯度的模乘上该方向和梯度夹角的余弦。所以在夹角为0时方向导数最大,这就是为什么梯度方向是函数增长最快方向的原因。


在实际应用中,梯度下降和上市方法通常用来寻找最优解。上面只是理论的东西,下面是在求解回归参数上的例子。

        例如回归方程为:


为了求参数a通常是让总体误差最小化


就是上面的函数值最小。这是关于参数a的函数。对上面的函数求梯度,然后在训练的时候确定一个步长,不断的用梯度去更新参数向量。具体细节参考稍后贴上的代码。







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值