《机器学习》阅读心得——十一、特征选择和稀疏学习

十一、特征选择和稀疏学习

11.1 子集搜索和评价

  对一个学习任务来说,给定属性集,其中有些属性可能很关键,另一些属性可能没什么用,我们将属性称为“特征”,对当前学习任务有用的属性称为“相关特征”,没什么用的属性称为“无关特征”。从给定的特征集中选出相关特征子集的过程,称为“特征选择”。
  特征选择是一个重要的“数据预处理”的过程,在现实机器学习任务中,获得数据之后通常先进行特征选择,此后再训练学习器。这里有两个重要原因,一个是避免维数过多,出现维数灾难问题;另一个是去除不相干特征往往会降低学习任务的难度。
  在特征选择过程中,必须注意不丢失重要特征。给定数据集,若学习任务不同,则相关特征很可能不同,因此,特征选择中所谓的“无关特征”是指与当前学习任务无关。有一类特征称为“冗余特征”,它们所包含的信息能从其他特征中推演出来。去除冗余特征会减轻学习过程中的负担,但有时冗余特征的存在会降低学习任务的难度。确切的说,若某个冗余特征恰好对应了完成学习任务所需的“中间概念”,则该冗余特征是有益的。
  欲从初始的特征集合中选取一个包含了所有重要信息的特征子集,可行的做法是产生一个“候选子集”,评价出它的好坏,基于评价结果产生下一个候选子集,通过迭代,找到最好的候选子集。这里涉及到如何搜索子集和如何评价子集的问题,简介如下:
  第一个环节是“子集搜索”,给定特征集合 {a1,a2,...,ad} ,我们可将每个特征看做一个候选子集,对这d个候选单特征子集进行评价,假定 {ai} 最优,于是将 {ai} 作为第一轮的候选子集;然后,在上一轮的候选子集中加入一个特征,构成包含两个特征的候选子集。找到最优的候选子集 {ai,aj} ,并且优于 {ai} ,则将其作为第二轮的候选子集。反复进行,当该轮的候选子集不如上一轮的子集时,则停止搜索,将上一轮的搜索结果作为特征选择结果。这种方式称为“前向”搜索。类似的,如果从完整的特征集合开始,每次尝试去除一个无关特征,逐渐减少特征的策略被称为“后向”搜索。还可以将前向与后向搜索结合起来,每一轮逐渐增加特征,同时减少无关特征,这样的策略被称为“双向”策略。
  第二个环节是“子集评价”。给定数据集 D ,假定D中第i类样本所占的比例为 pi(i=1,2,..,|y|) 。为便于讨论,假定样本属性均为离散型。对属性子集A,假定根据其取值将D分成了V个子集 {D1,D2,...,Dv} ,每个子集中的样本在A上取值相同,于是我们可计算属性子集A的信息增益

Gain(A)=Ent(D)v=1V|Dv||D|Ent(Dv)(11.1)

信息增益Gain(A)越大,意味着特征子集A包含的有助于分类的信息越多,于是,对每个候选特征子集,我们可基于训练数据集D来计算其信息增益,以此作为评价准则。
  更一般的,特征子集A实际上确定了对数据集D的一个划分,每个划分区域对应着A上的一个取值,而样本标记信息Y对应着D的真实划分,通过估算这两个划分的差异,就能对A作出评价。与Y对应的划分的差异越小,则说明A越好。
  将特征子集搜索机制和子集评价相结合,即可得到特征选择方法。例如将前向搜索和信息熵相结合,这与决策树算法非常相似。常见的特征选择方法可以分为三类:过滤式、包裹式、嵌入式。

11.2 过滤式选择

  过滤式方法先对数据集进行特征选择,然后再训练学习器,特征选择过程与后续学习无关。这相当于先用特征选择来对初始特征进行过滤,再用过滤后的特征来训练模型。
  Relief是一种著名的过滤式特征选择方法。该方法设计了一个“相关统计量”来度量特征的重要性。该统计量是一个向量,其每个分量分别对应于一个初始特征,而特征子集的重要性则由子集中每个特征所对应的相关统计量分量之和来确定。于是最终只需要一个阈值 τ ,然后选择比 τ 大的相关统计量分量所对应的特征即可;也可指定欲选取的特征个数k,然后选择相关统计量分量最大的k个特征。
  Relief(Relevant Features)的关键是如何确定相关统计量。给定训练集 {(x1,y1),(x2,y2),...,(xn,yn)} ,对每个示例 xi ,Relief先在 xi 的同类样本中寻找其最近邻 xi,nh ,称为“猜中近邻”,再从 xi 的异类样本中寻找其最近邻 xi,nm ,称为“猜错近邻”。然后,相关统计量对应于属性 j 的分量为

δj=idiff(xji,xji,nh)2+diff(xji,xji,nm)2(11.2)

其中 xja 表示样本 xa 在属性j上的取值, diff(xja,xjb) 取决于属性j的类型:若属性j为离散型,则当 xja=xjb diff(xja,xjb)=0 ,否则为1;若属性j为连续型,则 diff(xja,xjb)=|xjaxjb| 。注意此时 xja,xjb 已经规范化到[0,1]区间。
  由上式可以看出,若 xi 与其猜中近邻 xi,nh 在属性j上的距离小于 xi 在猜错近邻 xi,nm 的距离,那么说明属性j对区分同类样本和异类样本是有益的,于是增加属性j所对应的统计量分量;反之则减少属性j所对应的统计量分量。最后,对基于不同样本得到的估计结果进行平均,就得到各属性的相关统计量分量,分量值越大,则对应属性的分类能力越强。

11.3 包裹式选择

  与过滤式选择不考虑后续学习不同,包裹式特征选择直接把最终将要使用的学习器的性能作为特征子集的评价准则。换言之,包裹式特征选择的目的就是为给定学习器选择最有利于其性能、“量身定做”的特征子集。
  一般来说,由于包裹式特征选择方法直接针对给定学习器进行优化,因此从最终学习器性能来看,包裹式特征选择比过滤式特征选择更好,但另一方面,由于在特征选择过程中需多次训练学习器,因此包裹式特征选择的计算开销通常比过滤式特征选择大得多。
  LVW(Las Vegas Wrapper)是一个典型的包裹式特征选择方法,它在拉斯维加斯方法下使用随机策略来进行子集搜索,并以最终分类器的误差为特征子集评价准则。由于LVW算法中特征子集搜索采用了随机策略,而每次特征子集评价都需要训练学习器,计算开销很大。当初始特征数很多时,若有运行时间限制,则有可能给不出解。

11.4 嵌入式选择与 L1 正则化

  嵌入式特征选择是将特征选择过程与学习器训练过程融为一体,两者在同一个优化过程中完成,即在学习器训练过程中自动的进行了特征选择。
  给定数据集 D={(x1,y1),(x2,y2),...,(xn,yn)} ,我们考虑最简单的线性回归函数,以平方误差为损失函数,则优化目标为:

mini=1m(yiωTxi)2(11.3)

  当样本特征很多,而样本数相对较少时,式(11.5)容易陷入过拟合。为了缓解过拟合问题,可对式(11.5)引入正则化项。若使用 L2 范数正则化,则有
mini=1m(yiωTxi)2+λ||ω||22(11.4)

其中正则化参数 λ>0 。上式称为“岭回归(ridge regression)”,通过引入 L2 范数正则化,确能显著降低过拟合的风险。如果将L2范数换为L1范数,则被称为LASSO(Least Absolute Shrinkage and Selection Operation)。
   L1 范数和 L2 范数相比,前者有个优势就是更加容易获得“稀疏”解,即它求得的 ω 会有更少的非零分量。意味着初始的d个特征中仅有对应着 ω 的非零分量的特征才会出现在最终模型中,于是,求解 L1 范数正则化的结果是得到了仅采用一部分初始特征的模型;换言之,基于 L1 正则化的学习方法就是一种嵌入式特征选择方法,其特征选择过程与学习器训练过程融为一体,同时完成。

11.5 稀疏表示与字典学习

  不妨把数据集D考虑成一个矩阵,每行对应于一个样本,每列对应于一个特征。特征选择所考虑的问题是特征具有“稀疏性”,即矩阵中的许多列与当前学习任务无关,通过特性选择去除这些列,则学习器训练过程仅需在较小的矩阵上进行,学习任务的难度有可能降低,学得模型的可解释性也会提高。
  现在我们考虑另外一种可能性,D所对应的矩阵中存在很多零元素,但这些零元素并不是以整列、整行形式存在。当样本具有这样的稀疏表达形式时,对学习任务来说具有不少好处。它能够使得不少问题变得线性可分,并且存储开销也很小。
  因此,在一般的学习任务中,我们需学习出这样一个“字典”,为普通稠密表达的样本找到合适的字典,将样本转换为合适的稀疏表达形式,从而使得学习任务得以简化,模型复杂度得以降低,通常称为“字典学习”,也称为“稀疏编码”。
  给定数据集 {x1,x2,...,xm} ,字典学习最简单的形式为

mini=1m||x1Bαi||22+λi=1m||αi||1(11.5)

其中 BRd×k 为字典矩阵,k称为字典的词汇量,通常由用户指定, αiRk 则是样本 xiRd 的稀疏表示。显然,式(11.5)的第一项是由希望由 αi 能很好的重构 xi ,第二项则是希望 αi 尽量稀疏。我们可采用变量交替优化的策略来求解上式。
  首先在第一步,我们固定住字典B,将上式按照分量展开,可看出其中不涉及 auiavi(uv) 这样的交叉项,于是可求解下式,从而为每个样本 xi 找到相应的 αi
min||xiBαi||22+λ||αi||1(11.6)

  第二步,以 αi 为初值来更新字典B,此时可将式(11.5)写为
min||XBA||2F(11.7)

其中 X=(x1,x2,...,xm)Rd×m,A=(α1,α2,...,αm)Rk×m,||||F 是矩阵的Frobenius范数。

11.6 压缩感知

  压缩感知是为了解决当收到信息有损失时,能否精确的重构出原信号的问题。假定有长度为m的离散信号x,不妨假定我们以远小于奈奎斯特采样定理要求的采样率进行采样,得到长度为n的采样后信号 y,nm ,即

y=Φx(11.8)

其中 ΦRn×m 是对信号x的测量矩阵,它确定了以什么频率进行采样以及如何将采样样本组成采样后的信号。一般来说,如果只知道测量值和测量矩阵,接收方不能还原出信号x,这是由于 nm ,因此 y,x,Φ 组成的式(11.8)是一个欠定方程,无法轻易求出数值解。
  不妨假设存在某个线性变换 ΨRm×m ,使得x可表示为 Ψs ,于是y可表示为
y=ΦΨs=As(11.9)

若能根据y恢复出s,则可以通过 x=Ψs 来恢复出信号x。
  有趣的是,若 s 具有稀疏性,则这个问题能够很好的得到解决。这是因为稀疏性使得未知因素的影响大为减少,此时式(11.9)中的Ψ称为稀疏基,而A的作用类似于字典,能将信号转换为稀疏表示。
  事实上,在很多应用中均可获得具有稀疏性的s。例如图像或声音的数字信号通常在时域上不具有稀疏性,但经过傅里叶变换、余弦变换、小波变换等处理后却会转换为频域上的稀疏信号。
  与特征选择、稀疏表示不同,压缩感知关注的是如何利用信号本身所具有的稀疏性,从部分观测样本中恢复原信号。通常认为,压缩感知分为“感知测量”和“重构恢复”这两个阶段。“感知测量”关注如何对原始信号进行处理以获得稀疏样本表示,“重构恢复”关注的是如何基于稀疏性从少量观测中恢复原信号。在谈到压缩感知时,通常就是在谈论重构恢复。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值