西瓜书+实战+吴恩达机器学习(十九)特征选择(过滤式选择、包裹式选择)

如果这篇文章对你有一点小小的帮助,请给个关注,点个赞喔,我会非常开心的~

0. 前言

特征选择是一个很重要的数据预处理过程:

  1. 选择出重要的特征可以缓解灾难维数问题
  2. 去除不相关特征可以降低学习任务的难度

特征选择可分为子集搜索和子集评价:

  1. 子集搜索:前向搜索(逐渐增加特征),后向搜索(逐渐减少特征)
  2. 子集评价:可采用信息增益对子集进行评价

1. 过滤式选择

过滤式方法先对数据进行特征选择,然后再训练分类器。

Relief(Relevant Features)是著名的过滤式特征选择方法。该方法假设特征子集的重要性是由子集中的每个特征所对应的相关统计量分量之和所决定的。所以只需要选择前kk个大的相关统计量对应的特征,或者大于某个阈值的相关统计量对应的特征即可。

Relief先在xix_i的同类样本中寻找其最近邻xi,nhx_{i,nh}称为“猜中近邻”,再从xix_i个异类样本中寻找其最近邻xi,nmx_{i,nm}称为“猜错近邻”,属性jj的相关统计量定义为:
δj=idiff(xij,xi,nhj)2+diff(xij,xi,nmj)2 \delta^j=\sum_i-diff(x_i^j,x_{i,nh}^j)^2+diff(x_i^j,x_{i,nm}^j)^2
其中,xajx_a^j表示样本xax_a在属性jj上的取值,若属性为离散型,则diffdiff当且仅当属性相等时为0否则为1,若属性为连续型,则diffdiff表示为距离。相关统计量越大越好。

对于多分类,可采用ReliefFRelief-F
δj=idiff(xij,xi,nhj)2+lk(pl×diff(xij,xi,l,nmj)2) \delta^j=\sum_i-diff(x_i^j,x_{i,nh}^j)^2+\sum_{l\neq k}(p_l\times diff(x_i^j,x_{i,l,nm}^j)^2)
其中,plp_l为第ll类样本的比例。

2. 包裹式选择

包裹式特征选择直接把最终使用的学习器的性能作为子集评价的准则。

从性能上看,包裹式选择比过滤式选择更好,但包裹式选择的开销更大。

LVW(Las Vegas Wrapper)是典型的包裹式特征选择方法(图源:机器学习):
西瓜书+实战+吴恩达机器学习(十九)特征选择(过滤式选择、包裹式选择)


如果这篇文章对你有一点小小的帮助,请给个关注,点个赞喔,我会非常开心的~