- sigmoid激活函数
- 用于Bernoulli输出分布,二值分布
- sigmoid在正负饱和区域梯度非常小,会出现梯度消失的问题。
- 最大似然几乎总是训练sigmoid输出单元的优选方法
- 当神经网络较小时,sigmoid表现更好
- softmax激活函数
- 用于Multinouli输出分布
- 使用最大化对数似然训练softmax来输出目标值y
- 当输入值间的差异变得极端时,输出值可能饱和, 解决办法:
softmax(Z) = softmax(Z-maxZi)
, 同时避免上溢的问题。
- tanh激活函数(双曲正切激活函数):
- 当需要使用sigmoid时,选择tanh比sigmoid表现更好。
- 在0附近与单位函数相似
- 正则化的策略:减少泛化误差,而不是训练误差。
(1)参数范数惩罚:L1 正则化 vs L2 正则化, 加入权重衰减后会引起学习规则的修改,即每次执行通常的梯度更新之前先收缩权重向量。
① L2参数正则化
② L1参数正则化
③对比:
L1正则化可以使得参数稀疏化,即得到的参数是一个稀疏矩阵,可以用于特征选择。
稀疏性,说白了就是模型的很多参数是0。通常机器学习中特征数量很多,例如文本处理时,如果将一个词组(term)作为一个特征,那么特征数量会达到上万个(bigram)。在预测或分类时,那么多特征显然难以选择,但是如果代入这些特征得到的模型是一个稀疏模型,很多参数是0,表示只有少数特征对这个模型有贡献,绝大部分特征是没有贡献的,即使去掉对模型也没有什么影响,此时我们就可以只关注系数是非零值的特征。这相当于对模型进行了一次特征选择,只留下一些比较重要的特征,提高模型的泛化能力,降低过拟合的可能。
L2正则化可以防止模型过拟合(overfitting);一定程度上,L1也可以防止过拟合。
④L1正则化相比于 L2正则化为何具有稀疏解 ?/ L1、L2范数,L1趋向于0,但L2不会,为什么?
两种 regularization 能不能把最优的 x 变成 0,取决于原先的损失函数在 0 点处的导数。如果本来导数不为 0,那么施加 L2 regularization 后导数依然不为 0,最优的 x 也不会变成 0。而施加 L1 regularization 时,只要 regularization 项的系数 C 大于原先损失函数在 0 点处的导数的绝对值,x = 0 就会变成一个极小值点。
作者:王赟 Maigo
链接:https://www.zhihu.com/question/37096933/answer/70426653
2) 数据增强
3) 提前终止 Early Stop
当在验证集上的误差在事先指定的循环次数内没有进一步改善时,终止训练过程。
4)Dropout
5)噪声鲁棒性
6)半监督学习