0.概述
1.决定下一步做什么
关于机器学习,可以做两件事情,开发一个机器学习系统或者改进一个机器学习系统的性能。
当发现训练好的模型预测数据时有较大误差,可以尝试如下几个角度以减少误差:
(1)获取更多训练实例,这样做是有效的,但是代价太大,因而优先考虑下面的几种方法;
(2)尝试减少或增加特征的数量;
(3)尝试较少或增加正则化程度lamda。
可以通过机器学习诊断法帮助我们选择哪种方法提高机器学习的性能。
2.评估一个假设
通常用70%的数据作为训练集,用剩下30%的数据作为测试集。
3.模型选择和交叉验证集
使用60%的数据作为训练集,使用20%的数据作为交叉验证集,使用20%的数据作为测试集。
模型选择的方法为:
(1)使用训练集训练出N个模型;
(2)用N个模型分别对交叉验证集计算得出交叉验证误差(代价函数的值),选取使得代价函数最小的模型;
(3)使用步骤2中选出的模型对测试集计算得出推广误差(代价函数的值)。
4.诊断偏差和方差
偏差对应欠拟合;
方差对应过拟合。
5.正则化和偏差/方差
正则化系数lamda通常是0-10之间呈现2倍关系的值(0,0.01,0.02,…,5.12,10 共12个)。
lamda较小时,会发生欠拟合;
lamda较大时,会发生过拟合。
6.学习曲线
我们通常使用学习曲线来判断某一个学习算法是否处于偏差、方差问题。
在高偏差/欠拟合的情况下,增加数据到训练集不一定能有帮助。
在高方差/过拟合的情况下,增加更多数据到训练集可能提高算法效果。
7.决定下一步做什么
以学习曲线为代表的诊断法能帮助我们提高机器学习算法的性能。
关键还是多实践才能培养提高机器学习算法性能的能力。