在我们所有的feature中 ,其实有很多是没有用的,或者很多feature之间的相关性很强,这时就牵涉到feature selection的问题,除了用前面提到过的假设检验的方法,一般还有如下几种可供选择:
Best Subset Selection : 最笨的办法莫过于在对于 中的每一个子集我们都尝试着去拟合,然后计算每个子集所对应的残差平方和RSS,选择具有最小RSS所对应的那个子集。如果把用不同的子集理解为使用不同的liner model,从model selection的角度去考虑就是选择使训练误差最小的那个model。明显这钟方法是一种愚公移山式的天真,我们知道子集的数目为 ,当p比较大时,开销会大的惊人,所以在实际中往往并不可行。
Forward Stepwise and Backward stepwise Selection :Forward stepwise Selection是一种贪婪式算法,其最开始的时候所用feature集合为空集F,候选集合H为,如果H中存在,使用 比只使用F拟合的效果好,那么从H中选择使拟合效果提升最大的那个 ,并把加入到F中和从H中剔除。然后重复前面的操作直至H中不存在使拟合效果提升的 或者H已为空集了。 Backward stepwise Selection正好同Forward stepwise Selection相反,最开始的集合为全集,然后逐一的剔除,每次剔除的时候使得对拟合效果的影响最小。这里谈到的拟合效果可以使用计算残差平方和RSS或model selection中常用的AIC等指标。