看仪表盘——validation

先试想一下,对于一个简单的二分类问题,我们如何选择合适的算法?

我们有许许多多的H,如何选择出最为合适的算法?

最合理的方法是:对于每一个H,我们选择出Eout最小的g,然后对于各个g,再选择Eout最小的。然而,我们并不知道Eout怎么求。

使用Ein显然不合理。

我们之前就说过,Etest的作用相当于Eout。每次我们得到数据,都切出一块数据来模拟test数据,切出来的数据叫做validation数据。

过程就是:

1.对于我们拥有的数据D,分成两份Dtrain和Dval

2.使用Dtrain训练每一个H,然后使用Dval挑选出最好的Hm

3.对于Hm重新使用D,训练。

 

究竟Dval的sizeK大小为多少合适呢?

 

 

 

Leave-One-Out Cross validation

假设K=1,有:

这么做的问题是什么呢?

一是计算量太大,实际上不能实现;二是不稳定。

所以可以使用V-fold Cross Validation

 

 

 

 

 

 

 

  

posted @ 2016-05-08 16:33  wangyanphp  阅读(211)  评论(0编辑  收藏  举报