Gradient Descent
找一个最好的function,需要解决一个Optimization Problem.
随机地选取一个起始点
如何update参数呢?
$\theta_1=\theta_0-learningRate\nabla\theta_0$;
此时我们获得了$\theta_1$的位置,这是一个新的位置,此时,我们再获取$\nabla\theta_1$,即获取了我们要走的方向,继续走下去。
即梯度是我们要走的方向,走下去。
Gradient Descent Tips
对于learning rate调整,即learning rate不能太大,也不能太小。
你可以visualize:每次参数变化时update的情形。
Adaptive Learning Rates.
在我们离local minimum比较远之前,步伐大;离得近,步伐小。
$\eta^t=\eta/\sqrt{t+1}$;
随着 $t$的增大,$\eta$变小,learning rate变小。
$t$是epochs的次数,是你update的次数
- 当然,对learning rate的设置,要因模型施教。
Adaptive Learning Rate:Adagrad
Divide the learning rate of each parameter by the root mean square of its previous derivatives.
过去算过的所有微分值的root mean square.$\sqrt{(g^t)^2}$
即每个参数都有不同的learning rate:
$w^{t+1}\leftarrow w^t-\eta^tg^t$;
这里$\eta^t=\eta/\sqrt{t+1}$;$g^t=\frac{\part C (\theta^t)}{\part w}$,
For the Adagrad Situations:
$w^{t+1}\leftarrow w^t-\frac{\eta^t}{\sigma^t}g^t$;
这里,$\sigma^t$是前一个参数$w$的平方根
For specific applications:
假设初识值是$w^0$;那么$w^{1}\leftarrow w^0-\frac{\eta^0}{\sigma^0}g^0$
即此时我们获得了$w^1$,故$w^2\leftarrow w^1-\frac{\eta^1}{\sigma^1}g^1$
$\sigma^1=\sqrt{(g^0)^2}$
$\sigma^1=\sqrt{\frac{1}{2}(g^0)^2+(g^1)^2}$
注意Root mean Square的定义。
$w^{t+1}\leftarrow w^t-\frac{\eta}{\sqrt{\sum_{i=0}^t}(g^i)^2}g^t$
直接相当于用这样的一个式子去代替去计算。
Time Decay
Adagrad 的分母是gradient的计算情况。
不增加任何运算的情况下去估计二次微分。
Stochastic Gradient Descent
先有Loss Function的表达式
而Loss Function的表达式就与你选取的模型具体有关。
再有GradientDescent
我们故去在计算Gradient Descent的时候,是对所有样本的loss进行求和统计,
如今我们使用随机梯度下降,我们只需要考虑,Loss for only one example.
梯度下降对比随机梯度下降
梯度下降是看完20个example以后update一次参数,随机梯度下降是看到一个example就update一次参数,所以要快20倍。
Feature Scaling
y=b+$w_1x_1+w_2x_2$
有两个feature .
让不同的feature有相同的scale。
没有scale的话,update参数就变难了。
如何做Feature Scaling?
For each dimention i,即每个component.
计算它的平均值和标准差。
对第r个example的第i个componet进行feature scaling:(真的很像正态分布时候的feature scaling)
$x_i^r\leftarrow \frac{x_i^r-m_i}{\sigma_i}$
为什么Gradient Descent会work?
当有很接近的时候,我们就可以把高次项删掉。
当这个蓝色的与(u,v)反向的时候,即越接近红色的圈圈的边缘的时候,此时我们有Loss function越小。
初始值的偏微分排成vector
应用前提是泰勒级数给的估计足够精确,当red circle够小时,泰勒级数的估计才足够精确。
而这里red circle就是learning rate
考虑到二次式:牛顿法。
梯度下降的限制
梯度下降有可能会让我们stuck在local minimum/saddle point。