机器学习-模型评估

模型评估与选择

一.误差与过拟合

分类器分类错误的样本数占样本总数的比例为错误率(errorate),E=m/n(m为分类错误的总样本数,n为总样本数),分类的精度(accuracy) P=(1-E)x100%

学习器实际预测值和样本真实值之间的差异为“误差”

  • 训练误差/经验误差:学习器在训练数据上的误差
  • 泛华误差:学习器在新样本上的误差

我们希望得到的是泛化误差尽可能小的学习器,在通过训练数据训练学习器的过程中是在尽可能的最小化训练误差。有时学习器的训练误差非常小,但当遇到新的样本时表现的却不好。因此为了的当泛华能力比较强的学习器,只能让学习器从训练样本中学习到尽可能适应所有样本的普遍规律,要尽可能的学习所有训练样本的共性,这样学习器在遇到引得样本时才会做出正确的判断。通过训练数据训练出的学习器会有两个问题:

  • 过拟合:学习器学习能力过于强大把训练数据学习的太好了,可能把训练样本自身的特点当做了所有样本的一般性质,导致过拟合,是学习器的泛化能力降低。过拟合无法避免,只能尽量减小。
  • 欠拟合:和过拟合相对应,有学习器学习能力过低,对训练样本的一般性质没有学好,欠拟合容易克服,关键的问题是过拟合

二.模型评估和选择方法

不同的机器学习算法,同一算法的不同参数配置都是不同的模型,机器学习的模型选择就是对模型的泛化误差进行评估选择泛化误差最小的模型。

通过训练数据得到的学习器,将学习器在在测试数据上的测试误差作为学习器的泛华误差。

训练集与测试集要有如下关系:训练集和测试集都是从样本真实分布中独立同分布采样而得,他们应该尽可能互斥,测试样本尽量不出现在训练样本中。

假设包含m个样例的样本集D={(x1,y1),(x2,y2),...,(xm,ym)},如何划分训练集和测试集的常用方法如下:

  1. 留出法
    直接将样本集D划分为两个互斥的集合D= S U T,S作为训练集,T作为测试集估计分类器的泛化误差。

    • 训练集和测试集的划分要保持数据分布的一致性,避免数据划分引入偏差影响结果。比如在分类任务中要保持两个集合中样本的类别别比例相似。
    • 在使用留出法时不同的划分会得到不同的模型,单次留出法得到的结果往往不够稳定可靠,一般采用若干次留出法随机划分,重复试验评估后取平均值作为留出法的评估结果。并且常将样本集的2/3 ~ 4/5的样本用于训练,剩余的用于测试。
  2. 交叉验证法

    • 将样本集D划分为k个大小相似的互斥子集,D=D1 U D2 UU Dk,每个子集尽可能保持数据分布的一致性,
    • 每次使用k-1个子集的并集作为训练集,剩余的一个子集作为测试集,
    • 这样可以得到k组训练/测试集,进行k次实验,得到的是k次测试结果的均值

    交叉验证法评估结果的稳定性很大程度取决于k的取值,因此也称为“k折交叉”验证,k常取10,其他常用值为5,20等。

    交叉验证法的特例:留一法(LOO),k=m

    • 留一法的优点:留一法不受随机样本划分方式的影响,因为m个样本只有唯一的方式划分为m个子集,每个子集一个样本,在多数情况下,留一法中被实际评估的模型和期望评估的用D训练出的模型很相似,评
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值