跟我学算法-吴恩达老师(正交化, 单实数评估指标, 满足指标, (训练集,开发集, 测试集的分布), 改变指标, 人类的表现 )

1.正交化

     指使用单个手段来控制一个指标,如样本的偏差过大时,即欠拟合,就采用增加模型复杂程度,来降低样本偏差

2.单实数评估指标
单实数评估样本也是我们平时常说的优化指标

accruacy = (tp + tn)/ (tp+fp+tn+fn)

precesion = (tp) / (tp+fp)

recall = (tp) / (tp+fp) 

f1 = 2 / (1/ precesion + 1/ recall)

3.满足指标

满足指标通常在使得优化指标尽量大的前提下,另外可以满足其他的指标
比如在准确度大于90的情况下,使得运算的时间低于100ms

4.训练集,开发集, 测试集

如果在训练集上的效果不好,可能需要一个更好的算法,或者采用Adam梯度下降

如果在开发集上的效果不好,可能是出现过拟合的情况,可能需要正则化,这里不建议使用dropout,或者添加开发集的数目

如果测试集上的效果不好,你可能需要更大的开发集的样本数目,以实现较好的泛化能力的算法

如果在用户的体验上显得不好,那就需要更换开发集或者更改损失函数


我们在进行数据分配时,为了防止在测试集上出现不好的情况,需要将开发集和测试集进行混合

当数据量很大时,我们通常可以采用98%的数据作为训练集, 1%的数据作为验证集, 1%的数据作为测试集

5.改变指标

当我们不允许一些特殊情况产生的时候, 我们可以对损失函数中的条件添加权重

这里我的建议是损失函数可以尽量采用交叉熵损失函数

j = - ylogpred_y - (1-y)log(1-pred_y)

j = 1/(Σw) *Σw×l(pred_y, y)

6. 人类的表现

贝叶斯最优误差:表示所能达到的最小的误差指标

可避免偏差: 表示当前误差与贝叶斯最优误差的差距,在这里提一下,偏差表示的是训练集的误差
可避免方差: 表示当前方差与当前误差的差距,方差表示的是测试集的误差

原文地址:https://www.cnblogs.com/my-love-is-python/p/9733485.html