机器学习基础-Tips

本系列是Machine Learning-Andrew Ng学习后整理的读书笔记。

本节主要介绍TPIS部分知识,即如何选择一个算法,如何改进一个算法,如何评估一个算法。

战略方针

在面对采用机器学习算法得到的误差较大时,通常要从以下几个方面入手考虑

  • 获取更多训练数据
  • 增加(减少)特征数量
  • 增加多项式特征($x_1^2,x_2^2,x_1x_2,etc.$)
  • 增加(减少)正则化系数

数据集划分

一般情况,为了能够更好验证模型的准确度及其泛化能力,需要将数据划分为三个部分:

  • 训练集(Train set)–用于模型训练,求取最优化参数
  • 交叉验证集(Validation set)–用于测试模型准确度
  • 测试集(Test set)–用于测试模型泛化能力

参数调整

在不改变特征数量的情况下,我们需要对参数进行调整以获得更准确的模型。但,凡事都有个度,太小了不好,太大了仍然不好,因此需要有一定的标准来帮助选取最优化的参数。

多项式选取

考虑$d$为多项式维数,在不同维数下可以得到不同的模型,进而得到不同模型下的训练代价函数$J_{train}(\theta)$与交叉验证代价函数$J_{cross-validation}(\theta)$,对应曲线如下图。

注意,在计算代价函数时,应忽略正则项影响

image.png

高偏差(High bias)–当多项式次数较低时,模型不能很好拟合训练数据,即出现欠拟合情况。这种情况下,交叉验证集同样会有着较大的误差。

高方差(High variance)–当多项式次数较高时,模型虽然能很好拟合训练数据,但对于新的样本数据,即交叉验证集可能出现较大的误差,即出现过拟合情况。

正则项系数

同样,对于正则项系数的选取,也可以做出与上图类似的曲线。具体情况见下图描述,此处不再分析。

image.png

数据集大小

多数情况下,我们都会认为,模型的训练效果不好是因为训练数据不够充分。于是我们便会疯狂增加数据集,以期望提高模型准确度。但事实并非如此。

学习曲线

以训练集大小作为x轴,作出学习曲线,能够有效地帮助我们进行分析。注意,在计算代价函数时,应忽略正则项影响

高偏差

即欠拟合情况下,增大数据量并不能提高模型精度

当数据集很少的时候,显然训练模型能够充分拟合这些少量数据点,即$J_{train}(\theta)$很小,而交叉验证代价函数$J_{cross-validation}(\theta)$将会很大。

当数据集很大的时候,因为是欠拟合情况,训练集的数据也无法能全部有效拟合,即$J_{train}(\theta)$与$J_{cross-validation}(\theta)$都会很大,并且$J_{train}(\theta)\approx J_{cross-validation}(\theta)$。

高偏差

高方差

即过拟合情况下,增大数据量一定程度上能提高模型精度

与上诉情况相同,当数据集很少的时候,显然训练模型能够充分拟合这些少量数据点,即$J_{train}(\theta)$很小,而交叉验证代价函数$J_{cross-validation}(\theta)$将会很大。

当数据集很大的时候,因为是过拟合情况,训练集的数据能全部有效拟合,但对于未出现的新样本,模型的准确度可能很差,即$J_{cross-validation}(\theta)$会远大于$J_{train}(\theta)$。但随着数据量的不断增大,训练集中的样本覆盖范围更广(样本范性更强),从而能有效抑制过拟合。

高方差

模型评估

Ng建议的解决ML问题的方法步骤如下

  • 选取一个能快速实现的简单算法,并在交叉验证集上进行测试
  • 绘制学习曲线用来判断问题原因是高偏差or高方差,以决定采用增加feature,增加数据等方式进行改进
  • 人工检查错误数据并分析总结出错原因,尝试找到错误集合的共同点

单一的准确性指标用来衡量一个模型的好坏远远不够,在遇到偏斜类(skewed classes)问题时,该指标就无法好好工作。

偏斜类问题

所谓偏斜类问题,以二分类为例,真实数据绝大部分都属于某一类(不妨设属于第0类概率,99.5%),这样我们可以直接设置一个分类器$y=0$,即可得到99.5%正确率的模型。然而,这个算法真的能表现这个案例么?

为了能更好评估模型质量,我们引入查准率(Precision)与召回率(Recall)

查准率与召回率

$$
查准率=\frac{真值为正且预测为正}{预测为正}=\frac{真值为正且预测为正}{真值为正且预测为正+真值为假但预测为正} \
召回率=\frac{真值为正且预测为正}{真值为正}=\frac{真值为正且预测为正}{真值为正且预测为正+真值为正但预测为假}
$$

image.png

F score

用于综合比较有着不同precision(P), recall(R)的不同模型质量。
$$
F=\frac{2PR}{P+R}
$$

本文标题:机器学习基础-Tips

文章作者:Lumo Wang

发布时间:2018年03月16日 - 12:03

最后更新:2019年04月17日 - 20:04

原始链接:https://luameows.github.io/2018/03/16/学习笔记-机器学习基础-tips/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

请我喝杯咖啡,我会继续熬夜的~