特征选择与稀疏学习

来源:互联网 发布:淘宝收货地址 编辑:程序博客网 时间:2024/06/06 02:33

第十一章   特征学习与稀疏学习

https://stackedit.io/editor#

1 子集搜索与评价

  • 我们能用很多属性描述一个西瓜:色泽、根蒂、敲声、纹理、触感等!

  • 根蒂、敲声!

  • 属性 (feature)={(relevantfeature)(irrelevant)

  特征选择:重要的数据预处理过程。在现实机器学习任务中,获取数据之后通常先进行特征选择,此后在训练学习器。why?

  • 1.维数灾难。

  • 2.去除不相关特征往往会降低学习的难度。(像侦探破案一样,若将纷繁复杂的关系抽丝剥茧,只留下关键因素,则真相往往更易看清。)

  特征选择必须确保不丢失重要特征,否则后续的学习过程会因为丢失重要信息而无法获得好的性能。给定数据集,如任务不同,则相关特征很可能不同。因此,特征选择中的无关特征是指与当前学习任务无关的特征。

  冗余特征:它们所包含的信息能从其它信息推演出来。例如:长宽高,底面积,体积。

既然有这么多特征:如何才能选择出一个比较好的特征子集呢?

  • 1.遍历所有可能的特征子集。

  • 2.产生一个候选子集,评价它的好坏,基于评价结果产生下一个候选子集,继续,直到无法产生更好的候选子集。

最优子集搜索方法有二

  • 1.给定特征集合{a1,a2,…,ad},将每一个特征看做一个候选子集,对这d个候选单特征子集进行评价,假定a2最优,将a2作为第一轮的选定集;然后,在上一轮的选定集中加入一个特征,构成包含两个特征的候选子集,假定在这d-1候选子集中{a2,a4}最优,且优于a2,将{a2a4}做为本轮的选定集,假定在低k+1轮时,最优的候选(k+1)特征子集不如上一轮的选定集,停止。

  • 2.从完整的特征集合开始,每次尝试去掉一个无关特征。

  • 显然上述的策略是贪心的,因为它们仅考虑本轮的选定最优。

环节二:子集评价

  • 给定数据集D,假定D中第i类样本所占的比例为pi(i=1,2,...,|y|)。对于属性子集A,假定根据其取值将D分成了V个子集{D1,D2,…,DV},每个子集的样本在A上取值相同,于是我们可计算属性子集A的信息增益:Gain(A)=Ent(D)Vv=1|Dv|DEnt(D)Ent(D)=|y|k=1pklog2pk。信息增益越大,则特征子集包含的有助于分类的信息越多。

1 过滤式选择

过滤式方法先对数据集进行特征选择,然后再训练学习器,特征选择过程与后续学习器无关;即先对特征进行“过滤”,然后用过滤后的特征来训练模型。

Relief(Relevant Features)是一种著名的过滤式特征选择方法,该方法设计了一个“相关统计量”来度量特征的重要性。

具体做法是对每个训练样本 xi 找到和它同一个分类的最近邻样本 xj,以及和它不是一个分类的最近邻样本 xk。如果 diff(xi, xj)t 表示 xi 和 xj 在属性 t 上的差值,那么相关统计量计算的就是:diff(xi, xk)的平方 与 diff(xi, xj)的平方的差值在所有样本上的平均

很直观的,一个重要的属性应该使得样本在这个属性上与自己同一分类的样本尽可能接近,而与不同分类的样本尽可能远。所以相关统计量在一个属性上的值越大则说明该属性的分类性能越强

过滤式特征选择的处理逻辑如下图所示:

enter image description here

2  包裹式特征选择

包裹式选择直接把最终将要使用的学习器性能作为特征子集的评价标准;根据学习器选择最有利于性能、“量身打造”的特征子集

一般而言,由于包裹式特征选择方法直接针对给定学习器进行优化,因此从最终的学习性能来看,包裹式方法比过滤式方法更好,当另一方面,由于在特征选择过程中需多次训练学习器,因此包裹式选择的计算开销一般要比过滤式选择大得多

LVW(Las Vegas Wrapper)是一个典型的包裹式特征选择算法。它在拉斯维加斯算法(Las Vegas Method)框架下使用随机策略来进行子集搜索,并以最终分类器的误差作为特征子集评价准则。

具体做法(简化)是:


  • [1]设置初始最优误差 E 为无穷大,目前最优特征子集为属性全集 A,重复次数 t = 0

  • [2]随机产生一组特征子集 A’,计算使用该特征子集时分类器的误差 E’

  • [3]如果 E’ 比 E 小,则令 A = A’, E = E’ ;否则 t++,并重复[2]、[3]步,当 t 大于等于停止控制参数 T 时跳出循环。

LVW算法简单明了,但是由于是使用随机子集筛选,并且每次筛选都要重新计算学习器误差,若 A 和 T 很大时,算法可能会长时间都达不到停止条件。即若有运行时间限制,则可能会得不到解。

包裹式特征选择的处理逻辑如下图所示:

3 嵌入式特征选择

不同于前两种特征选择方式将特征的选择过程和学习器的训练过程分开,嵌入式特征选择是将特征选择过程与学习器训练过程融为一体,两者在同一个优化过程中完成;即在学习器训练过程中自动化的进行了特征选择。

比如决策树在分枝的过程中,就是使用的嵌入式特征选择方法,其内在还是根据某个度量指标对特征进行排序。

4  稀疏表示与字典学习

数据集可以以矩阵表示,每一行为一个样本,每一列为一个属性。特征选择所考虑的问题是特征具有“稀疏性”,即矩阵中的许多列与当前学习任务无关,我们需要通过特征选择去除这些列。

我们现在考虑另一种稀疏性:在数据集 D 所对应的矩阵中存在很多零元素,但这些零元素并不是以整列、整行形式存在的。当样本具有稀疏表示时,对学习任务有不少好处,比如稀疏表示的数据更容易线性可分。同时,稀疏表示的数据在存储上的负担不大。

那么我们可以通过将数据转换为“恰当稀疏”的形式,获得稀疏表示的好处,简化学习任务。这种为普通稠密表达的样本找到合适的字典,将样本转化为稀疏表示形式,从而使学习任务得以简化,模型复杂度得以降低,通常称为“字典学习”(dictionary learning),亦称“稀疏编码”(sparse coding)。

这两个称谓稍有差别,“字典学习”更侧重于学得字典的过程,而“稀疏编码”更侧重于将样本稀疏表达的过程,不过这两者都是算法同一个优化求解过程中完成的,因此可以不做进一步区分。

稀疏表示的具体的过程简单描述如下:

  • **
  • [1]确定映射字典的词汇量 k,并初始化字典 B,d*k,其中 d 为样本属性数

  • [2]固定住字典 B,求得样本集 X 通过字典映射后的稀疏表示 Z

  • [3]固定住 Z 来更新字典 B

  • [4]反复第[2]、[3]步,最终可得合适的字典 B 和样本 X 的稀疏表示 Z

在上述字典学习过程中,用户能通过设置词汇量 k 的大小来控制字典的规模,从而影响稀疏程度

5 压缩感知(compressed sensing)

在现实任务中,我们常希望能根据部分信息来恢复全部信息。会拥有这种需求的原因是因为,在实践中为了便于数据的传输、存储,人们通常会将数据进行压缩,这有可能会损失一部分信息,而传输的过程中又可能会丢失一部分信息。这时候拥有根据接收到的受损的数据来恢复全部数据的能力就很重要了,而压缩感知为解决此类问题提供了新思路。

压缩感知的核心思想是:一般来说丢失了部分信息的数据是无法恢复为原始数据的,但是如果将原始数据通过字典学习表示成稀疏表示时,却可以比较好的进行复原。这是因为稀疏性使得未知因素的影响大大的减少。

与特征选择、稀疏表示不同,压缩感知关注的是如何利用信号本身的稀疏性,从部分观测样本中恢复原信号。通常认为,压缩感知分为“感知测量”和“重构恢复”这两个阶段。

“感知测量”关注如何对原始信号进行处理以获得其稀疏表示,这方面涉及我们前边提的特征选择、稀疏表示等内容

“重构恢复”关注的是如何从少量观测中恢复原信号,这才是压缩感知的精髓,当我们谈到压缩感知时,通常是指这部分。

阅读全文
0 0
原创粉丝点击