一、特征选择原因
- 避免维数灾难
- 去除不相关特征可以降低学习难度
二、特征选择方法
常见的特征选择方法主要有三种:过滤式(Filter)、包裹式(Wrapper)、嵌入式(Embedding)
1. 过滤式选择
先对特征进行选择,然后再训练学习器,这里介绍一个著名的过滤式选择方法:Relief
训练集{(x1,y1),(x2,y2),...,(xm,ym)},对每个xi,在xi的同类样本中找到最近的样本xi,nh,称为猜中近邻(near-hit),在xi的异类样本中找到最近的样本xi,nm,称为猜错近邻(near-miss)。属性j的相关统计量大小根据如下公式计算:
i=1∑m−diff(xij,xi,nhj)2+diff(xij,xi,nmj)2
其中xij表示xi在属性j上的值,如果xij是离散的,当xij=xi,nhjdiff(xij,xi,nhj)=0,当xij=xi,nhjdiff(xij,xi,nhj)=1。如果xij是连续的,先将xij归一化,diff(xij,xi,nhj)=∣xij−xi,nhj∣。
计算出所有属性对应的相关统计量大小后,最后只需要指定一个阈值ξ,然后选择比ξ大的属性作为特征来训练学习器即可。
2. 包裹式选择
先训练学习器,然后根据学习器的效果来选择特征,是直接针对特定的学习器的,从最终学习器的性能看,包裹式选择的效果比过滤式选择的效果好,但是开销也更大,这里同样介绍一个著名的包裹式选择方法:LVW

3. 嵌入式选择
将特征选择和训练学习器结合,两者同时进行,这个是本章的重点内容,也是用的最多的方法,嵌入式选择最常用的两种方法分别是L1正则化和L2正则化。
以线性回归为例,优化目标为
wmini=1∑m(yi−wTxi)2
加入L1范数后(称为LASSO回归),优化目标变为
wmini=1∑m(yi−wTxi)2+λ∣∣w∣∣1
加入L2范数后(称为岭回归),优化目标变为
wmini=1∑m(yi−wTxi)2+λ∣∣w∣∣22
L1范数和L2范数都能降低过拟合的风险(因为它们都能通过限制w的大小,使得模型更简单,从而提高泛化能力),但是L1范数更容易得到一个稀疏解,即它求得的w有更多的零分量。