误差
误差error:是模型的预测输出值与真实值之间的差异。
训练training:通过已知的样本数据进行学习,从而得到模型的过程。
训练误差:模型作用于训练集的误差。
范化Generalize:由特殊到一般,对机器学习来说就是将模型作用于非训练集的新的样本数据。
范化误差:模型作用于新的样本数据时的误差。
欠拟合和过拟合
模型容量:其拟合各种模型的能力。
过拟合:模型在训练集上表现很好,但在新样本上表现差。
欠拟合(Underfitting):模型在训练集上表现不好。(增加训练量等等来改善)
模型的评估方法
评估思路
通过实验测试,对模型的**泛化误差**进行评估,选出范化误差最小的模型。
由于进行范化误差评估时,全局数据通常不能全部拿到,则使用测试集进行范化测试,测试误差(Testing Error)即为泛化误差的近似。
注意:
- 测试集与训练集尽可能互斥
- 测试集与训练集独立同分布(没有依赖关系,且数据分布范围一致)
方法
留出法(Hold Out)
留出法:将已知数据划分为两个互斥的部分。其中一部分用来训练模型,另一部分用来测试模型,评估其误差,作为范化误差的估计。(通常会进行若干次随机划分,重复实验评估,取平均)
交叉验证法(Cross Validation)
交叉验证法:将数据集划分为k份大小相似的互斥的数据子集,子集数据尽可能保证数据分布的一致性(分层采样),每次从中选取一个数据集作为测试集,其余用作训练集,可以进行k次训练和测试,得到评估均值。该方法也称作k折交叉验证法。使用不同的划分,重复p次,称为p次k折交叉验证。
举例:10-折交叉验证
自助法(Bootstrapping)
自助法:本质是一种有放回的抽样。从已知数据集中随机抽样一条记录,然后将该记录放入测试集的同时放回原数据集,继续下一次抽样,直到测试集中的数据条数满足要求。
分类算法的性能度量
常用的:
- 错误率:分类错误的样本占总样本数的比例
- 精度:分类正确的样本占总样本数的比例
- 查准率:预测结果为正的样本中实际值也为正的比例
- 查全率:实际值为正的样本中被预测为正的样本的比例
- P-R曲线:查准率-查询率曲线
- 混淆矩阵:将预测分类结果和实际分类结果做成矩阵的形式显示
- 受试者特征曲线(ROC)和曲线下面积(AUC)
- 代价曲线
聚类算法的性能度量
- 外部指标:将聚类结果同某个参考模型进行比较
- Jaccard系数:JC=aa+b+cJC=\frac{a}{a+b+c}JC=a+b+ca
- FM指数: FMI=aa+b∗aa+cFMI=\sqrt{\frac{a}{a+b}\ast\frac{a}{a+c}}FMI=a+ba∗a+ca
- Rand指数:RI=2(a+d)m(m−1)RI=\frac{2(a+d)}{m(m-1)}RI=m(m−1)2(a+d)
- 内部指标:不适用参考模型直接考察聚类结果
- DB指数
- Dune指数
偏差、方差和噪声
- 偏差(bias):描述的是根据样本拟合出的模型的输出预测结果的期望与真实结果的差距,即在样本上拟合得好不好
- 方差(Variance):模型每一次输出结果与模型输出期望之间得误差,即模型得稳定性
- 噪声(Noise):为真实标记与数据集中的实际标记间的偏差。通常由多种因素综合影响造成,不可去除。
选择模型标准:低偏差(准确度高),低方差(稳定性强)