机器学习

总目录

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

11.1 子集搜索与评价

给定属性集,其中有些属性可能很关键、很有用,另一些 属性则可能没什么用.我们将属性称为"特征" (feature):

  • 对当前学习任务有 用的属性称为"相关特征" (relevant feature)、
  • 没什么用的属性称为"无关特征" (irrelevant feature).

从给定的特征集合中选择出相关特征子集的过程,称为"特征选择" (feature selection).

特征选择的原因:

  1. 减轻由于属性过多造成的维数灾难;
  2. 去除不相关特征降低学习任务的难度

特征选择中所谓的"无关特征"是指与当前学习任务无关.有一类特征称为"冗余特征" (redundant feature)。

它们所包含的信 息能从其他特征中推演出来.例如:

考虑立方体对象,若己有特征"底面长" “底面宽”,则"底面积"是冗余特征,因为它能从"底面长"与"底固宽" 得到.冗余特征在很多时候不起作用,去除它们会减轻学习过程的负担.

欲从初始的特征集合中选取一个包含了所有重要信息的特征子集,若没有任何领域知识作为先验假设,那就只好遍历所有可能的子集了;然而这在计算上却是不可行的?因为这样做会遭遇组合爆炸?特征个数稍多就无法进行.可行的做法是产生一个"候选子集",评价出它的好坏,基于评价结果产生下一个 候选子集,再对其进行评价,……这个过程持续进行下去,直至无法找到更好的 候选子集为止.显然,这里涉及两个关键环节:

  • 如何根据评价结果获取下一个候选特征子集?
  • 如何评价候选特征子集的好坏?

子集搜索

  1. 前向搜索:先确定一个子集,依次增加特征,构成候选子集,选出最优,继续指导最优的特征子集步入上一个子集,将其作为特征选择的结果。
  2. 后向搜索:先将整个特征集合作为候选子集,依次去除不相关特征;
  3. 双向搜索:前向和后向结合;

子集评价

给定数据集 DDD, 假定 DDD 中第 i 类样本所占的比例为 pi(i=1,2,...,∣Y∣)p_i (i = 1, 2,...,|\mathcal{Y}|)pi​(i=1,2,...,∣Y∣). 为便于讨论,假定样本属性均为离散型.对属性子集 AAA, 假定根据其取值将 DDD 分成了 VVV 个子集 D1,D2,...,DV{D^1, D^2,..., D^V}D1,D2,...,DV, 每个子集中的样本在 AAA 上取值相同,于是我们可计算属性子集 AAA 的信息增益
Gain(A)=Ent(D)−∑v=1V∣Dv∣∣D∣Ent(Dv)Gain(A)=Ent(D)-\sum_{v=1}^V\frac{|D^v|}{|D|}Ent(D^v) Gain(A)=Ent(D)−v=1∑V​∣D∣∣Dv∣​Ent(Dv)

其中信息熵定义为:
Ent(D)=−∑i=1∣Y∣pklog⁡2pkEnt(D)=-\sum_{i=1}^{\mathcal{|Y|}}p_k\log_2p_k Ent(D)=−i=1∑∣Y∣​pk​log2​pk​

11.2 过滤式选择

过滤式方法先对数据集进行特征选择,然后再训练学习器,特征选择过程 与后续学习器无关.这相当于先用特征选择过程对初始特征进行"过滤",再 用过滤后的特征来训练模型.

Relief算法:二分类问题

Relief (Relevant Features) [Kira and Rendell, 1992] 是一种著名的过滤式 特征选择方法,该方法设计了一个"相关统计量"来度量特征的重要性.该统计量是一个向量,其每个分量分别对应于一个初始特征,而特征子集的重要性 则是由子集中每个特征所对应的相关统计量分量之和来决定.于是,最终只需 指定一个阔值 T, 然后选择比 T 大的相关统计量分量所对应的特征即可;也可指 定欲选取的特征个数 k, 然后选择相关统计量分量最大的 k 个特征.

对于数据集中的每个样例xix_ixi​,首先找出与xix_ixi​同类别的最近邻与不同类别的最近邻,分别称为猜中近邻(near-hit)与猜错近邻(near-miss),接着便可以分别计算出相关统计量中的每个分量。对于j分量:

从式(11.3)可看出:

若 xix_ixi​ 与其猜中近邻 xi,nhx_{i,nh}xi,nh​ 在属性 j 上的距离小于 xix_ixi​ 与 其猜错近邻xi,nmx_{i,nm}xi,nm​ 的距离7,则说明属性 jjj 对区分同类与异类样本是有益的,于是增大属性 jjj 所对应的统计量分量;反之,若 xix_ixi​与其猜中近邻xi,nhx_{i,nh}xi,nh​在属性jjj 上的 距离大于 xix_ixi​与其猜错近邻xi,nmx_{i,nm}xi,nm​ 的距离,则说明属性 jjj 起负面作用,于是减小 属性 jjj所对应的统计量分量.最后,对基于不同样本得到的估计结果进行平均?,就得到各属性的相关统计量分量,分量值越大,则对应属性的分类能力就越强.

Relief-F:多分类问题

11.3 包裹式选择

与过滤式特征选择不考虑后续学习器不间,包裹式特征选择直接把最终将要使用的学习器的性能作为特征于集的评价准则.换言之,包裹式特征选择的目的就是为给定学习器选择最有利于其性能、 "量身走做"的特征子集.

LVW包裹式算法:拉斯维加斯框架下采用随机策略进行子集搜索,以最终很累起的误差为特征自己的评价准则;

11.4 嵌入式选择与L1正则化L_1正则化L1​正则化

在过滤式和包裹式特征选择方法中,特征选择过程与学习器训练过程有明显的分别;与此不同,嵌入式特征选择是将特征选择过程与学习器训练过程融为一体,两者在同一个优化过程中完成,即在学习器训练过程中自动地进行了特征选择.

11.5 稀疏表示与字典学习

稀疏性表现:

  1. 数据集D矩阵中,去除很多表示特征的列;
  2. 数据集D矩阵中存在很多0元素,且没有出现在同一列中;

当样本数据是一个稀疏矩阵时,对学习任务来说会有不少的好处,例如很多问题变得线性可分,储存更为高效等。这便是稀疏表示与字典学习的基本出发点。

稀疏编码(sparse coding)/字典学习(dictionary learning):对于一个给定的稠密矩阵,若能通过某种方法找到其合适的稀疏(恰当稀疏)表示,则可以使得学习任务更加简单高效.

给定一个数据集,字典学习/稀疏编码指的便是通过一个字典将原数据转化为稀疏表示,因此最终的目标就是求得字典矩阵B及稀疏表示α,受LASSO的启发,使用变量交替优化的策略能较好地求解。

11.6 压缩感知

通过欠采样信息来恢复全部信息。在实际问题中,为了方便传输和存储,我们一般将数字信息进行压缩,这样就有可能损失部分信息,如何根据已有的信息来重构出全部信号,这便是压缩感知的来历,压缩感知的前提是已知的信息具有稀疏表示。

压缩感知

感知测量:对原始信号进行处理以获得稀疏表示;Eg:傅里叶变换、小波变换、字典学习、稀疏编码等;
重构恢复:基于稀疏性从少年的观测中恢复原信号(压缩感知的精髓)

《机器学习》周志华(西瓜书)学习笔记 第十一章 特征选择与稀疏学习相关推荐

  1. 《机器学习》(周志华)西瓜书读书笔记

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 第1章 绪论 第2章 模型评估与选择 第3章 线性模型 第4章 决策树 第5章 神经网络 第6章 神经网络 第7章 贝 ...

  2. 机器学习(周志华西瓜书) 参考答案 总目录

    转自:http://blog.csdn.net/icefire_tyh/article/details/52064910 从刚开始学习机器学习到现在也有几个月了,期间看过PDF,上过MOOC,总感觉知 ...

  3. (机器学习周志华 西瓜书 南瓜书)吃瓜教程 Task01

    目录 1.3 假设空间 1.4 归纳偏好 2.1 经验误差与过拟合 2.3 性能度量 2.3.1 错误率与精度 1.3 假设空间 学习过程:在所有假设空间中搜索,为了使搜索结果与训练集一致,可以修改或 ...

  4. (机器学习周志华 西瓜书 南瓜书)吃瓜教程 Task02

    目录 第三章 线性模型 3.1基本形式 3.3对数几率回归 3.5 多分类学习 第三章 线性模型 3.1基本形式 解读:计算不同特征xi的权重,加上截距b,训练出线形模型 为什么要加上截距?举例:如果 ...

  5. 机器学习 周志华 西瓜书 第1章 绪论复习总结

    如果有看不清或其他问题请评论反馈.

  6. 周志华西瓜书课后习题答案总目录

    https://blog.csdn.net/icefire_tyh/article/details/52064910 机器学习(周志华西瓜书)参考答案总目录 从刚开始学习机器学习到现在也有几个月了,期 ...

  7. 周志华西瓜书学习笔记(一)

    周志华西瓜书学习笔记 第一章 绪论 数据处理分为三个阶段:收集,分析,预测. 一.基本概念 机器学习致力于研究如何通过计算的手段,利用经验来改善系统自身的性能. Mitchell给出的更形式化的定义为 ...

  8. 周志华西瓜书《机器学习》习题提示——第2章

    2.1:分层采样, [ ( 500 500 × 70 % ) ] 2 \left[ \binom{500}{500\times 70\%} \right]^2 [(500×70%500​)]2 2.2 ...

  9. 周志华西瓜书3.4题——用十折交叉验证法和留一法估计对率回归的误差

    周志华西瓜书3.4题. 本文所编写的代码均使用python3.7进行调试,依靠的sklearn进行的实验. 第一步,导入iris数据集,数据集使用sklearn包里面自带的. from sklearn ...

最新文章

  1. 如何利用Gephi可视化浏览的网站关系
  2. [论文翻译]Pedestrian Alignment Network for Large-scale Person Re-Identification
  3. Activiti第二篇【管理流程定义、执行任务和流程实例、流程变量】
  4. 利用SOS扩展库进入高阶.NET6程序的调试
  5. LeetCode 295. Find Median from Data Stream
  6. Maven知识- repositories
  7. ireport5.6+jasperreport6.3开发(四)--以javabean为基准的报表开发(ireport)
  8. LDN蓝牙双模键盘驱动和固件更新日志
  9. 输出素数并统计个数--C语言
  10. 耐得住寂寞,拥得了繁华
  11. LeetCode 781 森林中的兔子 题解
  12. linux报错的Syntax error “(“ 的解决方法
  13. 【Eclipse】关闭单词拼写检查
  14. text-overflow属性的使用
  15. MySQL Partition 相关使用总结
  16. 林业调查规划资质全国林业单位办理认定标准和申请条件
  17. 网站服务器课件,《WEB服务器》PPT课件.ppt
  18. 一不小心就四个月的实习总结。。。
  19. Telegraf-Influxdb-Grafana容器化部署拓展(Https、AD域、告警集成)并监控Cisco设备指标
  20. 用cdn网址的方式引入echart和echart-gl

热门文章

  1. Linux下C ,C ++, Qt开发环境
  2. 监控ajax请求的时间,找出完成Ajax请求所需的时间
  3. api.now is not a function
  4. Python实现简易停车场系统
  5. 对称加密、非对称加密、公钥、私钥究竟是个啥?
  6. openswan中ISAKMP交互过程关键函数接口
  7. 在工作中如何保持稳定的情绪
  8. 如何在工作中保持情绪稳定
  9. Java线性代数库jblas的应用举例
  10. 2.2PHP循环结构