本文是学习Andrew Ng的机器学习系列教程的学习笔记。教学视频地址:
https://study.163.com/course/introduction.htm?courseId=1004570029#/courseDetail?tab=1
48. 机器学习的建议
a. 如果学习算法没有很好的预测结果,可以从几个方面优化:
获得更多的训练数据 - 修复高方差减少特征 - 修复高方差增加其他特征 - 修复高偏差增加高阶特征多项式 - 修复高偏差减小正则参数lambda - 修复高偏差增加正则参数lambad - 修复高方差
b. 可以将已有的数据分成三部分,大概60%用来训练,20%用来交叉验证cross validate,20%用来测试。测试结果判断:
当预测与实际有较大偏差时,欠拟合;当预测与实际有较大方差时,过拟合;
可以通过学习曲线learning curves来检验算法是高偏差还是高方差:
c. 然后通过正则化来解决欠拟合和过拟合,要选择适中的正则化参数lambda:
先尝试lambda = 0尝试lambda = 0.01尝试lambda = 0.02...尝试lambda = 10
当欠拟合时(即偏差大),则需要降低lambda;
当过拟合时(即方差大),则需要增大lambda;
d. 神经网络的过拟合问题:
对于神经网络而言,通过正则化消除过拟合后,网络规模越大,预测效果越好;问题是会造成计算成本上升;
可以逐步尝试,先使用1个隐藏层、然后使用2个隐藏层...看哪个能得到更好效果;