吴恩达 DeepLearning.ai 笔记(1)机器学习策略

ML strategy
(1)orthogonalization
chain of assumptions in ML
要保证在训练集上表现良好–> 在开发集上表现良好–>在测试集上表现良好–>在现实世界表现良好
当发现在以上某个数据集上表现不好时,对算法的调整尽量独立于其他数据集。
具体:
如果你的算法在损失函数上不能很好地拟合训练集,你想要一个旋钮,或者一组特定的旋钮,这样你可以用来确保你的可以调整你的算法,让它很好地拟合训练集,所以你用来调试的旋钮是你可能可以训练更大的网络,或者可以切换到更好的优化算法,比如Adam优化算法。
如果发现算法对开发集的拟合很差,那么应该有独立的一组旋钮去调试。比如说,你的算法在开发集上做的不好,它在训练集上做得很好,但开发集不行,然后你有一组正则化的旋钮可以调节,尝试让系统满足第二个条件。
如果系统在开发集上做的很好,但测试集上做得不好,那么你需要调的旋钮,可能是更大的开发集。因为如果它在开发集上做的不错,但测试集不行这可能意味着你对开发集过拟合了,你需要往回退一步,使用更大的开发集。
最后,如果它在测试集上做得很好,但无法给用户提供良好的体验,这意味着你需要go back,改变开发集或损失函数。因为如果根据某个损失函数,系统在测试集上做的很好,但它无法反映你的算法在现实世界中的表现,这意味着要么你的开发集分布设置不正确,要么你的成本函数测量的指标不对。
比如说早停策略,可以改善开发集上的表现但是同时也会影响训练集的拟合(早停策略可以减少过拟合,但是同时影响了梯度下降)。这个“旋钮”并不是那么正交化。

(2)单一数字评估指标
for example:
在这里插入图片描述
如何在这样的精确率和召回率之间选择,如果有more classifier,it’s harder to decide.
所以结合使用单一数字评估会更好,常用的如F1 score等于2除以精确率的倒数与召回率的倒数的和。

(3)满足和优化指标
在这里插入图片描述
你希望在运行时间小于100ms的前提下,最大化准确率,则其中准确率就是“优化指标”,运行时间就是“满足指标”。
即当你关心多项指标时,可以把一项设为优化指标,其他设为满足指标,满足指标只用达到某个阈值就不用再去关心它具体的值,在此前提下,最优化优化指标。

(4)训练、开发集(验证集)、测试集
1.确定验证集和验证方法,就是确定了开发团队的目标。for example,一个团队对开发集做优化,开发集的数据来自中产地区,做了几个月突然老板问在低产地区的表现怎么样,之前优化过的模型显然在低产地区表现不好。
2.开发集和测试集要同分布,可以先打乱数据然后再分别取开发集和测试集的数据。
3.怎么分配三个数据集的大小
传统的:
训练集:测试集=7:3 或者 训练集:验证集:测试集=6:4:4
但是在足够大的数据集中,(现代机器学习)或许只需要1%(几万条)的数据作为验证集或测试集。
4.什么时候该改变开发集和测试集的评估指标
在这里插入图片描述
结合实际情况。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值