1、梯度下降的步骤

选择初始点,求偏微分,按梯度下降公式和学习率移动点。最终到达最低点。梯度也可以理解为等高线的法线方向,但是梯度下降取的是梯度的相反方向。

2、学习率的大小对算法的影响

学习率过大会在最低点附近震荡,甚至直接越过最低点,学习率太低,移动速度会很慢,要调整学习率,使得Loss function下降的最快
李宏毅深度学习笔记1-4Gradient Descent

3、学习率的调整方法

1)随着参数的更新,学习率不断变小,并将参数的学习率分开计算。
一般的方法
wt+1=wtηtgtw^{t+1}=w^t-\eta^tg^t
ηt=ηt+1\eta^t=\frac{\eta}{\sqrt{t+1}}
gt=C(θt)wg^t=\frac{\partial C(\theta^t)}{\partial w}
Adagrad
wt+1=wtηtσtgtw^{t+1}=w^t-\frac{\eta^t}{\sigma^t}g^t
σt\sigma^t是参数w所有的gtg^t的均方根,化简得:
ηtσt=ηi=0t(gi)2\frac{\eta^t}{\sigma^t}=\frac{\eta}{\sqrt{\sum_{i=0}^t (g^i)^2}}
Stochastic Gradient Descent
步骤一:初始随机选择一个数据
步骤二:一般的递归下降,计算所有的训练数据的Loss后取和只走一步,而SGD计算时,每一轮每计算一个数据的Loss就走一步
Ln=y^n(b+wixin)2L^n=\hat{y}^n-(b+\sum w_ix_i^n)^{2}
Fearure Scaling特征缩放:让不同的因素的分布基本相同,即变化速率基本相同。可以让下降的方向与等高线垂直

4、梯度下降的推导

根据泰勒级数的推导,因此学习率要足够小,才能保证泰勒级数成立,即使用一个一次函数代替半径为学习率的邻域内的函数。

5、梯度下降算法的能力限制

不容易看出当前是否接近极地点,因为可能某些地方斜率很小
其解不保证是全局最优解,梯度下降法的速度也未必是最快的。
此时μ1,μ2\mu_1,\mu_2的计算方法依旧是取均值,但Σ的计算方式略有不同
Σ=n1nΣ1+n2nΣ2\Sigma = \frac{n_1}{n}\Sigma_1+\frac{n_2}{n}\Sigma_2
其中n1,n2n_1,n_2分别是总的样本空间为n的训练数据中,类别一和类别二的样本空间大小
优化后新的结果,分类的boundary是线性的,所以也将这种分类叫做linear model。如果考虑所有的属性,发现正确率提高到了73%。

相关文章: