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

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

  • 机器学习诊断法
  • 模型选择问题
  • 正则化、偏差与方差
  • 学习曲线
  • 系统设计
    • 误差分析
    • 不对称性分类的误差
    • 机器学习数据

机器学习诊断法

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

模型选择问题

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

正则化、偏差与方差

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

学习曲线

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

系统设计

误差分析

吴恩达机器学习入门——应用机器学习方法_第19张图片
假设有一个分类邮件的例子,当我们通过算法来区分不同的邮件,会出现一些错误的判断,我们可以通过分析这些错误的样本来优化算法。

不对称性分类的误差

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

机器学习数据

有时候好的数据比算法更为重要。原因如下图:
吴恩达机器学习入门——应用机器学习方法_第24张图片
大量的参数可以使训练集的误差很小,是一种低偏差问题,同时,大量的训练集,使得算法是低方差的。两者结合就是性能很好的算法。

你可能感兴趣的:(吴恩达机器学习入门——应用机器学习方法)