分类
分为:过滤式(filter),包裹式(wrapper),嵌入式(embedding)。
过滤式选择
过滤式方法仅仅在数据集上评价特征,并进行选择。Relief是一种著名过滤式方法,该方法对每个特征给出一个数值来评价该特征对分类的重要性。并在最后将每个特征的评价数值组成一个向量,称之为“相关统计量”。
评价方法
针对二分类,第一个diff衡量属性j的数值相同的同类的两个x之间的距离,第二个diff衡量属性j的数值相同的不同类的两个x之间的距离。
如果j相同的情况下是不同类,则diff=1,是同类则diff=0。(离散情况)
也就是说,δ表示的是:不同类x之间的j相同的多还是同类之间j相同的多。
如果不同类之间j还都相同,那说明j对于分类无用,则弃之。
对每个特征都进行这样一种评价,就能知道每个特征是否需要,从而进行取舍。
包裹式选择
过滤式方法仅仅在数据集上进行,包裹式方法则是将分类器也算进去。直接看选择的特征在最终分类器上的效果。显然,这种方法的开销一定很大。
LVW(Las Vegas Wrapper)
这种方法是利用随机的策略在特征集合中来搜索特征子集,然后在数据集上训练并交叉验证来得到误差。如果新搜索到的特征子集比之前的误差更小,就替换掉旧的特征子集。不停的进行类似的搜索,直到达到某个限制的搜索次数。
容易看出,这种方法的计算开销非常大。如果计算时间上有限制,有可能来不及搜索到最优的特征组合。
嵌入式选择
这个嵌入式的意思就是:将特征选择的过程嵌入到学习器训练的过程当中。这样说你可能不太明白,但我举一个大名鼎鼎的例子:LASSO,即L1正则化!岭回归:即L2正则化!
为什么L1正则化能起到特征选择的作用呢?我们知道L1正则化可以使解稀疏化。拿线性回归来说,L1正则化的存在就会让许多权重趋于0,从而导致一些输入特征对结果不起作用,从而这些输入特征也就被舍弃了,没有被选择。
参考:周志华《机器学习》