理解梯度下降法

大学时学过的微积分里:寻找函数的极值点,我们只需要求此函数的导数为0的点,函数只要是可导的,我们就能用这个办法解决。

一个优化问题全局极小点X^{*}指的是在可行域范围内:

F(X^{*}){\color{Red} }\leqF(X)

有些函数有许多的局部极小点,我们要得到全局极小点,需要比较所有的局部极小点。

梯度:

我理解它是一个多元函数求过偏导然后组成的一个向量:

\bigtriangledownx^{2}+xy+y^{2}) = (2x+yx+2y

向量嘛 有方向有大小的矢量  

梯度为0的点是函数的驻点,但不一定是极值点,它是必要而不充分条件。

Hessian矩阵正定 具有极小值

Hessian矩阵负定 具有极大值

如果我们遇到一个比较难算的函数,我们没法求出它的梯度为0的点,只能采取迭代法,使用某种规则,慢慢的移动一个点,使它收敛到梯度为0的点,存在极限:

\lim_{k\rightarrow \infty }\bigtriangledown f(x_{k}) = 0

就好像我们在山的某一处,想下山喝水,必须到达山的最低处,但是我们没有不知道下山的路怎么走,只能走一步看一步,期望能到达山底,因为我们不能像无人机一样盘旋在天空看到整座山的全局信息。

需要用到泰勒展开式,在多元函数中运用泰勒展开式:

f(x+\triangle x)\approx f(x)+(\triangledown f(x)^{T})\triangle x

如果

\triangledown f(x)^{T}\triangle x< 0,那么 函数值递减【f(x+\triangle x)<f(x)】,我们就找到下山的方向。

因为梯度\triangledown f(x)^{T}和变量\triangle x都是向量,有

\triangledown f(x)^{T}\triangle x= \left \| \triangledown f(x) \right \|\left \| \triangle x \right \|\cos \theta

此时我们需要让

\cos \theta \leq 0

\theta=180度是,此时梯度和\triangle x方向相反。

\triangle x模的大小一定时,设\bigtriangleup x=-\alpha \triangledown f(x),这里的\alpha是自己定义的步长,为了让其寻找最优值时不超过可行域范围。

\triangledown f(x)^{T}\triangle x= -\left \| \triangledown f(x) \right \|\left \| \triangle x \right \|=-\alpha \left \| \triangledown f(x) \right \|^{2}

按照迭代公式

x_{k+1}=x_{k}-\alpha \triangledown f(x_{k})

直到最后找到梯度为0的点(实际上是接近于0),此时认为到达了极值点。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值