基于不动点迭代的梯度下降法

一、梯度下降法:

假设函数为:

f(\omega ) \in\ ,{\rm{ }}\omega \in

我们的目标为:

\mathop {\min }\limits_\omega f(\omega )

给定初始值{\omega _0} ,利用 进行迭代{\omega _{i + 1}} = {\omega _i} - \alpha {\frac{​{df(\omega )}}{​{d\omega }}_{\omega = {\omega _i}}}

其中\alpha 为学习率;

对其直观理解为,每一次迭代后{\omega _i}, 不断向最优值{\omega ^*}移动;

然而对于为什么通过这样形式可以解决优化问题,还有\alpha 在直观上代表着什么,这些并不能很好的进行解释;

但是对于优化问题,我们可以考虑为求解以下问题的零点:

\frac{​{df(\omega )}}{​{d\omega }} = 0

对于零点求解,我们考虑利用不动点迭代进行求解;


二、不动点迭代

不动点定义:

        如果g(r) = r ,那么r 是函数g 的不动点;

不动点迭代:

        给定初始值{x_0}

{x_{i + 1}} = g({x_i}),{\rm{ }}i = 0,1,2,...

若数列\{ {x_n}\} 收敛于L ,那么L = g(L) , L为函数g的不动点;

基于以上原因,我们可以利用不动点迭代进行零点求解:

        设我们目标为求解f(x) = 0 ,构造为以下格式:

x = x + f(x)

进行不动点迭代进行求解f(x) = 0,求出不动点L , Lf(x) 的零点;


三、基于不动点解释梯度下降

因此对于梯度下降我们也可以利用以上思想进行解释:

\frac{​{df(\omega )}}{​{d\omega }} = 0 变换成以下形式:

\omega = \omega - \alpha \frac{​{df(\omega )}}{​{d\omega }}

其中对于为什么梯度前取负数这些原因,需要更多的关于不动点知识,这里就不多说了;

你可能感兴趣的:(算法,人工智能)