学习笔记Task6

经验误差与过拟合

错误率(error rate):分类错误的样本数占样本总数的比率,反之称为精度(accuracy)。精度=1-错误率。

误差(error):把学习器的实际预测输出与样本的真实输出之间的差异。

训练误差(training error)或经验误差(empirical error):学习器在训练集上的误差。

泛化误差(generalization error):在新样本上的误差。我们希望得到一个泛化误差小的学习器,在新样本上表现很好的学习器。

过拟合(overfitting):当学习器把训练样本学得太好了的时候,很可能已经把训练样本自身的一些特点当作所有潜在样本都具有的一般性质,这可能导致泛化能力降低。

欠拟合(underfitting):对训练样本的一般性质尚未学好。相对过拟合,欠拟合比较容易克服,增加训练。

机器学习面临的问题通常是NP难或者更难,而有效的学习算法必须是在多项式时间内运行完成。

机器学习中模型选择(model selection):对候选模型的泛化误差进行评估,然后选择泛化误差最小的那个模型。

评估方法

通过实验测试来对学习器的泛化误差进行评估。需使用一个测试集(testing set)来测试学习器对新样本的判别能力,然后以测试集的测试误差(testing error)来作为泛化误差的近似。测试集需满足应该尽可能与训练集互斥,这样才能得到泛化能力强的模型。

当只有一个数据集时,对这个处理产生测试集和训练集。

留出法

直接将数据集D分成两个互斥的集合,其中一个训练集S,一个测试集T,即S并T=D,S交T=空集。在S上训练出模型后,用T来评估该模型的测试误差,作为其泛化误差的估计。

注意:训练集\测试集的划分应该尽可能保持数据分布的一致性,避免造成数据划分过程引入额外的偏差而对最终结果产生影响。使用留出法时,一般要采用若干次随机划分、重复进行实验评估后取平均值作为留出法的评估结果,同时可得估计结果的标准差。这样的划分会导致训练样本变小,导致评估结果不够稳定准确,常见做法是将大约2/3~4/5的样本用于训练,剩余用于测试。

分层采样(stratified sampling):在数据的划分过程中,保留类别比例的采样方式。

交叉验证法

将数据集D分成k个大小相似的互斥子集,每个子集尽可能保持数据分布的一致性,即从D中分层采样取得的。然后,每次用k-1个子集的并集作为训练集,余下的那个子集作为测试集;这样就获得了k组训练/测试集,从而进行k次训练与测试,最终返回的是这k个测试结果的均值。这种方法也称为k折交叉验证(k-fold cross validation).k常为10.

交叉验证法的一特例:留一法(Leave-One-Out),即数据集D中包含m个样本,且k=m,留一法不受随机划分样本的影响,只有唯一的划分方式,所以留一法中实际被评估的模型与期望评估的用D训练出的模型很相似。缺陷是在数据集比较大时,训练m个模型的计算开销是很大。另外,留一法的估计结果也未必永远是比其他评估方法准确。

自助法

为了减少训练样本规模不同造成的影响,同时比较高效地进行实验估计,自助法(可重复采样或有放回采样)是一种比较好的解决方案。

自助法以自助采样法(bootstrap sampling)为基础。给定包含m个样本的的数据集D,对它进行采样产生数据集D’:每次随机从D中挑选一个样本,将其拷贝放入D’,然后将其放回初始数据集D中,使得下次采样可能采到;这个过程重复m次后,得到一个包含m个样本的数据集D’,这就是自助采样的结果。样本中m次采样未被选出的概率是(1-1/m)^m,若m->+oo时,为1/e=0.368,因此通过自助采样,初始数据集D中约有36.8%未被选入D’中,于是将D’当作训练集,D-D’当作测试集。这样的测试结果称为包外估计(out-bag-estimate).

自助法常用于数据集较小、难以有效划分训练/测试集时有用。它还能产生多个不同的训练集,对集成学习有很大好处。然而,它改变了初始数据集的分布,会引入偏差。所以,数据集足够时,常用留出法和交叉验证法。

调参与最终模型

调参:对学习算法参数进行设定。许多学习算法的很多参数是在实数范围内取值,常采用对每个参数选定一个范围和变化步长,这是一种在计算开销和性能估计上折中的方法。

最终模型:在模型评估和选择后,学习算法和参数配置已选定后,再用数据集D对模型重新训练一次,这个模型在训练过程中使用了m个样本,这才是我们最终提交给用户的模型。

测试数据:在学得模型后在实际使用过程中遇到的数据称为测试数据。

验证集:在选择和评估模型中,用于评估测试的数据集。

性能度量

性能度量:衡量模型泛化能力的评价标准,反映任务需求。什么样的模型不仅取决于算法和数据,也取决于任务需求。
回归任务的性能度量是均方误差(mean squared error):
E(f;m)=1/m求和(1->m)(f(xi)-yi)^2,其中xi为实例,yi为xi的真实标记。 离散型
对于数据分布D和概率密度函数p(x),均方误差可描述为:

E(f;m)=积分(x属于D){(f(x)-y)^2 * p(x)}            连续型

错误率和精度

错误率=1/m求和(1->m)(f(xi)!=yi)
精度=1/m求和(1->m)(f(xi)==yi)
对于连续型,用积分算即可。

查准率、查全率和F1

查准率:检索出的信息中有多少是用户感兴趣的。
查全率:用户感兴趣的信息有多少是被检索出来了。
对于二分类任务,样例根据真实结果和预测出来的结果划分为TP,FP,TN,FN,由此产生了分类结果混淆矩阵。查准率=TP/(TP+FP)、查全率=TP/(TP+FN)。查准率和查全率是一对矛盾的度量。通常只有一些简单的任务才会有较高的查准率和查全率。
在很多情形下,根据学习器的预测结果对样例进行排序,排在前面的是学习器认为最可能是正例的样本,相反排在后面的是学习器认为最不可能是正例的样本。
查准率-查全率曲线(p-R曲线):若一个学习器的P-R曲线被另一个P-R曲线完全包住,则后者性能优于前者。还有一种合理的依据是比较P-R曲线的面积的大小。
平衡点(break-even point)(BEP):查准率=查全率时的取值。
F1度量:F1=2PR/(P+R)=2TP/(样例总数+TP-TN),带入即可得。F1基于查准率和查全率的调和平均定义的:1/2(1/P+1/R),更重视最小值.
F1度量的一般形式Fβ=(1+β2)P*R/((β2 *P)*R),β=1就是F1,β<1对查准率有很大影响,β>1对查全率有很大影响。
在n个二分类混淆矩阵上时类似,求平均值得F1的平均,看西瓜书p32。

ROC 与 AUC

ROC(Receiver Operating Characteristic):受试者工作特征,体现一般情况下的泛化性能的好坏,而非截断点。相比于准确率、召回率、F1值等依赖于判决阈值的评估指标,AUC则没有这个问题。
ROC曲线:纵轴是真正例率(True Positive Rate,TPR),横轴是假正例率(False Positive Rate),
TPR=TP/(TP+FN),FPR=FP/(FP+TN).(真假之别)。点(0,1)则对应于将所有正例排在所有反例之前的理想模型。
基于有限样例绘制ROC曲线,现实任务中利用有限个测试样例来绘制ROC图,仅能获得有限个(真正例率,假正例率)坐标对。绘图过程:给定m+个正例和m-个反例,根据学习器预测结果对样例排序,然后把分类阈值设为最大(点(0,0)),在(0,0)处标记一个点,然后,把分类阈值依次设为每个样例的预测值,即依次将每个样例划分为正例。设前一个标记点为(x,y),当前若为真正例,则对应标记点的坐标为(x,y+1/m+);当前若为假正例,则对应标记点的坐标为(x+1/m-,y),然后用线段连接起来。可以看出,曲线是从(0,0)往右上角延伸。
学习器的比较跟P-R图相似。当ROC曲线出现交叉时,需要比较ROC曲线的面积,即AUC(Area Under ROC Curve),就是与反正例率轴所围面积。从有限样例ROC曲线估算,得AUC=求和(1->m-1) (xi+1 - xi)*(1/2)(yi+1 + yi).(利用积分的概念),AUC考虑的是样本预测的排序质量,因此它跟排序误差有紧密联系(跟预测结果有关)。AUC的直观含义是任意取一对正反例,正样本得分大于负样本得分的概率。因此有排序损失(loss)定义为 :

l rank= 1/(m+ * m-)求和(x+属于D+)求和(x-属于D-) (f(x+) <f(x-) + 1/2(f(x-)==f(x+)) )
AUC=1- l rank

代价敏感错误率与代价曲线

为权衡不同类型错误所造成的不同损失,可为错误赋予“非均等代价”(unequal cost).
代价矩阵(cost matrix): cost ij 表示第i类样本预测为第j类样本的代价.一般来说cost ii =0.之前的性能度量大都隐式地假设了均等代价。在非均等代价下,希望最小化总体代价,而不是简单地最小化错误次数。
如果在二分类任务中,将代价矩阵的第0类改为正例,第1类改为反例,则代价敏感错误率(cost-sensitive):
E(f;D;cost)= 1/m(求和(xi属于D+) (f(xi)!=yi)cost01 + 求和(xi属于D-) (f(xi)!=yi)cost10)
在非均等代价下,ROC曲线不能直接反映学习器的期待总体代价,而代价曲线(cost curve) 则可达到。代价曲线的横轴取值为[0,1]的正例概率代价 P(+)cost=p
cost01/(p
cost01 +(1-p)cost10),其中p为样例为正例的概率。纵轴是取值为[0,1]的归一化代价 cost norm=(FNRpcost01+FPR(1-p)cost10)/(pcost01+(1-p)*cost10),其中FNR=1-TPR.
规范化(normalization):将不同变化范围的值映射到相同的固定范围中,常见的是[0,1],也是归一化。
代价曲线的绘制:ROC曲线上的每一个点对应代价平面上的一条线段,设ROC曲线上的点的坐标为(FPR,TPR),则可计算出FNR,然后在代价平面上绘制一条从(0,FPR)到(1,FNR)的曲线,线段下的面积即表示了该条件下的期望总体代价;如此将ROC曲线上的每一个点转化为代价平面上的一条线段,然后取所有线段的下界,围成的面积即为在所有条件下学习器的期望总体代价。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值