特征选择之过滤式、包裹式、嵌入式

2023-11-17

特征选择

  从原始特征集合中选出对当前学习任务有用的最重要的一些特征。
  特征选择的原因:
  (1)维度灾难:由于属性过多,导致维数灾难,若通过特征选择,则能大大减轻这一问题;
  (2)降低学习任务的难度:去除不相关的特征,将复杂的特征只留下关键特征,降低学习任务的难度。

  特征选择的步骤:
     第一步:先产生一个“候选子集”,并评价其好坏;
     第二步:基于以上评价结果产生下一个“候选子集”,再对其进行评价,以此重复。直至无法找到更好的“候选子集”。则最终的“候选子集”即为特征选择的结果。

   特征选择包含两个方面:
   - 子集搜索:搜索“候选子集”的过程。
     - 前向搜索:从单特征子集开始,不断增加特征,直至“候选子集”效果没有改善;
     - 后向搜索:从完整特征开始,每次尝试去掉一个无关特征,直至“候选子集”的效果无明显改善;
     - 双向搜索:将前向搜索与后向搜索结合,每一轮逐渐增加选定相关特征、同时减少无关特征。
   - 子集评价:
     - 信息增益:对属性子集A,根据其取值将数据集划分为v个子集,每个样本子集在A上的取值相同,可计算A的信息增益。信息增益越大,意味着特征子集A包含的有助于分类的信息越多。以此作为评价准则。

过滤式选择

  过滤式方法,先对数据集进行特征选择,然后再训练学习器,特征选择过程与后续学习器无关。主要有Relief(二分类)和Relief-F(多分类)两种。
  1、Relief
  该方法设计了一个“相关统计量”,它是一个向量。
  (1)以上向量中,每个分量对应了一个初始特征;
  (2)特征子集的重要性由子集中每个特征所对应的相关统计量分量之和来决定;
  (3)可指定阈值 δ \delta δ,选择相关统计量分量之和比 δ \delta δ大的所对应的特征即可;或者指定欲选取的特征个数k,选择相关统计量分量最大的k个特征。
  关键是如何确定“相关统计量”。
  (1)对于每个样本 x i x_{i} xi,先在 x i x_{i} xi的同类样本中寻找最近邻 x i , n h x_{i,nh} xi,nh,称为“猜中近邻”;
  (2)再从 x i x_{i} xi的异类样本中寻找其最近邻 x i , n m x_{i,nm} xi,nm,称为“猜错近邻”。
  (3)然后,相关统计量对应于属性 j j j的分量为:
δ j = ∑ i ( diff ⁡ ( x i j , x i , n h j ) 2 + diff ⁡ ( x i j , x i , l , n m j ) 2 ) \delta^j=\sum_{i}( \operatorname{diff}\left(x_{i}^{j}, x_{i, n h}^{j}\right)^{2}+\operatorname{diff}\left(x_{i}^{j}, x_{i, l, n m}^{j}\right)^{2}) δj=i(diff(xij,xi,nhj)2+diff(xij,xi,l,nmj)2)
  则,
   1 0 1^0 10 x i x_{i} xi与其猜中近邻 x i , n h x_{i,nh} xi,nh在属性 j j j上的距离小于 x i x_{i} xi与其猜错近邻 x i , n m x_{i,nm} xi,nm的距离,说明属性 j j j对区分同类与异类样本是有益的,故增大属性 j j j所对应的分量;
   1 1 1^1 11 反之,属性 j j j起负作用,则减小属性 j j j所对应的分量;
   1 3 1^3 13 最后,对基于不同的样本得到的估计结果进行平均,就得到各属性的相关统计量分量,分量值越大,则对应属性的分类能力越强。
  
Relief只需要在样本集的采样上估计,而不需要在整个数据集上估计相关统计量。

  2、Relief-F
  假定数据集 D D D中的样本来自 ∣ Y ∣ |Y| Y个类别。对样本 x i x_{i} xi,若它属于第 k k k类,则Relief-F先在第 k k k类的样本中寻找 x i x_{i} xi的最近邻 x i , n h x_{i,nh} xi,nh,称为“猜中近邻”,然后在第 k k k类之外的每个类中找到一个 x i x_{i} xi的最近邻 x i , l , n m ( l ≠ k ) x_{i,l,nm}(l≠k) xi,l,nm(l=k),称为“猜错近邻”,则相关统计量对应属性 j j j得分量为:
δ j = ∑ i d i f f ( x i j , x i , n h j ) 2 + ∑ l = k ( p l × diff ⁡ ( x i j , x i , l , n m j ) 2 ) \delta^j=\sum_{i} d i f f\left(x_{i}^{j}, x_{i, n h}^{j}\right)^{2}+\sum_{l=k}\left(p_{l} \times \operatorname{diff}\left(x_{i}^{j}, x_{i, l, n m}^{j}\right)^{2}\right) δj=idiff(xij,xi,nhj)2+l=k(pl×diff(xij,xi,l,nmj)2)
  其中 p l p_{l} pl为第 k k k类样本在数据集 D D D中所占的比例。

包裹式选择

  包裹式选择直接将最终将要使用的学习器的性能作为特征子集的评价准则。前提是给定学习器,根据指定学习器进行优化。在特征选择过程中,需多次训练学习器,因此计算开销较大。

  LVW是一个典型的包裹式选择,它在拉斯维加斯方法框架下使用随机策略来进行子集搜索,并以最终分类器的误差为特征子集评价准则。
  停止条件控制参数 T T T,每一轮中,学习算法为 ∑ ∑ (每轮都需要重新训练),原始属性集合为 A A A,学习算法在 A A A上的误差为 E E E,每一轮随机抽取的特征为 A ∗ A^* A,学习算法在 A ∗ A^* A上的误差为 E ∗ E^* E

  • 每一轮都使用交叉验证;
  • E ∗ E^* E E E E更小,或者误差相当,但 A ∗ A^* A包含的特征数量更少,则将 A ∗ A^* A保留下来。

  由于LVW算法是基于拉斯维加斯方法框架,若初始特征数很多, T T T设置很大,则算法可能运行很长时间都达不到停止条件,换言之,若运行时间有限,则可能给不出解。

附录:
  有时间限制:
  (1)拉斯维加斯方法:给出满足需求解;或者不给出解。
  (2)蒙特卡罗方法:给出满足需求解;给出不满足需求解。
  无时间限制:
  (1)拉斯维加斯方法:给出满足需求的解;
  (2)蒙特卡罗方法:给出满足需求的解。

嵌入式选择

  嵌入式选择是将特征选择过程与学习器训练过程融为一体,二者在同一优化过程中完成,则在学习器训练过程中自动地进行了特征选择。

  以简单的线性回归,损失函数为平方误差为例,目标函数中加入正则项,如 L 1 L_{1} L1范数正则化(LASSO回归)或 L 2 L_{2} L2范数正则化(岭回归),均有助于降低过拟合风险,但前者会带来一个额外的好处:前者比后者更容易获得“稀疏”解,即其求得的解有更少的非零分量(非零分量少,则选择出来的有效特征少,达到特征选择的目的)。

   L 1 L_{1} L1正则化:正则化等值线与平方误差等值线在坐标轴相交;
   L 2 L_{2} L2正则化:正则化等值线与平方误差等值线在某一象限中相交;
  则 L 1 L_{1} L1 L 2 L_{2} L2更容易得到稀疏解。

  故 L [ 1 ] L_[1] L[1]范数正则化可以利用稀疏解获得选择后的特征,则基于 L 1 L_{1} L1范数正则化的学习方法是一种嵌入式特征选择方法,其特征选择过程与学习器训练过程融为一体,同时完成。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

特征选择之过滤式、包裹式、嵌入式 的相关文章

随机推荐

  • 《现代控制系统》第五章——反馈控制系统性能分析 5.3 二阶系统的性能

    现在我们看一个单环二阶系统的单位阶跃响应 一个闭环反馈控制系统如下图所示 已知该闭环系统的转换方程为 把受控系统的转换方程代入进去得到 如果给一个阶跃输入 那么 查拉普拉斯逆变换表我们得到时域输出为 其中 同时也是特征方程在s域的根与原点的
  • 实际项目二次封装axios------request.js和使用

    前言 axios 是一个基于Promise 用于浏览器和 nodejs 的 HTTP 客户端 本质上也是对原生XHR的封装 只不过它是Promise的实现版本 符合最新的ES规范 在项目的实际开发中用到也比较多 这里我介绍一下实际开发中的基
  • 什么是高内聚、低耦合?

    起因 模块独立性指每个模块只完成系统要求的独立子功能 并且与其他模块的联系最少且接口简单 两个定性的度量标准 耦合性和内聚性 耦合性也称块间联系 指软件系统结构中各模块间相互联系紧密程度的一种度量 模块之间联系越紧密 其耦合性就越强 模块的
  • align-items属性

    弹性子元素在 侧轴 交叉轴上的对齐方式 align items stretch 默认值 如果弹性子元素没有高度或高度为auto 将占满整个容器的高度 align items flex start 子元素在侧轴顶端对齐 align items
  • CSS餐厅小游戏练习1~32关(附答案和链接)

    前言 CSS3众多基础常见的选择器都可以小游戏中学习 每天刷一遍 辅助记忆 做好熟练运用CSS3的第一步 小游戏链接 CSS3餐厅练习 玩法 利用各种选择器和选择器之间的关系选中抖动的物体即可通关 文章目录 第一关 Type Selecto
  • postgresql从入门到菜鸟(三)基本命令和窗口函数

    上一篇我们已经在rhel上创建了数据库 并且建立的一张成绩表 之后通过通过客户端连接上服务器端 这一篇将会写一些关于数据库的操作 首先是一些基本的操作的操作如选择数据库 查看表等等 连接至服务器端后可以通过以下命令查看数据库的基本信息 l
  • 记录element-plus + vue3.2 + tsx 开发时的问题

    开发时 select组件无法通过 model value v model value 设置值 查看了一下源码 image png https p1 juejin byteimg com tos cn i k3u1fbpfcp e1e92e6
  • 搞懂了Vue对象与实例的区别!

    很多人把Vue对象和Vue实例混为一谈 但它们还是有区别的 Vue构造函数就像一台智能手机的设计图纸 定义了这款手机的总体结构和组件 而每部依照设计图组装出来的真实手机 就是Vue实例 设计图上注明了屏幕尺寸 CPU型号等静态信息 对应Vu
  • vscode 自动导入包(组件)插件Auto Import安装好后,依旧没有自导导入提示的原因

    在TodoList js中 第一次用AntDesign的
  • Linux系统下搭建(更新)cuda环境

    本人之前ubuntu系统装的是cuda8 因为模型需要升级cuda 因此重新装cuda10 安装和更新cuda和cudnn以及安装和更新显卡驱动 下面操作都适合 一 安装 升级 显卡驱动 升级cuda之前 先要升级显卡驱动 登陆网页http
  • v-show切换显示隐藏失败

    最近在使用element ui时发现使用v show显示某一元素不生效 问题 当切换到日期维度时坐席中心并不会跟着改变 解决方法 将v show替换成v if 总结 v show是不支持template语法的 v if vs v show
  • MySQL分页查询慢怎么办

    今天看到一个问题 MySQL分页查询慢怎么办 第一反应是用limit限制返回的条数 比如 select from table order by idlimit 10 100 实际上我们限制的只是返回的条数是100 并不是查询时就从第10条开
  • java网络编程

    java网络编程 1 1 概述 1 2 网络通信的要素 如何实现网络通信 通信双方地址 地址ip 端口号 127 0 0 1 8080 OSI七层模型 外链图片转存失败 源站可能有防盗链机制 建议将图片保存下来直接上传 img w2Vt3r
  • 测试人遇到难以重现的bug,要怎么办?

    长时间做测试的人 自然也惹上了一堆毛病 譬如 这生了病不叫病 叫做bug 好了 发现bug了第一件事情 重现或者说确认开始了 摸了摸自己的胸口 恩 有点痛 但是又似乎是飘渺的 看来这还是一个难以重现的bug 作为一个资深的测试人员 我们是不
  • 2021斯坦福CS224N课程笔记~4

    4 依存解析 Dependency Parsing 参考文档 https zhuanlan zhihu com p 420736640 https www showmeai tech article detail 237 https zhu
  • 地鼠君黑盒测试--小白功能测试避雷经验分享

    测试计划 接到任务的第一时间 需要快速建档 准备测试计划 测试计划主要有几个侧重点 第一 该项目的截止时间和团队是否确定的阶段时间交付 第二 模块分析图 这一块由于公司小 缺少原型图 常常导致滞后产生 并且这一块花费的时间 笔者发现常常超时
  • centos7.5重启网络服务,网卡ip先显示后消失

    ip地址丢失不见 网卡报错 当重启网卡时 Job for network service failed because the control process exited with error code See systemctl sta
  • Qt+百度AI实现人脸识别之人脸检测

    文章目录 简单需求 Demo运行结果 百度AI人脸识别接入 为什么使用百度AI接口 接入步骤 如何获取Access Token Qt软件开发 人脸检测Qt编程步骤 知识点 网络编程 get put post请求方式的区别简述 POST 提交
  • Ubuntu开机启动项的增删改

    一 在重组系统 或者不想开机启动有太多的内核项显示 可以通过修改grub cfg内的内容进行更正 文件路径 boot grub grub cfg 二 grub cfg的详细内容 DO NOT EDIT THIS FILE It is aut
  • 特征选择之过滤式、包裹式、嵌入式

    常见的特征选择方法 特征选择 过滤式选择 包裹式选择 嵌入式选择 特征选择 从原始特征集合中选出对当前学习任务有用的最重要的一些特征 特征选择的原因 1 维度灾难 由于属性过多 导致维数灾难 若通过特征选择 则能大大减轻这一问题 2 降低学