吴恩达机器学习--学习笔记

68 Skewed Class 偏差分类

对于Skewed Class(即各分类的的样本占比差距巨大的分类问题),我们无法采用准确率来评判一个模型的好坏(比如癌症的例子,假如癌症患比只有0.5%,这时候我们只要设定一个模型将所有样本均判定为非癌症患者,就可以达到95.5%的准确率,但是显而易见这个模型是个垃圾模型)。

对于这种偏差分类,我们采用如下指标来衡量模型好坏:

  1. 查准率 precision – TP /(TP+FP)
  2. 召回率 recall – TP / (TP+FN)

我们也可以通过画出混淆矩阵来更加直观的展现
吴恩达机器学习--学习笔记

69 Trading off precision and recall

对于一个偏差分类,我们需要协调查准率和召回率来达到预期目的(比如癌症筛查的例子,是要更准确的预测–对应高查准率,还是要将更多的癌症患者查出来–对应高召回率)。

查准率和召回率往往是不可兼得的,除非非常理想的预测模型。

为了自动化选择查准率和召回率,我们用F score来综合考虑查准率和召回率。
Fscore = 2precisionrecall / (precision + recall)
从上面的公式可以看出,Fscore仅当precision和recall均等于1时才等于1,当precision和recall任意一个为0时都会是0(这就排除了对测样本全判1或者全判0的垃圾模型)。所以Fscore是precision和recall的综合考量。

我们可以按照如下步骤来自动选择查准率和召回率:

  1. 按照不同的threshold计算Fscore
  2. 自动选择Fscore最大时对应的查准率和召回率

70 Data for machine learning

大量的样本是否可以训练一个优秀的模型呢?这是有条件的

首先,每个样本必须有足够的特征来包含做预测所需要的信息,并且我们的模型可以充分利用这些特征。

其次,在满足上面一条后,大量样本的训练则可以造就一个优秀的模型。

丰富的特征及模型可以充分利用特征,保证了低偏差
大量的数据避免了过拟合,保证了低方差
低偏差和低方差的模型则是一个优秀的模型

但我们考虑是否可以通过搜集大量的数据来将一个模型训练成一个优秀的模型时,我们可以这样问自己

首先,利用当前特征集所包含的信息,一个人类专家是否有信息作出准确预测。

其次,我们是否有能力得到大量数据,并训练这个包含大量特征的模型。

如果这两条都可以,我们就可以得到一个优秀的模型。

71 SVM优化目标

SVM某种意义上可以看成是Logistic的变种,SVM的优化目标即代价函数也可以看成是特殊的Logistic代价函数。

72 SVM与大间距分类器

有时候,SVM会被称为一个大间距分类器。这是仅在C很大时才合理。当C很大时,SVM确实更像一个大间隔分类器,为了最小化代价函数,我们需要尽量将所有点正确分类。这时候一个outlier(异常点)就足以大幅影响决策边界,这是典型的过拟合。但是SVM可以通过调整C为一个相对较小的值,来允许一部分outlier错误分类,进行减小方差,提高分类器性能。由于参数C的存在,SVM得以可应用于非线性可分的场景。
所以SVM并非一个简单的大间距分类器。

73 数学上分析SVM为什么会优化为一个大间距分类器

通过之前的学习,我们知道,当C为一个很大的实数时,SVM的优化目标是在正确将样本分类的同时使得theta的范数尽量小。而大间距分类器会让各个样本在theta上的投影尽可能的大,这样就不要求theta的范数比较大,这与SVM的优化目标一致。反之,若分类边界两端的间隔较小,则各个样本在theta上的投影较小,要满足正确分类,则必须theta的范数较大。
宗上,通过求解优化目标,SVM最后会选择分类间距最大的大间距分类器。