机器学习十一-特征选择与稀疏学习
1 子集搜索与评价
对于一个学习任务,我们将属性称之为特征。对当前学习任务有用的称为“相关特征”,没什么用的称为“无关特征”。从特征集合中选择出相关特征子集的过程称为“特征选择”。
特征选择属于“数据预处理”过程,进行特征选择的两个原因:
(1)减轻维数,与降维动机相似;
(2)去除不相关特征会降低学习任务的难度。
注:特征的相关与无关针对学习任务而定,无关特征是指与当前任务无关。“冗余特征”(redundant feature),它们包含的信息可由其他特征推演出来,去除可以减轻学习负担,但是若冗余特征与习任务的中间概念更接近。,则该冗余特征更有益。
从特征集合中选取包含所有重要信息的特征子集,没有任何知识作为先验假设就得遍历所有可能的子集了,但是这样组个会遭遇组合爆炸,特征数稍多则无法进行。可行的做法是产生“候选子集”,评价它的好坏,基于评价结果再产生下一个候选子集,直到无法找出更好的候选子集为止。现在的主要任务变为:如何根据评价结果获取下一个候选子集?如何评价特征子集的好坏?
第一个任务,根据评价结果获取候选子集是一个“子集搜索”问题。先选择一个最优特征,然后从d-1个特征选择一个加入到最优特征,构成两个特征子集在寻找两特征子集中最优特征,直到地k+1轮时,最优候选特征(k+1)特征子集不如上一轮则停止生成候选子集,将k特征集合作为特征选择结果。这样逐渐增加相关特征的策略称为“前向”搜索。类似的,从完整的特征集合中依次去掉一个无关特征称为“后向”搜索。还可以每一轮增加选定的特征、同事减少无关特征,称为双向搜索。
第二个任务,是“子集评价”问题。对于离散型可以计算属性的信息增益,信息增益越大,特征子集包含的有助于分类信息越多。更一般,根据特征子集对数据集D进行划分,每个划分区对应特征子集的一个取值,而样本标记信息Y对应D的真实划分。与Y差异越小的划分,特征子集越好。
实际上,决策树可用于特征选择,数节点的划分属性自称的集合就是选出的特征子集,常见的特征选择大致分为三类:过滤式、包裹式和嵌入式。
2 过滤式选择
过滤式方法先对数据集进行特征选择,然后训练学习器,相当于先用特征选择对初始特征进行“过滤”,对过滤后的特征进行训练模型。
Relief是一种著名的过滤式选择方法,它设计了一个“相关统计量”来度量特征的重要性,该统计量是一个向量,每个分量对应一个初始特征。特征子集的重要性由子集中每个特征对应的相关统计量分量之和来决定。最终只需指定一个阈值,然后选择比阈值大的相关统计量分量所对应的特征即可;也可以指定特征个数k,选择相关统计量分量最大的k个特征。
Relief的关键是确定相关统计量。它现在同类样本中寻找最近的样本xi,nh,称为“猜中近邻”,再从异类样本中寻找最近样本xi,nm,称为“猜错近邻”,相关统计量对应于属性j的分量为:
其中,属性值均规范到[0,1]区间,xij为xi在属性j上的取值,diff(xij,xij,nh)取决于属性j的类型:若j为离散型,若xij = xij,nh
diff=0,否则为1;若属性j连续,则diff=| xij -
xij,nh |。
分析上面分量公式,如果猜中近邻在属性j上的距离小于猜错近邻,说明属性j对区分同类与异类样本是有益的,于是增大对应的统计分量;如果属性j上的猜中近邻小于猜错近邻,则j起到反作用,于是减小统计分量。
Relief是为二分类设计的,扩展Relief-F能处理多分类问题。对于样本xi,在它的同类中寻找猜中近邻xi,nh,再从异类中的每一个类找到一个猜错近邻,相关统计量的属性j的分量为:
pl为第l类样本在数据集D中的比例。
3 包裹式选择
区别:过滤式不考虑学习器
包裹式特征选择直接把最终将要使用的学习器的性能作为子集的评价。
包裹式特征选择目的是给学习器选择最有利于其性能、“量身定制”的特征子集。LVW是一个典型的包裹式特征选择方法,他在Las Vegas method 框架下使用随机策略进行子集搜索,并以最终分类器误差作为特征子集的评价。
图 LVS算法描述
算法第8行通过数据集D上,考虑特征子集A’时,使用交叉验证法来估计学习器ε的误差,若特征子集A’的误差比当前特征子集A小或者误差相当但是A’中包含的特征数更少,则将A’保存下来。
4 嵌入式选择与L1正则化
嵌入式特征选择将特征选择与学习器训练过程融为一体,两者在同一个优化过程中完成,即在学习器训练过程中自动地进行了特征选择。
以简单线性回归模型为例,数据集D={(x1,y1),(x2,y2),···(xm,ym)},平方误差为损失函数,则优化目标为
样本特征多而样本数较少时,容易出现过拟合,引入正则化项。若使用L2范数正则化则有
式1
其中λ> 0,式1称为岭回归(ridge
regression),引入L2范数确能显著降低过拟合风险。
若使用Lp范数,令p=1采用L1范数,则有
式 2
其中λ> 0,式2称为LASSO(least
absolute shrinkage and selection operator)。L1范数和L2范数均有助于降低过拟合,前者有一个好处:L1比L2更容易获得一个稀疏“”解,即求得的w会有更少的非零分量。
L1正则化问题求解可使用近端梯度下降(Proximal
Gradient Descent,PGD)。
对于优化目标:
若f(x)可导且▽f微分算子满足L-lipschitz条件,即存在L>0使得
xk附近可将f(x)泰勒展开
式3
<·,·>表示内积,式3的最小值在如下获得:
进而将这个思想推广到优化目标函数,得到每一步迭代为:
即每一步对f(x)进行梯度下降迭代的同时要考虑l1范数最小化
通过PGD能使LASSO和其他基于L1范数最小化的方法得以快速求解。
设函数Φ(x)在有限 区间[a,b]上满足如下条件:
(1) 当x∈[a,b]时,Φ(x)∈[a,b],即a≤Φ(x)≤b.
(2) 对任意的x1,x2∈[a,b], 恒成立:|Φ(x1)-Φ(x2)|≤L|x1-x2|.
5 稀疏学与字典学习
数据集D考虑成一个矩阵,每行是一个样本,每列是一个特征。特征选择所考虑的问题是特征具有“稀疏性”,即矩阵中的许多列与当前学习任务无关,通过特征选择去除。模型涉及的输入因素减少了,模型所建立的“输入-输出”关系更加清晰。
另一种稀疏性:数据集对应的矩阵中存在许多0元素,但0元素并不是以整列整行存在的。比如文档分类任务,每个文档看做一个样本,每个字看做一个特征。
当样本具有这样的稀疏表达形式时,对学习任务会带来好处,例如文本数据在使用上述字频表示后具有高度稀疏性,使用线性支持向量机性能很好,大多数问题变得线性可分。
在一般学习任务中,为普通稠密样本找到合适的稀疏表示形式的字典,从而简化学习任务称为“字典学习”或“稀疏编码”。
字典学习:侧重于学的字典的过程;
稀疏编码:侧重于样本进行稀疏表达的过程;
给定数据集{x1,x2,···,xm},字典学习最简单形式为:
6 压缩感知
根据部分信息还原全部信息,如如模拟信号转换成数字信号,根据奈奎斯采样定理,采样频率达到模拟信号的两倍则采样后的数字信号就能精确的还原模拟信号。在传输,存储中又会对数字信号进行压缩,传输过程中丢包等问题,都会损失一部分信息,压缩感知提供了还原原信号的新思路。
假定长度为m的离散信号x,以远小于奈奎斯采样频率采样,得到长度为n的采样信号y,n<<m,即其中φ是测量矩阵,x是离散信号,将测量值y发送出去一般是得不到原始信号x的,y/x/φ组成的欠定方程是无法轻易求解的。假设存在线性变换ψ使得x表示为ψs,于是y=φψx=As,如果s具有稀疏性,这个欠定方程是可以求得的。此时,ψ称为稀疏基,A的作用类似于字典,将信号转换成稀疏表示。
在许多应用中,图像、语音在时域上不具有稀疏性,但经过傅里叶变换、余弦变换、小波变换等处理后在频域上可转化为稀疏信号。
与特征选择、稀疏表示不同,压缩感知是考虑如何利用部分观测样本还原原信号。压缩感知分为“感知测量”和“重构恢复”两个阶段。
感知预测:关注如何对原始信号处理火的稀疏样本,涉及傅里叶变换、小波变换和字典学习、稀疏编码;在信号处理上有研究;
重构恢复:关注如何基于稀疏性从少量观测中恢复原信号,这部分是感知学习的精髓,通常说感知学习指的就是这部分。
压缩感知理论较为复杂,简要介绍一种,“限定等距性”。
对大小为n * m的矩阵A,若存在常数δk ∈(0,1)使得任意向量s和A的所有子矩阵Ak∈Rn*k有
则称A满足k限定等距性。通过下面优化近乎完美的从y中恢复出稀疏信号s,进而恢复x:
L0范数的最小化是一个NP难题,L1范数最小化在一定条件下与L0最小化共解,则:
该式可以转化为LASSO的等价形式通过近端梯度下降求解,即“基寻踪去噪”。
根据读者评价推荐新书的压缩感知学习讲解,见西瓜书P259。