八、西瓜书——特征选择与稀疏学习

1.子集搜索与评价

        对于1个学习任务来说,给定属性集,其中有些属性可能很关键、很有用,另一些属性则可能没什么用,我们将属性称为“特征”(feature),对当前学习任务有用的属性称为“相关特征”(relevant feature)、没什么用的属性称为“无关特征”(irrelevant feature).从给定的特征集合中选择出相关特征子集的过程称为“特征选择”(feature selection).

进行特征选择的原因:

        有两个很重要的原因:

  • 首先,我们在现实任务中经常会遇到维数灾难问题,这是由于属性过多而造成的,若能从中选择出重要的特征,使得后续学习过程仅需在一部分特征上构建模型,则维数灾难问题会大为减轻.
  • 第二个原因是,去除不相关特征往往会降低学习任务的难度。

特征选择有两个环节,第一个环节是子集搜索,第二个环节是子集评价。 

        子集搜索是一种在特征选择中常用的策略,主要目的是从初始的特征集合中选取一个包含了所有重要信息的特征子集。这种策略的背景在于,当面对大量的特征时,如果直接对所有可能的特征子集进行遍历,可能会遭遇组合爆炸的问题,即需要评估的特征子集数量过于庞大,导致计算成本过高。

        为了解决这个问题,子集搜索采用了一种贪心的策略。这种策略并不追求全局最优解,而是在每一步选择中都采取当前状态下最好或最优(即最有利)的选择,从而希望导致结果是全局最好或最优的算法。在特征选择中,这种贪心策略表现为每次从候选特征子集中选择出最优的一个或多个特征加入已选特征子集,或者从已选特征子集中删除最不重要的一个或多个特征。

        子集搜索的具体实现方式有很多种,其中比较典型的有前向搜索和后向搜索。

  • 前向搜索是从空集开始,逐渐添加特征到特征子集中,直到达到某个停止条件。
  • 后向搜索则是从全集开始,逐渐删除特征,直到达到某个停止条件。

        这两种搜索方式都可以根据评价函数的结果来调整特征子集的选择。 

        总的来说,子集搜索是一种有效的特征选择策略,它可以在降低计算成本的同时,尽可能地保留重要的特征信息。但是需要注意的是,由于贪心策略的存在,子集搜索可能会陷入局部最优解,而无法得到全局最优解。因此,在使用子集搜索时,需要根据具体的问题和数据情况来选择合适的搜索方式和评价函数。

        子集评价可采用决策树的信息增益评价方法,即:

 

        将特征子集搜索机制与子集评价机制相结合,即可得到特征选择方法.例如将前向搜索与信息熵相结合,这显然与决策树算法非常相似.事实上,决策树可用于特征选择,树结点的划分属性所组成的集合就是选择出的特征子集.其他的特征选择方法未必像决策树特征选择这么明显,但它们在本质上都是显式或隐式地结合了某种(或多种)子集搜索机制和子集评价机制.
        常见的特征选择方法大致可分为三类: 过滤式(flter)、包式(wrapper)和嵌入式(embedding) 

2.过滤式选择

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

        Relief是一种著名的过滤式特征选择方法,Relief算法设计了一个“相关统计量”来度量特征的重要性。这个统计量实际上是一个向量,它的每个分量都对应着一个特征,而该分量的值就代表着对应特征的重要性。对于数据集中的每个样例,Relief会首先找到与它同类别的最近邻样本(称为“猜中近邻”)和与它不同类别的最近邻样本(称为“猜错近邻”)。然后,基于这些近邻样本的信息,Relief会计算出每个特征的相关统计量分量。具体来说,对于某个特征,如果它与猜中近邻在该特征上的距离较小,而与猜错近邻在该特征上的距离较大,那么这个特征就被认为是重要的。

 

        在实际应用中,可以根据相关统计量分量的大小来选择特征。例如,可以设定一个阈值,只选择那些相关统计量分量大于该阈值的特征;或者指定想要选择的特征个数k,然后选择相关统计量分量最大的k个特征。

        Relief算法不仅适用于二分类问题,还可以通过扩展来处理多分类问题和回归问题。例如,针对多分类问题,可以为每个类别都找到对应的猜错近邻,并据此计算相关统计量;针对回归问题,可以考虑将目标属性视为连续值来处理。

 

3.包裹式选择 

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

        一般而言,由于包裹式特征选择方法直接针对给定学习器进行优化。因此从最终学习器性能来看,包裹式特征选择比过滤式特征选择更好,但另一方面,由于在特征选择过程中需多次训练学习器,因此包裹式特征选择的计算开销通常比过滤式特征选择大得多.
        LVW(Las Vegas Wrapper)[Liu and Setiono,1996] 是一个典型的包裹式特征选择方法,它在拉斯维加斯方法(Las Vegas method)框架下使用随机策略来进行子集搜索,并以最终分类器的误差为特征子集评价准则。

4.嵌入式选择与L1正则化

        嵌入式特征选择是一种将特征选择过程与学习器训练过程融为一体的方法,两者在同一个优化过程中完成,即在学习器训练过程中自动地进行了特征选择。这种方法有助于在学习过程中直接确定哪些特征对于模型的预测性能最为重要。

        L1正则化是一种在损失函数中引入的范数,用于降低过拟合的风险。与L2范数相比,L1范数更易于获得“稀疏”解,即它求得的权重向量会有更少的非零分量。这种稀疏性意味着初始特征中仅有对应着非零权重的特征才会出现在最终模型中。因此,L1正则化可以被视为一种嵌入式特征选择方法,它在学习过程中自动地进行了特征选择。

        正如上图所示,L2正则化的超平面可以看做一个圆形,而L1可以看做一个菱形,L1正则化的最优解往往在坐标轴上取得,即分量为0。

5.稀疏表示与字典学习

        当样本具有这样的稀疏表达形式时,对学习任务来说会有不少好处,例如线性支持向量机之所以能在文本数据上有很好的性能,恰是由于文本数据在使用上述的字频表示后具有高度的稀疏性,使大多数问题变得线性可分.同时,稀疏样本并不会造成存储上的巨大负担,因为稀疏矩阵已有很多高效的存储方法。

        字典学习在稀疏表示中扮演着关键角色,其目标是从原始数据中构建一个过完备的字典(比原始数据空间更高维度),使得该字典能够稀疏地表示这些原始数据。这个字典是由一系列基本信号或原子组成的,这些原子可以视为数据空间中的基向量。原始信号则可以通过这些原子的线性组合来近似表示。

        字典学习的过程实际上是一个优化问题,其核心思想是通过迭代优化算法不断更新字典和相应的稀疏表示,以达到最小化重构误差和满足稀疏性约束的目的。在这个过程中,重构误差反映了用字典中的原子线性组合来表示原始信号时的准确度,而稀疏性约束则要求这种表示尽可能简洁,即只有少量的原子被用于表示每个原始信号。

6.压缩感知

        压缩感知在机器学习的理论中,可以被视为一种将经典机器学习理论与数据压缩技术结合的新兴方法,旨在提高机器学习的性能。这种方法主要利用信号在某个变换域上的稀疏性,通过选择合适的变换基进行信号的变换,使信号在该变换域上的表示变得稀疏。然后,通过较低的采样率对信号进行采样,获取较少的采样数据。最后,利用这些采样数据和信号在变换域上的稀疏表示,通过优化算法恢复原始信号。        

        

                

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/436010.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于springboot的车辆充电桩管理系统(系统+数据库+文档)

** 🍅点赞收藏关注 → 私信领取本源代码、数据库🍅 本人在Java毕业设计领域有多年的经验,陆续会更新更多优质的Java实战项目,希望你能有所收获,少走一些弯路。🍅关注我不迷路🍅** 一、研究背景…

航天民芯一级代理 MT3608 MT3608L 升压转换器 1.2MHZ

MT3608/MT3608L是恒定频率的6引脚SOT23电流模式升压转换器,适用于小型、低功耗应用。MT3608在1.2MHz,允许使用微小、低成本的频率高度不超过2mm的电容器和电感器。内部软启动可实现较小的浪涌电流和延长电池寿命。MT3608具有自动切换到脉冲的功能轻负载下…

CGAL 5.6.1 - Algebraic Foundations

1. 引言 CGAL 的目标是精确计算非线性对象,特别是定义在代数曲线和曲面上的对象。因此,表示多项式、代数扩展和有限域的类型在相关的实现中扮演着更加重要的角色。为了跟上这些变化,我们引入了这个软件包。由于引入的框架必须特别支持多项式…

安卓玩机工具推荐----高通芯片9008端口读写分区 备份分区 恢复分区 制作线刷包 工具操作解析

上期解析了下adb端口备份分区的有关操作 安卓玩机工具推荐----ADB状态读写分区 备份分区 恢复分区 查看分区号 工具操作解析 在以往的博文中对于高通芯片机型的分区读写已经分享了很多。相关类似博文 安卓备份分区----手动查询安卓系统分区信息 导出系统分区的一些基本操作 …

前端实现一个绕圆心转动的功能

前言: 今天遇到了一个有意思的需求,如何实现一个元素绕某一个点来进行圆周运动,用到了一些初高中的数学知识,实现起来还是挺有趣的,特来分享🎁。 一. 效果展示 我们先展示效果,如下图所示&…

【NR 定位】3GPP NR Positioning 5G定位标准解读(六)

前言 3GPP NR Positioning 5G定位标准:3GPP TS 38.305 V18 3GPP 标准网址:Directory Listing /ftp/ 【NR 定位】3GPP NR Positioning 5G定位标准解读(一)-CSDN博客 【NR 定位】3GPP NR Positioning 5G定位标准解读(…

JavaScript基础Ⅱ

目录 第2章 JavaScript基础语法(掌握) 11-JS代码调试 12-JS函数 第3章 JS事件 14-事件的绑定方式 常用事件(了解) 15-常用事件 第4章 JS内置对象(掌握) 16-数组 17-日期 18-数学运算 19-数字 20-全局函数 第2章 JavaScript基础语法(掌握) 11-JS代码调试 12-JS函数…

青少年如何从零开始学习Python编程?有它就够了!

文章目录 写在前面青少年为什么要学习编程 推荐图书图书特色内容简介 推荐理由粉丝福利写在最后 写在前面 本期博主给大家带来一本非常适合青少年学习编程的图书,快来看看吧~ 青少年为什么要学习编程 青少年学习编程,就好比在他们年轻时就开始掌握一种…

基于单片机的医院输液系统设计

目 录 摘 要 Ⅰ Abstract Ⅱ 引 言 1 1系统方案设计与论证 3 1.1系统硬件结构总体设计方案 3 1.2点滴速度测量电路方案的选择与论证 3 1.3液面检测电路方案的选择与论证 4 1.4通过电机控制滴速电路的方案与论证 4 1.5显示器接口电路方案选择与论证 5 1.6键盘接口电路方案选择与…

1.2_3 TCP/IP参考模型

文章目录 1.2_3 TCP/IP参考模型(一)OSI参考模型与TCP/IP参考模型(二)5层参考模型(三)5层参考模型的数据封装与解封装 1.2_3 TCP/IP参考模型 (一)OSI参考模型与TCP/IP参考模型 TCP/I…

Xilinx 7系列 FPGA硬件知识系列(一)——FPGA选型参考

目录 1.1 Xilinx-7系列产品的工艺级别 ​编辑1.2 Xilinx-7系列产品的特点 1.2.1 Spartan-7系列 1.2.2 Artix-7系列 1.2.3 Kintex-7系列 1.2.4 Virtex-7系列 1.3 Xilinx-7系列FPGA对比 1.3.1 DSP资源柱状图 ​1.3.2 Block RAM资源柱状图 ​1.3.3 高速串行收…

Neoverse CSS N3:实现市场领先能效的最快途径

区分老的架构 从云到边缘,Arm Neoverse 提供无与伦比的性能、效率、设计灵活性和 TCO 优势,正在颠覆传统基础设施芯片。 我们看到云和超大规模服务运营商正在推动更高的计算密度。随着 128 核心 CPU 设计上市(Microsoft Cobalt、阿里巴巴 Y…

搭建Zabbix监控系统

概述 Zabbix是一个基于Web界面的企业级开源监控套件,提供分布式系统监控与网络监视功能。具 备主机的性能监控,网络设备性能监控,数据库性能监控,多种告警方式,详细报表、图表的绘制等 功能。监测的对象可以是Linux或 …

PB-03F 模组烧录流程

文章目录 前言一、准备1. 器材2. 软件(1)点击下面链接下载固件烧录工具(2)点击下面链接下载固件包(3)解压文件 二、烧录1. 打开PhyPlusKit...软件2. 选择串口及波特率并打开串口3. 选择文件并输入MAC地址4.…

【Flink网络数据传输(3)】RecordWriter的能力:实现数据分发策略或广播到下游InputChannel

文章目录 一.创建RecordWriter实例都做了啥1. 根据recordWrites数量创建不同的代理类2. 创建RecordWriters3. 单个RecordWriter的创建细节 二. RecordWriter包含的主要组件1. RecordWriter两种实现类分别实现分发策略和广播2. ChannelSelectorRecordWriter的发送策略2.1. Chann…

Qwen-Agent自定义Tool

qwen-agent项目部署 1、下载qwen-agent https://github.com/QwenLM/Qwen-Agent2、安装依赖环境 pip3 install -r requirements.txt自定义Tool cd qwen_agent/tools参考其他的工具,我这里创建了一个查询手机号归属地的工具get_mobile_address.py: im…

php常见的45个漏洞及解决方案

[TOC](太多了,目录只列出最重要的几个,剩下的同学们自己翻) PHP作为一种广泛应用的服务器端脚本语言,在历史上曾曝出过多种安全漏洞。以下是一些PHP漏洞的类别及其简要解释,以及如何解决这些问题&#xff1…

vue3引入字体

一、首先挑选字体 推荐个网站: DaFont - Download fonts 这个网站里面有很多字体供我们下载。点击圈起来的地方可以选择不同的字体样式预览。 英文不好就翻译一下吧(狗头)。 二、使用 比如我点击LCD类型的,数码类型的。 点击输…

视频剪辑如何提取伴奏?短视频剪辑有妙方

在多媒体处理中,音频的编辑和处理是不可或缺的一部分。很多时候,我们可能想要从一段视频或音频中提取伴奏,或者实现人声的分离,以便于进一步制作或混音。以下,将为您介绍一种简单而有效的方法来实现这一目标。 一、提取…

Docker部署ruoyi前后端分离项目

目录 一. 介绍前后端项目 二. 搭建局域网 2.1 创建网络 2.2 注意点 三. Redis 3.1 安装 3.2 配置redis.conf文件 3.3 测试 四. 安装MySQL 4.1 安装 4.2 配置my2.cnf文件 4.3 充许远程连接 五. 若依部署后端服务 5.1 数据导入 5.2 使用Dockerfile自定义镜像 5.3 运行…