机器学习第十一章--特征选择与稀疏学习
一、子集搜索与评价
我们将属性称为 “特征”(feature),对当前学习任务有用的属性称为 “相关特征”(relevant feature)、没什么用的属性称为 “无关特征”(irrelevant feature).从给定的特征集合中选择出相关特征子集的过程,称为“特征选择”(feature selection).
有两个很重要的原因:减轻维数灾难问题、降低学习任务的难度.
“冗余特征”(redundant feature):所包含的信息能从其他特征中推演出来.冗余特征在很多时候不起作用,去除它们会减轻学习过程的负担.但有时冗余特征会降低学习任务的难度.
“子集搜索”(subset search)::
- “前向”(forward)搜索:初始将每个特征当做一个候选特征子集,然后从当前所有的候选子集中选择出最佳的特征子集;接着在上一轮选出的特征子集中添加一个新的特征,同样地选出最佳特征子集;最后直至选不出比上一轮更好的特征子集。
- “后向”(backward)搜索:初始将所有特征作为一个候选特征子集;接着尝试去掉上一轮特征子集中的一个特征并选出当前最优的特征子集;最后直到选不出比上一轮更好的特征子集。
- “双向”(bidirectional)搜索:将前向搜索与后向搜索结合起来,即在每一轮中既有添加操作也有剔除操作。
“子集评价”(subset evaluation):
给定数据集D,假定D中第i类样本所占的比例为.假定样本属性均为离散型.对属性子集A,假定根据其取值将D分成了V个子集
,每个子集中的样本在A上取值相同,属性子集A的信息增益:


将特征子集搜索机制与子集评价机制相结合,即可得到特征选择方法.
常见的特征选择方法大致可分为三类:过滤式(filter)、包裹式(wrapper)和嵌入式(embedding).
二、过滤式选择
过滤式方法先对数据集进行特征选择,然后再训练学习器.
Relief (Relevant Features)设计了一个“相关统计量”来度量特征的重要性.该统计量是一个向量,其每个分量分别对应于一个初始特征,最终只需指定一个阈值r,然后选择比T大的相关统计量分量所对应的特征即可;也可指定欲选取的特征个数k,然后选择相关统计量分量最大的k个特征.
Relief的关键是如何确定相关统计量.给定训练集{},对每个示例
,,Relief 先在
的同类样本中寻找其最近邻
,称为“猜中近邻”(near-hit),再从
的异类样本中寻找其最近邻
,称为“猜错近邻”(near-miss),然后,相关统计量对应于属性j的分量为
![]()
Relief是为二分类问题设计的,其扩展变体Relief-F能处理多分类问题.其相关统计量对应于属性j的分量为:
![]()
三、包裹式选择
包裹式特征选择直接把最终将要使用的学习器的性能作为特征子集的评价准则.
包裹式特征选择比过滤式特征选择更好,计算开销通常更大.
LVW (Las Vegas Wrapper)在拉斯维加斯方法(Las Vegas metnod)框架下使用随机策略来进行子集搜索,并以最终分类器的误差为特征子集评价准则.
算法描述:

若有运行时间限制,则有可能给不出解.
四、 嵌入式选择与
正则化
嵌入式特征选择是将特征选择过程与学习器训练过程融为一体,两者在同一个优化过程中完成,即在学习器训练过程中自动地进行了特征选择.
给定数据集
我们考虑最简单的线性回归模型,以平方误差为损失函数,则优化目标为
![]()
当样本特征很多,而样本数相对较少时,上式很容易陷入过拟合.为了缓解过拟合问题,可对上式引入正则化项.
若使用
范数正则化,则有“岭回归”(ridge regression)
采用
范数,则有LASSO (Least Absolute Shrinkage andSelection Operator)
范数和
范数正则化都有助于降低过拟合风险,
比
更易于获得“稀疏”(sparse)解,即它求得的w会有更少的非零分量.

L正则化问题的求解可使用近端梯度下降(Proximal Gradient Descent,简称PGD) .具体来说,令表示微分算子,对优化目标
![]()
若f(x可导,且f满足L-Lipschitz条件,即存在常数L>0使得
![]()
则在附近可将f(x)通过二阶泰勒展式近似为

![]()
推广到正则化,加一个正则项求最小值:
![]()
得到每个分量的解:

五、稀疏表示与字典学习
为普通稠密表达的样本找到合适的字典,将样本转化为合适的稀疏表示形式,从而使学习任务得以简化,模型复杂度得以降低,通常称为“字典学习”(dictionary learning)(侧重于学得字典的过程),亦称“稀疏编码”(sparse coding)(侧重于对样本进行稀疏表达的过程).下面不做区分。
给定数据集,字典学习最简单的形式为
![]()
受LASSO的启发,我们可采用变量交替优化的策略来求解式.
首先在第一步,我们固定住字典B,为每个样本找到相应的
:
![]()
在第二步,我们固定住来更新字典B:
![]()
基于逐列更新策略的KSVD:令表示字典矩阵B的第i列,
表示稀疏矩阵A的第i行,上式可重写为

六、压缩感知
现实,常对数据进行压缩,方便处理,但在传递的时候,因为各种情况会出现信息损失,通过压缩感知来解决这个问题
假定我们以远小于奈奎斯特采样定理要求的采样率进行采样,即
这个信号是无法还原出原信号的
但现在假定可以,
压缩感知关注的是如何利用信号本身所具有的稀疏性,从部分观测样本中恢复原信号.
通常认为,压缩感知分为“感知测量”和“重构恢复”这两个阶段.
- “感知测量”关注如何对原始信号进行处理以获得稀疏样本表示,这方面的内容涉及傅里叶变换、小波变换以及1字典学习、稀疏编码等,不少技术在压缩感知提出之前就已在信号处理等领域有很多研究;
- “重构恢复”关注的是如何基于稀疏性从少量观测中恢复原信号,这是压缩感知的精髓,当我们谈到压缩感知时,通常是指该部分.
“限定等距性”(Restricted Isometry Property,简称RIP):
对大小为n * m的矩阵A,若存在常数δk ∈(0,1)使得任意向量s和A的所有子矩阵Ak∈Rn*k有
![]()
则称A满足k限定等距性。通过下面优化近乎完美的从y中恢复出稀疏信号s,进而恢复x:

范数的最小化是一个NP难题,
范数最小化在一定条件下与
最小化共解,则:

该式可以转化为LASSO的等价形式通过近端梯度下降求解,即“基寻踪去噪”。
相关文章:
机器学习第十一章--特征选择与稀疏学习
一、子集搜索与评价 我们将属性称为 “特征”(feature),对当前学习任务有用的属性称为 “相关特征”(relevant feature)、没什么用的属性称为 “无关特征”(irrelevant feature).从给定的特征集合中选择出相关特征子集的过程&…...
dm 到 dm 的 HS 同步部署
一、数据库部署 完成两节点数据库部署并初始化,配置参数如下: 节点 192.168.2.132 192.168.2.133 数据库版本 DM8 DM8 实例名 DM1 DM2 端口号 5236 5236 数据文件路径 /home/dmdba/dmdata /home/dmdba/dmdata 二、 dmhs 部署 1. 部署…...
ShardingSphere、雪花算法、分布式id生成器CosID概述
ShardingSphere 用处:sharding是分片的意思,sphere是球(生态的意思)。用来做分库分表的生态的。一个订单表太大,查询会很慢,要分表,分为3个表,这样查询会快一点,所以有了…...
hive学习(四)
一、分区表的数据导入 1.静态分区(需要手动指定分区字段的值) 直接将文件数据导入到分区表 语法:load data [local] inpath filepath into table tablename partition(分区字段1分区值1, 分区字段2分区值2...); load data [local] inpat…...
UniAD_面向规划的自动驾驶
Planning-oriented Autonomous Driving 面向规划的自动驾驶 https://github.com/OpenDriveLab/UniAD Abstract Modern autonomous driving system is characterized as modular tasks in sequential order, i.e., perception, prediction, and planning. In order to perfor…...
《现代情报》
《现代情报》简介 《现代情报》(原名《情报知识》)杂志是由吉林省科学技术厅主管,吉林省科学技术信息研究所、中国科学技术情报学会联合主办的信息资源管理领域综合性学术期刊。该刊于1980年创刊,每年12期。重点报道服务于国家战略…...
2024年最新上榜的文件加密管理软件
文件加密市场风起云涌,后辈迭出,2024年安企神软件在文件加密管理软件市场中备受瞩目,凭借其强大的功能和全面的保护策略,成功上榜并受到广泛认可。以下是对它的详细介绍: 一、产品概述 安企神软件不仅是一款电脑监控…...
Matplotlib库学习之scatter(模块)
Matplotlib库学习之scatter(模块) 一、简介 Matplotlib 是 Python 中一个强大的绘图库,其中 matplotlib.pyplot.scatter 用于创建散点图。散点图在数据可视化中广泛用于展示两个变量之间的关系。 二、语法和参数 语法 matplotlib.pyplot.scatter(x, y, sNone, c…...
脑网络相似性:方法与应用
摘要 图论方法已被证明是理解、表征和量化复杂大脑网络的有效工具。然而,定量比较两个图形的方法却较少受到关注。在一些网络神经科学应用中,比较大脑网络确实是必不可少的。在这里,本研究讨论了近年来用于比较大脑网络的技术现状、挑战以及…...
【JavaEE】深入MyBatis:动态SQL操作与实战项目实现指南
目录 MyBatis的进阶操作动态SQL<if>标签<trim>标签<where>标签<set>标签<foreach>标签<include>标签 练习表白墙数据准备引⼊MyBatis 和 MySQL驱动依赖配置MySQL账号密码编写后端代码测试 图书管理系统数据库表设计引⼊MyBatis 和MySQL 驱…...
Linux 实操-权限管理:深入了解rwx的作用
😀前言 本篇博文是关于Linux文件权限管理的基本知识和实际操作,希望你能够喜欢 🏠个人主页:晨犀主页 🧑个人简介:大家好,我是晨犀,希望我的文章可以帮助到大家,您的满意是…...
Linux 系统编程 --- day3
目录 1. fileno 2.fdopen 3. 目录操作 3.1 opendir 3.2 readdir 3.3 closedir 3.4 实现 ls 命令的功能 4. chdir (相当于cd命令) 5. getcwd (相当于pwd命令) 6. mkdir 7. rmdir (相当于rm命令&a…...
centos从home分区分配空间到根分区
在安装centos系统时如果采用默认自动分区,则会默认只给根分区分配50G空间,其余多余的会被分配到home分区,而作为家用服务器或仅个人使用的话,为了方便往往根分区会不够用而home分区几乎没使用。 先看下现在的磁盘结构和容量(xfs文…...
设计模式实战:即时通讯应用的设计与实现
系统功能需求 用户管理:支持用户注册、登录、注销、个人信息更新等功能。消息传递:支持即时消息发送、接收、存储和显示,支持文本、图片、语音等多种消息类型。在线状态管理:实时跟踪和显示用户的在线状态。消息通知:在消息到达时发送推送通知给用户。聊天记录管理:支持聊…...
白骑士的C#教学实战项目篇 4.3 Web开发
系列目录 上一篇:白骑士的C#教学实战项目篇 4.2 图形用户界面(GUI)应用 在这一部分,我们将从桌面应用程序扩展到 Web 开发。Web 开发是现代软件开发的重要领域,涵盖了从前端用户界面到后端服务器逻辑的完整堆栈。在这…...
【数据分析】(交互) 延迟互信息(熵、概率密度、高斯核、带宽估计)
文章目录 一、互信息基础二、延迟互信息2.1 交互延迟互信息三、时间序列互信息中的概率计算(高斯核密度估计)四、python 示例补充 1:熵熵的定义熵的性质熵的单位和对数底数熵的最大值高熵、低熵的分辨补充 2:概率密度 和 高斯核概率密度高斯核拓展3 :核密度函数带宽估计在…...
html转vue项目
HTML是一种用于构建网页的标记语言,而Vue是一种用于构建用户界面的JavaScript框架。在HTML中使用Vue可以提供更加灵活和动态的用户界面功能。本文将介绍如何将HTML代码转换为Vue,并提供具体的代码示例。 首先,我们需要在项目中引入Vue框架。…...
.NET系列 定时器
net一共4种定时器 System.Windows.Forms.Timer 类型 》》WinForm专用System.Windows.Threading.DispatcherTime类型》》WPF专用System.Threading.Timer类型》》》它使用 ThreadPool 线程来执行定时操作System.Timers.Timer类型 》》这种很老了。 它使用基于底层计时…...
【Golang】火焰图空白部分是什么?
起因 被同事灵魂拷问:图中这块空白是什么东西? 豆包回答说是数据采样不完整,特定函数或代码段未被调用之类的原因,感觉都不太合理。 之前看过一篇文章说:Heap Profiling的采样是无时无刻不在发生的,执行…...
Web框架 --- 解析Web请求 [FromBody] [FromQuery] [FromRoute] [FromHeader]
Web框架 --- 解析Web请求 [FromBody] [FromQuery] [FromRoute] [FromHeader] [FromBody][FromQuery][FromRoute] or [FromUri][FromHeader] [FromBody] FromBody 属性在使用 application/json 内容类型并在正文中传递 JSON 时使用通常情况下,FromBody 在一个操作中只…...
从 14 万美元支付事故看:AI 写的代码过了所有测试,为什么活不过生产?
我审计过的一家科技公司,曾因一段 AI 生成的异步支付处理代码,遭遇了一场灾难性的生产事故。这段代码完美通过了所有自动化检查、单元测试与集成测试,标注着「All checks passed」被顺利合并到生产环境,最终却触发了竞态条件与重复…...
5分钟精通B站音频提取:从新手到高手的开源工具实战指南
5分钟精通B站音频提取:从新手到高手的开源工具实战指南 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader 😳 项目地址: https://gitcode.com/gh_mirrors/…...
数据仓库核心建模:星型模型与雪花模型全面对比与实战选择
数据仓库核心建模:星型模型与雪花模型全面对比与实战选择一、引言二、定义:什么是星型模型?什么是雪花模型?2.1 星型模型:定义2.2 雪花模型:定义三、结构流程图:直观对比两种模型3.1 星型模型流…...
Qwen2.5-Coder-1.5B应用案例:自动生成Bash脚本处理日志文件
Qwen2.5-Coder-1.5B应用案例:自动生成Bash脚本处理日志文件 1. 日志处理场景与痛点分析 1.1 运维工程师的日常挑战 在服务器运维工作中,日志分析是最常见也最耗时的任务之一。想象一下这样的场景: 你需要检查10台服务器上50个不同的服务日…...
2026最权威的六大降重复率工具解析与推荐
Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 飞速发展的人工智能技术,正深切地重塑着学术写作的范式,当下…...
保姆级教程:在PVE 8.3上搞定Windows 11和Server 2025的VirtIO驱动安装与优化
PVE 8.3虚拟化环境下的Windows系统性能优化全攻略 在虚拟化技术日益普及的今天,Proxmox VE(PVE)作为开源的虚拟化平台,因其稳定性和灵活性受到众多技术爱好者和企业用户的青睐。然而,许多用户在PVE上部署Windows系统时…...
从理论到实践:基于状态观测器的闭环系统设计与MATLAB仿真
1. 当状态看不见时,我们如何控制一个系统? 想象一下你在驾驶一辆汽车,但仪表盘全部失灵——看不到车速、转速、油量,甚至连方向盘转角都不知道。这时候如果要保持车道,你会怎么做?这就是控制工程中经典的状…...
ESXI系统安装全流程详解:从U盘启动到网络配置
1. 制作ESXI系统U盘启动盘 准备一个容量至少8GB的U盘,建议使用USB3.0接口的高速U盘,这样写入速度会快很多。我实测过,用USB2.0的U盘写入一个ESXI镜像可能需要20分钟,而USB3.0通常5分钟就能搞定。 首先需要下载两个关键文件&#x…...
SMAPI模组加载器全方位指南:从安装到高效管理星露谷物语模组
SMAPI模组加载器全方位指南:从安装到高效管理星露谷物语模组 【免费下载链接】SMAPI The modding API for Stardew Valley. 项目地址: https://gitcode.com/gh_mirrors/smap/SMAPI 作为开源工具的SMAPI模组加载器,是星露谷物语玩家扩展游戏体验的…...
快速掌握C#语言基础知识点(17.委托)
关注我的动态 namespace _17.委托 {public delegate void doMyAction(); //委托,无参,无返回值public delegate int doPlus(int a, int b);//委托,有参,有返回值internal class Program{//委托成员变量public static doMyAction a…...


