一、优化算法的一般途径
- 尝试获取更多的训练集
- 尝试选择更少的特征(特征选择?)
- 尝试获取新的特征
- 尝试增加模型的复杂度(如线性回归则增加参数的非线性程度,如神经网络则增加隐藏层的层数和隐藏层的每层的个数?)
- 尝试减小正则化参数
- 尝试减小正则化参数
那么在实际项目中,我们应该使用何种方法才可以把时间用在刀刃上,选择正确的方向进行行算法的优化呢?下边就是优化算法的一般方法。
二、算法诊断
- 通过算法诊断希望能达到了解算法哪里出了问题,以及要想改进算法的效果,什么样的改进才是有意义的。
- 为了评估算法的性能,我们一般讲数据集分为三部分:训练集、验证集、测试机。可以按照3:1:1的比例进行划分。
- 训练误差/验证误差/测试误差
- 模型选择:可以选择使交叉验证误差最小的那个模型
- 选择模型复杂度:当算法运行不好时,主要是源于以下两种情况:过拟合、欠拟合。在算法优化过程中需要搞