【机器学习二】模型评估和选择

【豆子的学习】-机器学习篇二

今天来看一看西瓜书,本节来源于机器学习西瓜树的第二章,整理一下在评估学习器时的一些参考因素。

1.误差

在机器学习中,我们把学习器的预测输出于样本的真实输出之间的差异称为“误差”,在训练集上的误差称为“训练误差”或“经验误差”,在新的样本上的误差称为“泛化误差”。显而易见,我们希望得到的学习器一定是泛化误差很小的,即在新样本上可以表现很好的学习器。

我们希望得到在新样本上有很好效果的模型,所以就要尽可能的从训练样本中获得能帮助判断的规律。然而,当学习器将训练样本学习的太好,就会将只在训练集中出现的特点当成一般规律,从而影响对新样本的判断,导致泛化能力下降,这种现象称为 ——“过拟合”。

而反之,若是训练样本中的一般规律都没有学好,造成的测试结果不好的现象,就是——“欠拟合”,这种情况往往是因为学习能力太弱,增加学习器的复杂程度就好啦。

2.模型选择

从上面可知,在进行模型选择时,最好的方法就是通过泛化误差来选择,但在实际应用中,我们往往是不能直接得到泛化误差的,因此提出测试集的概念,用测试集的误差结果作为泛化误差的近似,测试样本应该尽可能的和训练样本互斥,即测试样本尽量不在训练集中出现或与之相似。

简单来说,我们希望训练出来的学习器是有举一反三的能力的,就像我们考试,如果考试卷和课后习题是一样的,那得到再好的效果也没有意义啦。

2.1 划分数据集

那如何从一个数据集中划分出训练集和测试集呢?常见方法如下:

留出法:直接划分数据集成两个互斥的集合,先确定训练和测试样本的比例,再进行划分。要注意的是,确保训练/测试集的数据分布一致性。

交叉验证法:将数据集分为k个大小相似的互斥子集,并尽量保证他们的数据分布一致性,然后每一次用k-1组子集作为训练集,1个子集作为测试集,这样就得到了K组训练/测试集,就可以进行K次训练和测试,最后的结果是k次结果的均值。

3.性能度量

性能度量是衡量学习器的泛化能力的评价标准。针对不同的任务,有不同的性能度量,比如回归和分类任务中的性能度量就是不同的。

分类问题:

1.错误率和准确率

分类问题中最基本的性能度量,错误率是分类错误的样本数占样本总数的比例。

                                    

                                            

2.查准率、查全率、F1

3.ROC与AUC

P-R图和ROC曲线的绘制,可以参考:

PR曲线 ROC曲线的 计算及绘制 - 张乐乐章 - 博客园

回归问题:

与分类问题中不同的是,回归问题通过衡量预测出的值与目标值之间的差距来度量学习器的性能,而不是用是否相等来评估。

1.和方误差 (sum square error)SSE

                                              

2.均方误差 (mean square error)MSE

                                            

3.均方根误差 (root mean squared error)RMSE

                     

4.平均绝对误差 (mean absolute error) MAE

                               

5.均方根对数误差 (root mean squared logarithmic error) RMSLE

         

你可能感兴趣的:(【机器学习二】模型评估和选择)