0
点赞
收藏
分享

微信扫一扫

c# base关键字

hoohack 03-05 13:30 阅读 4

文章目录


前言

本篇介绍机器学习中的训练、验证、测试与评估的相关概念。


训练

从数据中学得模型的过程称为“学习”(learning)或“训练”(training),这个过程通过执行某个学习算法来完成.训练过程中使用的数据称为“训练数据”(training data),其中每个样本称为一个“训练样本”(training sample),训练样本组成的集合称为“训练集”(training set).

验证

在现实任务中,我们往往有多种学习算法可供选择,甚至对同一个学习算法,当使用不同的参数配置时,也会产生不同的模型.那么,我们该选用哪一个学习算法、使用哪一种参数配置呢?这就是机器学习中的“模型选择”(modelselection)问题.这时候,我们对学习出来的模型,微调他们的参数,如在神经网络中选择隐藏单元数。验证集还用来确定网络结构或者控制模型复杂程度的参数。

测试

通常,我们可通过实验测试来对学习器的泛化误差进行评估并进而做出选择.为此,需使用一个“测试集”(testing set)来测试学习器对新样本的判别能力,然后以测试集上的“测试误差”(testing error)作为泛化误差的近似.通常我们假设测试样本也是从样本真实分布中独立同分布采样而得.但需注意的是,测试集应该尽可能与训练集互斥,即测试样本尽量不在训练集中出现、未在训练过程中使用过.

评估

机器学习领域中,对模型的评估同样至关重要,只有选择与问题相匹配的评估方法,才能快速地发现模型选择或训练过程中出现的问题,迭代地对模型进行优化。模型评估主要分为离线评估和在线评估两个阶段。针对分类、排序、回归、序列预测等不同类型的机器学习问题,评估指标的选择也有所不同。知道每种评估指标的精确定义、有针对性地选择合适的评估指标、更具评估指标的反馈进行模型调整,这些都是模型评估阶段的关键问题。

我们把学习器的实际预测输出与样本的真实输出之间的差异称为“误差”(error),学习器在训练集上的误差称为“训练误差”(training error)或“经验误差”(empirical error),在新样本上的误差称为“泛化误差”(generalizationerror).显然,我们希望得到泛化误差小的学习器.

通常,我们可通过实验测试来对学习器的泛化误差进行评估并进而做出选择.为此,需使用一个测试集来测试学习器对新样本的判别能力,然后以测试集上的误差作为泛化误差的近似.

评估方法

留出法
“留出法”(hold-out)直接将数据集D划分为两个互斥的集合,其中一个集合作为训练集S,另一个作为测试集T.在S上训练出模型后,用T来评估其测试误差,作为对泛化误差的估计.

交叉验证法

“交叉验证法”(cross validation)先将数据集D划分为k个大小相似的互斥子集.每个子集D都尽可能保持数据分布的一致性,即从D中通过分层采样得到.然后,每次用k-1个子集的并集作为训练集,余下的那个子集作为测试集;这样就可获得k组训练/测试集,从而可进行k次训练和测试,最终返回的是这k个测试结果的均值.显然,交叉验证法评估结果的稳定性和保真性在很大程度上取决于k的取值,为强调这一点,通常把交叉验证法称为“k折交叉验证”(k-fold crossvalidation).k最常用的取值是10,此时称为10折交叉验证;其他常用的k值有5、20等.下图为10折交叉验证的示意图.
,
假定数据集D中包含m个样本,若令k = m ,则得到了交叉验证法的一个特例:留一法(Leave-One-Out,简称LOO).显然,留一法不受随机样本划分方式的影响。

自助法

给定包含m个样本的数据集D,我们对它进行采样产生数据集D’:每次随机从D中挑选一个样本,将其拷贝放入D’,然后再将该样本放回初始数据集D中,使得该样本在下次采样时仍有可能被采到;这个过程重复执行m次后,我们就得到了包含m个样本的数据集D’,这就是自助采样的结果。
自助法在数据集较小难以有效划分训练集和测试集时很有用。

评估指标

准确率(Accuracy)的定义是:对于给定的测试集,分类模型正确分类的样本数与总样本数之比;

精确率(Precision)的定义是:对于给定测试集的某一个类别,分类模型预测正确的比例,或者说:分类模型预测的正样本中有多少是真正的正样本;

召回率(Recall)的定义为:对于给定测试集的某一个类别,样本中的正类有多少被分类模型预测正确召回率的定义为:对于给定测试集的某一个类别,样本中的正类有多少被分类模型预测正确;

F1_score,在理想情况下,我们希望模型的精确率越高越好,同时召回率也越高越高,但是,现实情况往往事与愿违,在现实情况下,精确率和召回率像是坐在跷跷板上一样,往往出现一个值升高,另一个值降低,那么,有没有一个指标来综合考虑精确率和召回率了,这个指标就是F1值。F1值的计算公式为:
,


练习题

1、通过作业可以知道不同学生学习情况、进步的速度快慢这一过程属于以下哪种?
A、训练
B、验证
C、测试
D、评估

2、常用的评估方法有哪些?
A、k折交叉验证
B、自助法
C、留出法

3、____在数据集较小难以有效划分训练集和测试集时很有用。
A、留出法
B、自助法
C、k折交叉验证法

4、评价指标有以下哪几种?
A、召回率(Recall)
B、准确率(Accuracy)
C、F1_score
D、精确率(Precision)

5、学习器在训练集上的误差称为____,在新样本上的误差称为____.
A、“泛化误差”(generalizationerror),“训练误差”(training error)
B、“训练误差”(training error),“泛化误差”(generalizationerror)

6、k折交叉验证是留一法的特例,这种表达正确吗?
A、正确
B、不正确

参考答案:
1.B
2.ABC
3.B
4.ABCD
5.B
6.B

举报

相关推荐

0 条评论