机器学习笔记 - 评估方法

    xiaoxiao2021-03-26  25

    数据集 D = {(x1,y1),(x2,y2),...,(xm,ym)}, 一共 m 个样本. 可以对D 进行适当处理, 从中产生训练集 S 和测试集T. 下面介绍几种常见的做法.

    Hold Out

    将数据集 D 划分为两个互斥的集合, 其中一个作为训练集S, 另一个作为测试集T, 即 D=ST , ST= . 训练集和测试集的划分要尽量保持数据分布的一致性, 至少要保证样本的类别比例相似。 另一个需要注意的问题是,在给定测试/训练集比例后, 仍然存在多种划分方式对数据集 D 进行分割, 不同的划分方式将导致不同的模型评估结果, 所以在使用Hold Out方法时,一般要采用若干次随机划分, 重复实验评估后取平均值作为评估结果。

    Cross Validation

    将数据集D 划分为 k 个大小相似的互斥子集, 即 D=D1D2...Dk , D1D2...Dk= , 然后, 每次用 k1 个子集的并集作为训练集, 余下的那个子集作为测试集, 这样可以获得 k 组训练集和测试集, 从而进行k次训练和测试, 最终返回 k 个测试结果的均值。 跟Hold Out 方法类似, 将数据集D划分为 k 个子集也存在多种方式, 为减少因样本划分引入的差异, k次Cross Validation 通常要随机使用不同的划分重复 p 次。 常见的有10次10折Cross Validation.

    Bootstrapping

    给定m个样本的数据集 D , 对其进行采样, 每次随机挑选一个样本, 复制后将其放回,这样重复m次, 可以得到包含 m 个样本的测试集S, 显然, D 中会有一部分样本在 S中多次出现, 而有另一部分则不出现, 而样本在 m 次采样中部出现的概率为 p=(11m)m.

    limm(11m)m1e0.368 于是我们可以定义 T=DS , 这样可以进行训练和测试。

    Reference

    机器学习 - 周志华, 清华大学出版社
    转载请注明原文地址: https://ju.6miu.com/read-659473.html

    最新回复(0)