2.1 经验误差与过拟合
错误率:分类错误样本数/总样本数
精度:1-错误率
训练集上的误差称为训练误差或经验误差。新样本上的误差称为泛化误差。
2.2 评估方法
2.2.1 留出法
留出法直接将数据集D划分为两个互斥的集合,其中一个集合作为训练集S,另一个作为测试集T,即D = S并T,S交T=空集。
分层采样:保留类别比例
2.2.2 交叉验证法
先将数据集划分为k个大小相似的互斥子集,每次用k-1个子集的并集作为训练集,余下的子集作为测试集。最终返回k个测试结果的真值。
留一法:若包含m个样本,令k=m
2.2.3 自助法
以自助采样法为基础,给定包含m个样本的数据集D,对它进行采样产生数据集D':每次随机从D中挑选一个样本将其拷贝放入D‘,然后再将该样本放回初始数据集D中,使其在下次采样时仍有可能被采到。这个过程重复执行m次后,就得到了包含m个样本的数据集D’,样本在m次采样中始终不被采到的概率是1/e≈0.368。将D‘当作训练集,D/D’当作测试集,这样的测试结果亦称包外估计。
在数据集小使较有用。
2.2.4 调参与最终模型
调参:对算法参数进行设定
机器学习常涉及两类参数:算法的超参数,一般在10以内;以及模型的参数,有可能多达亿级。两者调参方式相似,不同之处在于前者通常是由人工设定,后者则是通过学习来产生多个候选模型。
2.3 性能度量(公式见p29)
回归任务最常用的性能度量是均方误差。
对于分类任务:
2.3.1 错误率与精度
2.3.2 查准率,查全率与F1
真正例TP、假正例FP、真反例TN、假反例FN
查准率P = TP/(TP+FP) (真正例/预测正例)
查全率R = TP/(TP+FN) (真正例/实际正例)
通常查准率与查全率是矛盾的。
P-R曲线:P31
若一个学习器的P-R曲线被另一个学习器的曲线完全包住,则可断言后者性能优于前者。
有时会有交叉,则只能在具体情况下比较。或者用平衡点度量,它是斜率为1的直线与曲线的交点。
F1度量:F1 = (2*P*R)/(P+R)= 2*TP/(样例总数+TP-TN)
更一般的Fβ度量:Fβ = ((1+β^2)*P*R)/((P*β^2)+R),其中β>0度量了查全率对查准率的相对重要性,β=1时即为F1度量。
F1是基于查准率与查全率的调和平均定义的:1/F1 = 0.5*(1/P + 1/R)
而Fβ则是加权调和平均:1/Fβ = (1/(1+β^2)) * (1/P + β^2/R)
# 与算术平均和几何平均相比,调和平均更重视较小值。
2.3.3 ROC与AUC
ROC:受试者工作特征曲线
AUC:ROC曲线下方的面积
根据学习器的预测结果对样例从最可能为正例到最不可能为正例进行排序,按此顺序逐个把样本作为正例进行预测,计算并以FPR为横轴,TPR为纵轴作图
真正例率FPR = FP / (TN + FP) (真正例/所有正例)
假正例率TPR = TP / (TP + FN) (假正例/所有反例)
与P-R图相似,若一个学习器的ROC曲线被另一个学习器的完全包住。则可断言后者性能优于前者。若发生交叉,可采用AUC作为判据。
AUC = 0.5*∑(i=1,m-1)(xi+1 - xi)*(yi + yi+1)
排序损失(loss):考虑每一对正反例,若正例在反例之后,记1个罚分;若两者相等,记0.5个罚分
AUC = 1 - loss
2.3.4 代价敏感错误率与代价曲线
为权衡不同错误所造成的不同损失,可为错误赋予非均等代价。ROC曲线不能直接反映出学习器的期望总体代价,而代价曲线可达到该目的。代价曲线图的横轴是取值为[0,1]的正例概率代价:
P(+)cost = p*cost01/(p*cost01 + (1-p)*cost10),p为样例为正例的概率。
纵轴是取值为[0,1]的归一化代价:
cost = (FNR*p*cost01 + FPR*(1-p)*cost10) / (p*cost01 + (1-p)*cost10),FNR = 1 - TPR为假反例率
代价曲线的绘制:ROC曲线上每一点对应了代价平面上一条线段,设ROC曲线上点的坐标为(FPR,TPR),则可计算出FNR,然后在代价平面上绘制一条从(0,FPR)到(1,FNR)的线段,如此将ROC曲线上的每个点转化为代价平面上的一条线段,再取所有线段的下界,围成的面积即为在所有条件下学习器的期望总体代价 。
2.4 比较检验
用的时候再看吧
2.5 偏差与方差
"偏差-方差“分解试图对学习算法的期望泛化错误