Please enable JavaScript.
Coggle requires JavaScript to display documents.
optimization (:one:梯度下降法 (:recycle:methods (:one:Adagrad (:cherry_blossom…
optimization
:one:梯度下降法
:recycle:types
:two:Stochastic Gradient Descent, SGD
:explode:抽取样本中的一个,最小化这些的损失函数
:musical_note:更新梯度速度更快
:one:Batch Gradient Descent, BGD
:musical_note:更新梯度速度更快
:globe_with_meridians:SGD
:explode:实战中SGD很慢,本来就是要速度快,但是这么慢,还不如用BGD
:explode:最小化所有样本的损失函数
:cherry_blossom:theory
:one:Taylor Series
:explode:definition
mutilvariable taylor series
:green_apple:Why \( w^{t+1} \gets w^t - \eta^t g^t \) works?
:one:在\( (a, b) \)无限小的附近对于函数\( L(\theta_1, \theta_2) \)而言,可以用Taylor Series的一次项表示
:two:将常数替换掉,这里的常数是\( h(a, b) \), \( \dfrac{\partial h(a, b)}{\partial \theta_1} \)和\( \dfrac{\partial h(a, b)}{\partial \theta_2} \),分别替换为s, u, v
:three:所以目标就变成了求使得L最小的\(\theta_1\)和\(\theta_2\).也就是说下面公式要最小:\( L(\theta_1, \theta_2) = s + u(\theta_1 - a) + v (\theta_2 - b) \)
:four:注意有一个限制条件: \( (\theta_1 - a)^2 + (\theta_2 - b)^2 \leq d \)
:five:我们把\( (\theta_1 -a) \)记作向量\( \Delta{\theta}_1 \),\( (\theta_2 -b) \)记作向量\( \Delta{\theta}_2 \).所以就是求下面公式的最小值: \( u\Delta{\theta}_1 + v\Delta{\theta}_2 \),限制条件是\( \Delta{\theta}_1^2 + \Delta{\theta}_2^2 \leq d \)
:six:利用二维向量的图解就可以求得结果了
:link:
李宏毅Gradient Descent
的Gradient Descent部分的后面内容讲解
:pizza:max function
:explode:= 对该max的地方的linear function
:bread:explanation
:recycle:methods
:one:Adagrad
:explode:偏微分除了乘上学习率以外,还除以一个特殊的值
:moneybag:特殊的值
:icecream:
root mean square
of the previous derivatives of parameter w
:cherry_blossom:details
:bread:\( g^t \): 时间t下loss对w的偏微分
:one:overall
:bread:If we choose \( \eta^t = \dfrac{\eta}{\sqrt{t + 1}} \)
\( \sqrt{t + 1} \) will be eliminated
:arrow_right: \( w^{t + 1} \gets w^t - \dfrac{\eta}{\sqrt{ \sum_{i=0}^t{(g^i)^2} }} g^t \)
:two:details
\( Why\ do\ we\ divided\ by\ that\ ? \)
:two:Formal reasons
我们希望离最低点越远的点迈出的步子越大,也就是和学习率相乘的项越大
但是一阶偏导不能够反映
所以还要除以二阶偏导
Adagrad的分母近似二阶偏导
2 more items...
:zap:分母中的2a就是二阶偏导
:link:
details in PDF
:one:Intuitive Reasons
:explode:How surprise it is
:bread:0.01, 0.02, 0.02, 10 => 第4个会更惊讶,并且分母比较小,分子大,所以方法惊讶.反之同理
:two:RMSProp
:egg:YouTube的网课上一个教授在讲课的时候举的例子
:explode:上次结果和新偏导的加权平均并开方
:three:Momentum
:zap:solve local minimal problem
:snowflake:小球通过惯性冲过local minimal
:cherry_blossom:theory
:snowflake:ideas
:star:虽然好像只考虑了前一次的速度方向,但其实递归后就是考虑了前面的所有速度
:star:当前速度\( \overrightarrow{v^{t}} = \lambda{\overrightarrow{v^{t-1}}} - \eta \nabla{L(\theta^{t})} \ \)
:explode:根据积累的过去的梯度调整
:five:Adam
:four:Nesterov
:explode:根据过去和未来的梯度调整
:two:牛顿法和拟牛顿法
:one:Newton's method
:explode:\( x_{n+1} = x_n - \dfrac{f(x_n)}{f^\prime(x_n)} \)
:fire:二阶收敛,速度比梯度下降法快
不仅考虑坡度是否够大,还会考虑走了一步之后坡度是否会变得更大
:sweat_drops:迭代算法,每一步都需要求解目标函数和Hessian矩阵的逆矩阵,计算比较复杂
:star:使用函数\( f(x) \)的泰勒级数前面几项来寻找方程\( f(x) = 0 \)的根
:three:共轭梯度法
:four:启发式优化方法
:five:拉格朗日乘数法
解决约束优化问题