西瓜书第二章学习笔记- 上
第二章
- 经验误差和过拟合
- 错误率E
- 精度=1-E
- 训练误差:又称经验误差,是学习器在训练集上的误差。
- 泛化误差:在新样本上的误差
- 希望得到的:在新样本上能表现的很好的学习器
- 过拟合:学习器把训练样本学的“太好”,可能把训练样本自身的一些特点当作所有潜在样本都具有的一般特性,会导致泛化性能下降。(可能由于学习能力太强,把不是一般特性的特性当作一般特性,而欠拟合是学习能力太弱)
- 欠拟合和过拟合的对比:
- 评估方法(注意:测试样本应该尽量不在训练集中出现、未在训练过程中使用过)
(1)留出法
讲数据集D划分为两个互斥的集合,训练集S和测试集T。要保证样品类别的比例相似。
将大约2/3到4/5的样本用于训练,剩余样本用于测试。
(2)交叉验证法
将数据集D划分为k个大小相似的互斥子集,即D=D1∪D2.....并Dk=∅。每个子集尽量保证数据分布的一致性,每次用k-1个子集作为训练集,剩下一个作为测试集,即可进行k次训练和测试,最终返回k次试验结果的均值。k常用取值为10。
留一法:即让k=m。优点是评估结果往往比较准确,缺点是数据集较大时,开销太大。
(3)自助法
以自助采样法为基础。给定包含m个样本的数据集D,对它进行采样产生数据集D:每次随机从D中挑选一个样本,将其拷贝放入D,然后再将该样本放回初始数据集D中,使得该样本在下次采样时仍有可能被采集到,这个过程重复执行m次,获得
一个大小为m的数据集D。样本在m次采样中始终不被采到的概率是。D作为训练集,D-D作为测试集。
使用场景:在数据集比较小。难以有效划分时很有用。
缺点:D改变了初始数据集的分布,可能引入估计偏差。因此在数据量大时留出法和交叉验证法更常用一些。 - 性能度量
-
性能度量:衡量模型泛化能力的评价标准。
-
回归任务常用的性能度量:“均方误差”
f(x)为预测结果,y为真实标记
p(·)为概率密度函数
(1)错误率与精度
错误率的定义:
精度的定义:
(2)查准率与查全率
查准率:
查全率:
一般来说P越大,R越小。
若一条曲线完全被另一台曲线包住,则后者性能优于前者。如A优于C。如果两条曲线发生了交叉,则难以判断孰优孰劣。如A与B,
“平衡点BEP”,即查准率=查全率时的取值。
在不同应用场景中有不同的需求,如商品推荐时,需要查准率较高。
Fβ表示,β>0度量了查全率对差准率的相对重要性。β=1时Fβ相当于F1,β>1时查全率有较大影响,β<1时查准率有更大影响。在n个混淆矩阵上分别计算出查准率和查全率,记为(P1,R1)......(Pn,Rn)
宏查全率、查准率:
微查全率、查准率:
(3)ROC和AUC
ROC曲线的纵轴是真正例率,TPR,即查全率。横轴是假正例率,FPR,即假查全率。
AUC为ROC曲线下的面积。
(0,1)表示将所有正例排在所有反例之前的“理想模型”
图(b)表示有限个测试样例绘制的ROC图。给定m+个正例和m-个反例。依次将每个样例划分为正例,设前一个标记点坐标为(x,y),若当前为真正例,坐标为。若当前为假正例,坐标为
。
两条相交的曲线可以用AUC来度量。
可以理解为每一个柱体的宽度*高度的平均值的和。
损失loss表示为:
对每一个正例、反例,若正例的预测值小于反例,则记一个罚分。若等于,记录0.5个罚分。loss对应的是ROC曲线之上的面积。
AUC=1-loss(4)代价敏感错误率与代价曲线
cost01表示将第0类情况预测成第1类的代价。cost10表示将第1类情况预测成第0类的代价。
“代价敏感”错误率为:
D+代表正例子集,D-代表反例子集。