一 序
本篇属于贪心NLP训练营学习笔记。
二 逻辑回顾的梯度下降法
逻辑回顾的目标函数:
推导过程:NLP学习笔记21-逻辑回归2:决策边界,目标函数,凸函数,梯度下降 梯度下降法结果的解释
时间复杂度Gradient Descent Algorithm
这个很难直接给出时间复杂度。梯度下降法是一个迭代的过程,受到初始值。步长等因素影响。
三 Convergence Analysis of Gradient Descent 梯度下降法的收敛分析
1. 定理
假设函数满足L- Lipschitz 条件(即是平滑函数,LR符合), 并且是凸函数, 设定
(我们最后想得到的最优解), 步长 (L 即是一个常数), 即满足:
当我们迭代 次之后我们可以保证得到
注意:
条件 1:Lipschiyz条件要比连续的条件要强。称一个函数是Lipschitz的, 要求该函数是连续的且其斜率要是有限的
条件2: 凸函数
表示的是第k次迭代后x的值。即在程序运行中我们希望通过学习使得
慢慢接近于
,即
作为误差越来越小(这项是分析梯度下降法的核心,变化的越快,接近的越快)
A算法:
B 算法:
那么就是B算法下降更快。
2凸函数性质以及 L- Lipschitz 条件
式子1
把 ,
代入式子1
==> 也可写作:
3. 公式求导
先回顾下凸函数定义及性质:若 是凸函数(convexity)则任意的
式子3.1
first order convexity
L- Lipschitz条件以及定理(第二个定理)
一个光滑函数(smooth function)f 满足 L- Lipschitz条件, 则对于任意
(Claim 1)
上面L是常数, 证明Claim 1 , 举例linear regression,
其中X是训练数据,w才是变量参数
==>
==>
==>
==>
其中x是训练数据,是已知的,所以看做常数项L。
L- Lipschitz3条件以及定理(给定的第三个定理)
假设一个函数满足L-Lipschitz 条件, 并且是凸函数,对于任意的,我们有:
已知:
(积分函数的性质,都忘了还没看)
定义函数
所以:
代入到上面的积分函数性质式子。
=
利用定理2,后面
利用
现在根据上面用来证明定理
= (利用李梯度下降法:
)
=
=
= (利用
)
Derivation
= (前面
利用First Order Convexity )
= (利用
)
=
= (这个式子展开后就是上面,只是变换了形式)
=
= (利用
)
==>
从i=0,开始,代入数据。
...
相加之后,右侧绝大多数都被消掉了。
(直接丢掉最后一项,也成立)
注意,在梯度下降之下才成立,否则不成立,尤其是随机梯度下降
因为
>0
==>
从梯度下降法来看,每一步更新后的值要优于更新前的值。
因此我们可以得到:
==>
结合上面,
==>
证明完成,上面这个式子移项后就是定理。