一、什么是ML策略
假设你正在训练一个分类器,你的系统已经达到了90%准确率,但是对于你的应用程序来说还不够好,此时你有很多的想法去继续改善你的系统:
- 收集更多训练数据
- 训练集的多样性不够,收集更多的具有多样性的实验数据和更多样化的反例集。
- 使用梯度下降法训练更长的时间
- 尝试一个不同的优化算法,例如Adam优化算法。
- 尝试更大的神经网络或者更小的神经网络
- 尝试dropout
- 尝试L2正则化
- 改变神经网络的结构:
- 修改激活函数
- 改变隐藏单元的数目
如果你使用了错误的方向,不仅会浪费大量的时间,而且不会有所改善.
二、正交化
当一个受监督的学习系统在设计时,这四个假设必须是正确的和正交的。
Chain of assumptions in ML
- 成本函数在训练集上有好的表现(Fit training set well on cost function.)
- 对于一些应用而言,这可能意味着要达到人类水平的表现
- 如果它不合适,那么使用更大的神经网络或者切换到更好的优化算法可能会有所帮助。
- 成本函数在开发集上有好的表现(Fit dev set well on cost function.)
- 如果不合适,规范化(Regularization)或使用更大的训练集可能会有所帮助。
- 成本函数在测试集上有好的表现(Fit test set wel on cost function.)
- 如果不合适,使用更大的开发集可能会有所帮助。
- 在实际系统中表现良好(Performs well in real world.)
- 如果性能不好,开发测试集分布设置不正确,或者成本函数测量的尺度不正确.