* `decays`
* we adopt L2 regularization and use the decays to control the penalty strength.
* L2 regularization term is tuned in {1e-7, 1e-6, 1e-5, 1e-4, 1e-3, 1e-2}.
顶会看多了,模型跑多了,知识 要自学的东西 也变多了。
啥叫正则化?用来干啥的?啥是L1、L2?我将在这篇博文做一个综合性整理。
1.正则化
引入惩罚因子/正则化参数,减小特征变量的数量级,以避免过拟合。具体原理见这篇博文。
我觉得这句话总结得很好:正则化参数要做的就是控制两个目标之间的平衡关系:在最小化训练误差的同时正则化参数使模型简单(正则化)。
2.L1、L2正则化
知道正则化是想干啥之后,问题就来了——正则化参数如何计算?常用的有L1、L2两种算法。
在介绍这两种正则化之前,需要知道何为范数:来自博文
0 范数:向量中非零元素的个数
1 范数: 向量中各个元素绝对值之和。
2 范数: 向量中各个元素平方和的 1/2 次方,L2 范数又称 Euclidean 范数或者 Frobenius 范数
p 范数: 为 x 向量各个元素绝对值 p 次方和的 1/p 次方
范数与正则化的关系见这篇博文。
接下来正式介绍这两种正则化。公选课老师的课件解释得很好(包含对应的python实战):
3.选啥好?
参考这篇博文。
L_1会趋向于产生少量的特征,而其他的特征都为0,而L_2会选择更多的特征,特征值都趋近于0.Lasso在选择特征时非常有用,而Ridge就只是规则化而已。所以在所有特征中只有少数特征起重要作用的情况下,选择Lasso进行特征选择。而所有特征中大部分特征都能起作用,而且作用很平均,那么使用Ridge会更合适。
在机器学习领域,前辈的经验真的很有启发。
4.回到开篇
- 采用L2正则化并使用衰减因子来控制惩罚强度。
- L2正则化项在{1e-7、1e-6、1e-5、1e-4、1e-3、1e-2}中进行了调整。
现在看这两句话就很明了了,此处的参数选择实际上在L2正则化的基础上,根据数据集的特征,对L2正则化进行定制,即调整。