Optimization
GD&SGD
我觉得算法的流程还是应该放在这里,时常回忆
学习率
最近的几次kaggle比赛学习率在开始阶段选择的都不是很理想
Momentum、Nesterov Momentum、AdaGrad、RMSprop、Adam、AdaDelta
这些中常用的就是Momentum、RMSprop、Adam
优化策略:Batch Normalization
BN的作用:minibatch每次随机取值都不同,为保证每一次梯度下降的稳定,对每个批次的样本依靠均值和方差进行归一化。
BN在训练和测试时的差别:BN训练时根据每一个批次计算并都记录下来,推理时因为参数都已经固定了下来,把这些均值和方差做平均(就当做全局参数而不是在每个批次上计算出来的了)即可。
优化策略:初始化
预训练
意思是预训练可以使容易优化
Regularization
正则化就是去过拟合
范数的方法
首先说起正则化的根本目的是去除过拟合,范数的方法本质上是为损失函数加入惩罚项,L1是加一个权重参数的绝对值,L2是加一个权重参数平方和。L1可表示为一个菱形,L2可表示为一个圆,也就是说L1可以可以更容易得到稀疏解也可以说更容易进行特征的选择,L2的优势是鲁棒性更强。
集成方法完成正则化
这部分在之前的集成算法中提到过,这里就不多说了。
数据增强
但在Kaggle比赛中,数据增强并不一定越多越好,需要注意使用。
早停
很简单却实用的技巧
Dropout
这个几乎是必用了
K交叉验证
Kaggle的必用杀器