此文是斯坦福大学,机器学习界 superstar — Andrew Ng 所开设的 Coursera 课程:Machine Learning 的课程笔记。力求简洁,仅代表本人观点,不足之处希望大家探讨。
课程网址:https://www.coursera.org/learn/machine-learning/home/welcome
Week 6:Machine Learning Advice
Evaluating a Learning Algorithm
- 如果一个机器学习方法的结果不令人满意,可能有各种方法来解决。例如:
- 获取更多的训练样本(最为耗时,不作为优先考虑)
- 尝试更少 / 更多的特征
- 尝试引入多项式特征
- 增加 / 减少正则化系数 λ
- 究竟应该使用哪种方法来解决问题,需要一个诊断过程,称为 Maching Learning Diagnostic。为了更好的阐述,我们先引入两个名词:欠拟合、过拟合
- 欠拟合:对于训练集,hypothesis 得到的结果,与真实的结果差距较大,并不能对样本集有效拟合;
- 过拟合:对于训练集,hypothesis 得到的结果,与真实的结果差距较小;但是对于测试集,hypothesis 得到的结果,与真实的结果差距较大。这说明 hypothesis 的泛化能力较差,只是在训练集上得到的效果较好
- 通常情况下,我们会得到一组数据而不是区分好的训练集与测试集。这时就需要我们做一些处理:首先打乱数据的次序,然后将其之前大约70%的部分来作为训练集,训练样本总数记为 m ,训练样本记为
{(x (1) ,y (1) ),(x (2) ,y (2) ),...} ;剩下的30%部分作为测试集,测试样本总数记为 m test ,测试样本记为 { (x (1) test ,y (1) test ),(x (2) test ,y (2) test ),...} - 在测试集上,我们会计算 hypothesis 与真实数据的偏差。对于线性回归与逻辑回归,有一些不同。这些在之前的系列中都有提及:
- 线性回归: J test (θ)=12m test ∑ i=1 m test (h θ (x (i) test )−y (i) te
- 如果一个机器学习方法的结果不令人满意,可能有各种方法来解决。例如: