机器学习笔记-advice for applying machine learning

时间:2022-07-21 18:38:06

首先要感谢stanford 大学的adrew ng 老师的课程

6.1 deciding what to try next

  1.debug 时出现问题要咋办呢?

机器学习笔记-advice for applying machine learning 机器学习笔记-advice for applying machine learning

机器学习笔记-advice for applying machine learning

最终结论为:普遍认为1,2,6能解决过拟合问题,机遇3,4,5能有解决低拟合问题

机器学习笔记-advice for applying machine learning 机器学习诊断

1.可以给出建议使得学习算法更有成效

2.需要时间来完善和尝试,但总体来说还是节省时间的

3.有时能排除某些不能显著提升表现的步骤

6.2 evaluating a hypothesis

训练误差小的假设并非就是好的假设(可能会导致过拟合),不能泛化到其他实例中去,

so how to evaluate a hypothesis?

    这里就谈到了训练集和检验集的问题,此处NG老师用的是七三分(在数挖中有。632自助法及k折交叉验证 法等)

    线性回归问题中:从训练集中学习theta值 (最小化J(theta)),再计算检验集中的J(theta)

  逻辑回归中呢,当然也可以用上条,但另一种办法是计算分类正确率(用0、1来表示)

6.3 Model Selection and Train/Validation/Test Sets

 先看一种model selection just like this,每个模型分别计算出theta的向量,再用J(检验集)中最小的即可

         机器学习笔记-advice for applying machine learning

机器学习笔记-advice for applying machine learning 机器学习笔记-advice for applying machine learning 机器学习笔记-advice for applying machine learning 机器学习笔记-advice for applying machine learning 机器学习笔记-advice for applying machine learning

上面这种中呢,不幸的是并不足以be a fair estimate of how well   my hypothesis generalizes.(NG认为可能在检验集很大的情况下,上述方法才有可用之处)

         为么呢,因为检验数据已经参与了模型选择,再用它来检验模型是泛化误差,纯属搞笑。

将数据分为三部分,训练数据,验证数据(交叉验证),检验数据,那么经典分法是6:2:2

那么他认为较好的办法在于哪里呢(说实话,我也觉得挺不错的)

         在上图中,用训练数据来得出几个模型的theta,再用验证数据选出最小J(test)的那个模型,最后用检验数据来检验此模型。所以这种方法出来的验证误差要小于检验误差的

6.4 diagnosing Bias vs,Variance(偏差与方差)换句话说就是低拟合与过拟合的问题,此节一张图足以,哈哈

机器学习笔记-advice for applying machine learning

机器学习笔记-advice for applying machine learning

 6.5 regularization and Bias/Variance       

私以为略似于前面的模型选择,好的模型要做选好(即要d 和lamba),且看后面如何组合在一起,

     机器学习笔记-advice for applying machine learning

机器学习笔记-advice for applying machine learning

 

再来一张

机器学习笔记-advice for applying machine learning 机器学习笔记-advice for applying machine learning

机器学习笔记-advice for applying machine learning6.6 learning curves

机器学习笔记-advice for applying machine learning前者为high bias 即overrfit

机器学习笔记-advice for applying machine learning此为underfit,最终很相似的境界

在现实中可能曲线并非如此完美 ,但反应了趋势。当Jcv>=Jtt时,增加训练集个数还是相当有效的嘛!

6.7 deciding what to do next revisited

第一点:关于调试学习算法的方法及应用,可见第一张图

第二点:其实觉得应该放在神经网络中关于选择隐藏层层数的问题

小型的神经网络(基于更少的参数,更倾向于低拟合) 但computationally cheaper

而大型较复杂的神经网络(基于更多的参数,更倾向于过似合,)但computationally expensive,此时可用神一般的lamda

最后ng老师又开心的笑了,阴险地说道,这些东西很多硅谷老油条都不清楚,但现在你们知道了,回家乐去吧,哈哈





















机器学习笔记-advice for applying machine learning