机器学习-特征选择与稀疏学习

概述

样本属性通常被称为特征,大体可以分为相关特征(即对当前学习任务有帮助的属性)与无关特征(即对当前学习任务没有用的属性)。

特征选择的原因有:

  • 属性过多易导致维数灾难,若选择出重要特征进行训练,则会大大减小维数灾难
  • 去除多余、无用的属性会降低学习难度,从繁杂的属性中选择重要的属性进行学习能提高效率

重要原则:特征选择过程必须保证不丢失重要特征!

特征选择的过程包括生成“候选子集”,评价其好坏,并根据评价结果产生下一个候选子集,在进行评价。

  1. 子集搜索:前向搜索、后向搜索、双向搜索等方法,但是该搜索策略均为“贪心”的,仅考虑本轮最优,而忽略整体最优

  2. 子集评价:计算子集信息增益Gain(A),增益越大,则子集A包含的有助于分类的信息越多,以此作为评价准则。

二者相结合即为特征选择方法,常见方法分为三类:过滤式、包裹式、嵌入式。

过滤式

过滤式方法先选择特征,再进行训练。

Relief是常用的相关统计量,是一个向量,每个分量分别对应于一个初始特征,特征子集的重要性是有子集中每个特征所对应的相关统计量分量之和决定。

包裹式

把最终将要使用的学习器的性能作为特征子集的评价准则,为给定学习器选定最有利于其性能、量身定做的特征子集。缺点是计算开销巨大。

嵌入式

将特征选择与学习器训练融为一体,在同一个优化过程中完成,即学习过程中自动进行特征学习。

补充知识:

$L_0$范数:向量x中非零元素的个数
$L_1$范数:$\left|\left|x \right| \right|_1=\sum \left|x_i \right|$
$L_2$范数:$\left|\left|x \right| \right|_2=\sqrt{\sum x_i^2}$
$L_{inf}$范数:$\left|\left|x \right| \right|_{inf} =max \left | x_i \right |$

通过在训练过程中引入正则化项,可以显著降低过拟合风险。基于$L_1$范数正则化的学习方法将特征选择过程与学习过程融为一体,同时完成。

通常来说,$L_1$范数比$L_2$范数更好,它更易获得稀疏解,即所求得的解具有更少的非零分量。

$L_1$正则化问题求解可使用近端梯度下降法PGD求解。

稀疏表示与字典学习

将数据集D看作一个大矩阵,每一行代表一个样本,每一列代表一个属性,每一个元素值代表样本x在属性a上的取值。该矩阵具有稀疏性,即许多列与当前学习任务无关,通过特征选择去除这些列,则学习可以在更小的矩阵上进行,难度可能降低,计算及存储开销可能变小,学得的模型更好。