每次使用一批(batch)数据进行梯度的计算,而不是计算全部的梯度
2. MomentumSGD的同时,增加动量(momentum),帮助梯度跳出局部最小点
3. Adagrad自适应学习率(adaptive),学习率每次计算出的梯度影响
缺点:某些情况下一直递减的学习率并不好,这样会造成学习过早结束
Adagrad的改进
5. AdamRMSprop与动量Momentum的结合
数据预处理 1. 中心化数据预处理中最常见的处理方法:每个特征维度都减去相应的均值实现中心化
这样使得数据变成0均值,即数据移动到坐标轴的0点位置,以坐标轴中心为中心点。
(尤其是图像数据)
中心化之后,还要让数据不同的特征维度都有着相同的规模
除以标准差 让每个特征维度的最大值和最小值按比例缩放到-1~1之间中心化之后,将数据投影到一个特征空间,我们能够取得一些较大的、主要的特征向量来降低维度,去掉一些没有方差的维度。
4. 白噪声首先会跟PCA一样,将数据投影到一个特征空间,然后每个维度除以特征值以标准化数据
(PCA和白噪声用的少)
我们希望权重初始化的时候尽可能靠近0,但是不能全部为0
可以初始化权重为一些靠近0的随机数,神经元最开始都是随机的、唯一的,所以在跟新的时候也是作为独立的部分,最后一起合成在神经网络中。
将权重全部初始化为0,然后为了打破对称性在里面随机挑选一些参数附上随机值
(用的少)
bias的初始化通常为0,因为权重已经打破了对称性
4. 批标准化(Batch Noemalization)通常应用到全连接层后面,非线性层前面,同时还可以加快网络的收敛速度。
(常用)
训练网络的时候依概率P保留每个神经元,也就是说每次训练的时候,对一些神经元置0
训练:随机的部分神经元没有参与到网络的训练 预测:所有全部的神经元都参与(实际应用中L2正则化搭配Dropout防止过拟合)