评估方法:交叉验证法
交叉验证用于评估模型的预测性能,尤其是训练好的模型在新数据上的表现
划分数据集
- 训练集用于训练模型参数
- 验证集用于“训练”模型的超参数
- 测试集用于估计模型对样本的泛化误差
作用
- 可以在一定程度上减小过拟合。
- 可以从有限的数据中获取尽可能多的有效信息。
方法
- 留出法
- k折交叉验证法
- Bootstrapping自助采样法
正则化
作用:
- 保证模型尽可能的简单,避免过拟合。
参数值大小和模型复杂度是成正比的。参数过多会导致模型复杂度上升,越复杂的模型,越是会尝试对所有的样本进行拟合,甚至包括一些异常样本点。 - 约束模型特性,加入一些先验知识,例如稀疏、低秩等。
L0范数
L0是指向量中非0的元素的个数。
如果我们用L0范数来规则化一个参数矩阵W的话,就是希望W的大部分元素都是0。即让参数W是稀疏的。稀疏的好处:
- 简化模型,避免过拟合;
- 参数变少可以提高可解释性
但是,L0范数的最优化问题是一个NP hard问题,理论证明,L1范数是L0范数的最优凸近似,因此通常使用L1范数来代替。
L1范数
L1范数是指向量中各个元素绝对值之和。
L1正则化之所以可以防止过拟合,是因为它能产生等于0的权值,即产生稀疏的效果。参数值大小和模型复杂度是成正比的。因此复杂的模型,其L1范数就大,最终导致损失函数就大,说明这个模型就不够好。
L2范数
L2范数即欧式距离。
L2正则化之所以可以防止过拟合,是因为它是让各个参数接近于0。越小的参数说明模型越简单,越简单的模型越不容易产生过拟合现象。
L1稀疏、L2平滑
-
假定 ,L1的权值每次更新都固定减少一个特定的值,那么经过若干次迭代之后,权值就有可能减少到0。 。( )。
-
L2的权值更新公式为 ,假设 ,也就是说权值每次都等于上一次的1/2,那么,虽然权值不断变小,但是因为每次都等于上一次的一半,所以很快会收敛到较小的值但不为0。
因此
- L1能产生等于0的权值,即产生稀疏的效果。
- L2能迅速得到比较小的权值,但是难以收敛到0,即产生平滑的效果 。