《机器学习基石》第15节课学习笔记

第15节课  Validation

  • 本节课主要学习了Validation验证。介绍了要选择好的机器学习的模型的一些概念,然后详细介绍了Validation的过程。最后,介绍了两种验证方法,比较它们各自的优点和缺点。两者验证方法的推导过程没怎么听懂,需要进一步消化吸收。另外涉及到以前学过的知识:pocket,忘记了这个知识点,需要复习!

(一)机器学习模型的选择

1.关于二元分类

二元分类可以选择多种演算法,例如:PLA算法、pocket、线性回归、逻辑回归等;这些方法大多需要一步一步去完成,所以要决定需要走100步,还是走1000步,还是走10000步;还可以决定每步要走多大,例如一步是要走1,还是0.1,还是0.01;还有许多的转换可以选择,例如是用原来的转换,还是二次的转换,还是十次的转换等等。需要考虑很多的因素,所以今天主要学习的是怎么样做出合适的选择。

2.引出模型的选择:

①例子:下面有两个模型。H1是一条直线划分的,不过有一点错误;H2是二次曲线划分的,不过没有出现错误,实际情况下我们应该选择哪种模型?

②探讨:N个模型的选择和选择的目的(见下图)

希望通过这些模型选择出一个模型使得到的矩中Eout是最小的,说明这个模型选择的合适。

但问题是Eout没法提前确定。

用手上的资料进行模型选择时,要避免用视觉(即单凭看到的)的去做选择。

3.如何进行选择:

(1)方法:

①选择Ein最小的模型。

②但是这个方法的设定有以下方面需要思考:

  • 在这个方法中,转换次数多比转换次数少好,但问题会很难去下手;
  • 在这个方法中,加入λ值会使问题变复杂,不加比较好,但是会导致过拟合;
  • 在这个方法中,方法的实行是在A1中选择Ein最小的模型H1,在A2中选择Ein最小的模型H2,然后H1和H2再进行pk选择。这种做法会导致modle复杂度的低价变高,可能会导致坏的generalization发生。

③结论:

(2)方法的改变:

①用一堆测试的资料看哪一个模型的表现最好,然后选择那个表现最好的模型。即选择最好的Etest的模型。

②这种方法的理论保证:

但问题是能否找到测试资料?测试资料好比考试以前的卷子,我们考试以前是看不到的,否则就是作弊的行为。

③故该方法的结论是:

(3)比较Ein和Etest这两种选择方法:

(4)因此选择一种折中的方式:Eval选择方法。

(二)引入Validation

1.过程:从自己手上的资料中划出一小块大小为K的资料作为验证资料,用它来模拟测试资料。在这部分测试资料中出现的错误叫做Eval。

              剩下的N-K块的资料称为训练资料。

示意图如下:

每个符号表示的含义如下:

理论保证是:

这一做法的好处是:可以防止资料被污染,同时将手上的资料分成两部分,每一部分都完成自己相应的工作。

2.假如D共有1000个样本,那么可以选择其中900个Dtrain,剩下的100个作为Dval。

再假设有M种模型hypothesis set,从M个矩中选择一个最好的m∗作为我们最终得到的模型。

 

根据之前的leraning curve很容易知道,训练样本越多,得到的模型越准确,即D的Eout比Dtrain的Eout要小:

所以我们通常是用Dval选择出好的模型,再将整体D用该模型进行训练,得到其对应的矩。

3.结论如下:(下面这个总结文字参考的网上资料

不等式关系是:

 

4.引例:将validation验证用在选择5次多项式和10次多项式上。下面是四条线的含义及图示:

关于K的大小的推论:

因此实际上K的大小选择应该如下:(K用原来资料的五分之一)

(三)Leave-One-Out Cross 验证方法

1.引例:假设K=1,此时验证资料造成的错误是en。

若有多个en,求其平均值,观察它的大小:

该验证方法的目的:

2.该验证法的推导过程,如下图:

如上图所示,要对二维平面上的三个点做拟合,上面三个图表示的是线性模型,下面三个图表示的是常数模型。

对于两种模型,分别使用留一交叉验证法来计算Eloocv,计算过程都是每次将一个点作为验证集,其他两个点作为训练集,最终将得到的验证误差求平均值,就得到了Eloocv(linear)和Eloocv(constant),比较两个值的大小,取值小对应的模型即为最佳模型。

3.接下来,我们从理论上分析Leave-One-Out方法的可行性,即Eloocv(H,A)是否能保证Eout的矩足够好?

结论:Eloocv(H,A)的期望值和Eout(g−)的期望值是相近的,这代表得到了比较理想的Eout(g),Leave-One-Out方法是可行的。

4.引例:进行手写数字识别

①平面特征分布如下图所示:

②Error与特征数量的关系如下图所示:

③下图是分别使用Ein和Eout进行训练得到的分类曲线:

④结论:使用Ein发生了过拟合,而Eloocv分类效果更好,泛化能力强。

(四)V-Fold Cross 验证方法

1.Leave-One-Out可能的问题:

(1)第一个问题是计算量,假设N=1000,那么就需要计算1000次的Eloocv,再计算其平均值。当N很大的时候,计算量是巨大的,很耗费时间。

(2)第二个问题是稳定性,例如对于二分类问题,取值只有0和1两种,预测本身存在不稳定的因素,那么对所有的Eloocv计算平均值可能会带来很大的数值跳动,稳定性不好。

所以,这两个因素决定了Leave-One-Out方法在实际中并不常用。

 2.针对Leave-One-Out的缺点对其作出了改进。

Leave-One-Out是将N个数据分成N分,那么改进措施是将N个数据分成V份(例如V=10),计算过程与Leave-One-Out相似。这样可以减少总的计算量,又能进行交叉验证,得到最好的矩,这种方法称为V-折交叉验证。其实Leave-One-Out就是V-折交叉验证的一个极端例子。如下图:

所以一般的Validation使用V-折交叉验证来选择最佳的模型。

转载于:https://www.cnblogs.com/lxx0/p/lxx_learning-notes-15.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值