(all is based on the stanford open course cs229.Lecture 11.)
regularization(正规化)防止过拟合:保留所有的参数
贝叶斯学习方法:增加先验概率,常用为高斯分布N(0,λ),使算法更倾向于选择更小的参数
体现在最大似然估计上就是增加惩罚项目,||Θ||^2
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
在线学习:online learning ,与batch learning相差较大,具体可见coursera里面第八节的内容,讲得比较清楚
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
接下来讲的是如果算法不起作用,如何分析改进一个算法
首先是bias和variance的分析,这在笔记六里讲得很清楚了
cs229和coursera上不同的是是增加了叫做“fix optimization algorithm “和”fix optimization objective”的分析
采用的方法有:
1)多做几次迭代,看效果是否有改进 fix optimization algorithm
2)尝试其他算法进行converge fix optimization algorithm
3)改变一些常量参数 fix optimization objective
4)尝试使用其他机器学习算法 fix optimization algorithm
而对于特定问题,我们必须自己去构造分析方法,andrew ng就举了一个关于自动驾驶直升飞机的例子
能正确对算法进行分析,才能避免无谓地浪费时间
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
接下来是针对一个系统的分析,Error Analysis
一个系统常常由多个机器学习算法组成的,所以如果系统工作不顺利,必须要分析出是哪个部分出问题了
Error Analysis就是对每一个部件,依次用基准值(ground-truth)替换每个部件的输出
看看整体系统的效果改变是否较大,如果较大就说明系统精度的瓶颈就在刚刚替换了的这个部件这里
这在coursera上的课程上也有说明,但我好像没有作笔记
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
再次就是ablative analysis(销蚀分析)
和上面不同的的是销蚀分析是在最后结果很高的情况下,remove一个组件的输出,来看每个部件对最后结果的影响
视频截图,就看个轮廓吧,99.9%是整个系统的精度,依次remove左边的一个组件的基准值
看看哪个组建值得优化,值得注意的是“依次”
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
最后一点就是the danger of over-theorizing
(视频截图),也就是说,不要太过理论化,否则你的系统会变得越来越复杂,以至于无法实现
这就和有一个寓言一样:为了钉一幅画,没有锤子,去找锤子。做锤子要木头,就去伐木
伐木要伐木机,就去找伐木机,伐木机没油…………
//////////////////////////////////////////////////////////////////////////////////////////////////////////////