subset selection

subset selection这几天看theelementsofstatisticallearning,觉得非常吃力,可能自己水平还不够,觉得这书不适合初学者看,就从SubsetSelection这一章节来说,本文说了主要说了三个点,best-subsetselection,stepwiseselectionandstagewiseselection,但是后面两个并没有特别详细的做法步骤,看的似懂非懂,后

大家好,欢迎来到IT知识分享网。

这几天看the elements of statistical learning,觉得非常吃力,可能自己水平还不够,觉得这书不适合初学者看,就从Subset Selection 这一章节来说,本文说了主要说了三个点,best-subset selection,stepwise selection and stagewise selection,但是后面两个并没有特别详细的做法步骤,看的似懂非懂,后来在网上各种查,花钱买vpn上谷歌,我也是蛮拼的。

本节主要想表述选取子集的方法,就是在很多个variable里面选择其中比较好的几个来regression,而不是用所有的variable来做regression,那如何衡量选取的好坏呢?还是用那个最小二乘的方法。

1best-subset selection:

这个方法显得非常直观,对于选取k个variable,就是花极高的复杂度,来枚举所有情况求出最小的,下图很好的说明了这个:

subset selection

红色点为当前k个variable能达到的最小二乘,灰色点为其他非最优的情况,值得说明的两点是:

1 红点的值随着k增大肯定是不递增的,可以思考下为什么?

2 若k的时候求最优选择了某个variable,那么大于k的情况求最优不一定会选择该variable。

2 stepwise selection:

这个方法是一个基于贪心的方法,但是他只是局部最优,并不是全局最优的,但是在一定程度上,已经非常接近全局的最优解了。它又可以分为两种,一种是forward,另外一种是backward,前一种是在空的variableset中add variable,后一种则是满的variableset中delete variable,详细说明下前一种,过程如下:

1初始每个特征的系数为0,初始残差为y。

2每次从没被选过的variable中选择与y相关性最大的variable,加入到当前的集合中,然后对新的集合做regression,做完regression后又产生了新的残差赋给y,重复这一步,直到选了k个variable。

值得说明的是,每次加入一个新的variable,对于入选集合中的所有variable会做一下regression,所以所有variable的系数都会改变。

对于backward,则是刚好相反,每次都是从集合中删去相关性最小的variable,直到只剩下k个variable。

这里说明下,k是做这个selection之前要确定的一个数。

3 stagewise selection:

这个方法和上一个有一些类似,但是又有很大不同,每次也是根据和残差相关性最大来选择一个variable,但是每次选择都是从所有variable集合中选,而不是在没被选择过的variable中选,那么显然,这样选过了又会被选到,就会大大的增加这个过程的执行时间。过程如下:

1初始每个特征的系数为0,初始残差为y。

2每次从所有feature中选择与y相关性最大的variable,然后对选入的variable按照这个variable做regression的方向移动一段较小的位置,之后又产生了新的残差赋给y,重复这一步。

subset selection


附一张截图,可以看出这四种方法的关系,由于stepwise selection并不是全局最优,但是他能节省很多计算时间并且非常接近最优,也是一种不错的方法,而对于stagewise selection,可以看到它递减得特别慢,这是因为它每一个step走的非常少。

另外,下次我想写Least angle regression,希望我能尽量理解那篇93页的论文吧!!!

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/12444.html

(0)

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信