吴恩达机器学习入门——应用机器学习方法

机器学习诊断法


如何判断一个学习算法的好坏,当该算法的预测值有很大的偏差,我们可以采取图内的几个方法。
首先我们要把样本分成两部分,一部分为训练集,一部分为测试集,数目大概7:3左右。在这里插入图片描述
然后利用训练集确定参数 θ \theta θ,用测试集计算测试误差即:测试集的代价函数。
在这里插入图片描述
该图为测试和训练线性回归的步骤。
同样,下图为训练和测试逻辑回归的步骤,它的步骤同线性回归相似。
在这里插入图片描述
在这里插入图片描述

模型选择问题

在这里插入图片描述
假设我们要选择一个最小误差的模型,它的参数多项式个数是变化,我们可以先求出所有模型的 θ \theta θ和代价函数,再确定选哪个模型。但是这种方法选出的模型泛化力差,因为我们用测试集确定了最好的拟合参数 θ \theta θ, 该参数对测试集的表现会好过新的它没见过的样本。
为了解决上述问题,我们采用下面的方法。首先,打样本分成三份:训练集、交叉验证集(CV)、测试集。
在这里插入图片描述
然后计算出每个模型的最佳 θ \theta θ,并用交叉验证集计算误差Jcv θ \theta θ),然后确定多项式的个数d,最后用测试集计算泛化误差Jtest θ \theta θ)。在这里插入图片描述

正则化、偏差与方差

在这里插入图片描述
如图所示:随着多项式个数d的增大,训练误差减小,而交叉验证误差先减后增。如何区分偏差和方差呢?
在这里插入图片描述
当Jtrain θ \theta θ)很大时,且Jcv θ \theta θ)≈Jtrain θ \theta θ)时,可以视为高偏差。
当Jtrain θ \theta θ)很小时,且Jcv θ \theta θ)>>Jtrain θ \theta θ)时,可以视为高方差。
在这里插入图片描述
在之前讨论过的正则化线性回归问题上,如果我们选择的 λ \lambda λ的过大,会出现高偏差;过小的话会出现高方差。只有适当的 λ \lambda λ,才能得到最佳拟合结果。正则化的应用如下:
在这里插入图片描述
上面的步骤和之前的模型选择问题一样,只不过J( θ \theta θ)多了正则化项。
在这里插入图片描述
上图为正则化参数 λ \lambda λ对于偏差和方差的影响。

学习曲线

在这里插入图片描述
随着样本m的个数不断增多,训练集的代价函数不断增大。但是对于交叉训练集来说,当m的个数比较少,泛化程度不好,不适应新样本,所有代价函数比较大。
高偏差的学习曲线:
在这里插入图片描述
该高偏差学习曲线的特点是,随着m增大,样本误差不在变化,也就是再增加训练集对高偏差是无影响的。可以增加参数来解决问题。
高方差曲线:
在这里插入图片描述
如果处在高方差,增加m的个数还是有用的。
那么当我们遇到高方差和高偏差的问题时候,该如何选择解决方法:
在这里插入图片描述
在这里插入图片描述
选择比较小的神经网络,可能计算量会小一点,但是容易欠拟合。
选择结构比较复杂的神经网络,计算量大,会出现过拟合,但是我们可以用正则化来解决过拟合问题,通常我们也是选择结构比较复杂的模型。

系统设计

误差分析

在这里插入图片描述
假设有一个分类邮件的例子,当我们通过算法来区分不同的邮件,会出现一些错误的判断,我们可以通过分析这些错误的样本来优化算法。

不对称性分类的误差

在这里插入图片描述
就如之前的癌症分类问题,假设我们的算法预测癌症的出错率为1%,而我们直接不利用算法直接判断为0的出错率为0.5%,这样看来好像我们的算法并不合适。其实我们不能直接下定结论,像这种一种样本比另一种样本多得多的情况我们称为斜偏类。像这样的问题我们要从其他角度分析。
在这里插入图片描述
对于模型来说,查准率和召回率越高越好,当我们使用全部直接判断为0的方法时,它的召回率也是0,因此我们可以判断它不是一个好模型。
在这里插入图片描述
对于不同的算法我们如何比较查准率和召回率,可以用下面的式子来比较F1。
在这里插入图片描述

机器学习数据

有时候好的数据比算法更为重要。原因如下图:
在这里插入图片描述
大量的参数可以使训练集的误差很小,是一种低偏差问题,同时,大量的训练集,使得算法是低方差的。两者结合就是性能很好的算法。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值