DeepLearning.ai笔记:(3-1)-- 机器学习策略(1)(ML strategy)

第三门课主要讲了机器学习的一些策略,也就是在你做项目的时候,应该要具体根据什么来改进你的模型。

正交化

在设计过程中,最好是保证几个变量相互独立,也就是正交。就好比你在开车的时候,油门和方向盘是相互独立的。如果方向盘和油门不独立,当你调整方向盘的时候速度也在变化,就很难受了。

所以在监督学习中,以下几个应该正交:

  • 损失函数应该在训练集上表现很好
    • 否则,就使用更大的神经网络,或者使用更好的优化算法
  • 在验证集上表现很好
    • 否则,就用正则化或者训练集上要更多的数据
  • 在测试机上表现很好
    • 否则,就使用更大的验证集
  • 现实中表现很好
    • 否则,就检查一下验证集是不是对的,损失函数是不是好的

单一数字评估指标

在训练模型中,当然需要一种指标来评估一下模型是不是好的。

一般使用两个参数:

  • 准确率p:在预测的数据中,是正确的概率
  • 召回率r:在真实数据中,预测是正确的概率

一般用F1 Score把两个指标给统一起来:

$$F1-Score = \frac{2}{\frac{1}{p} + \frac{1}{r}}$$

满足和优化指标

一般,满足指标都是一个区间范围,比如时间上只要小于100ms就可以,这样子,就在满足满足指标的情况下,选择最优指标(如精确度最高)最好的那个模型。

训练/验证/测试集的划分

应该使验证集和测试集的数据满足统一分布。

与人类表现比较

可避免的偏差

我们训练出来的结果,应该和人类表现作比较,如果差距比较小,那么说明很接近了,如果差距比较大,应该着重优化缩小这个可避免的偏差。

如图,左边说明应该着重减小bias,右边应该着重减小variance

改善模型的表现

减少bias:

  • 训练更大的模型
  • 更长的时间,更优化的算法(Momentum,RMSprop,Adam)
  • 寻找更好的网络架构、更好的参数

减少variance:

  • 收集更多的数据
  • 正则化
  • 更好的架构和参数
分享到