当前位置: 首页 > news >正文

周志华《机器学习导论》第11章 特征选择与稀疏学习

目录

1. 子集搜索与评价(怎么选特征子集  好子集的指标)

2. 过滤式选择 + Relief(不管学习器 先筛一下)

3. 包裹式选择 + LVW(为学习器量身定做)

4. 嵌入式选择与L1正则化(边筛边训 正则化)

5. 稀疏表示与字典学习(特征提取 最好的特征与最好的字典)

6. 压缩感知(把压缩过的信号 稀疏表示后 恢复出原信号)

k限定等距性RIP

应用:书籍推荐问题


1. 子集搜索与评价(怎么选特征子集  好子集的指标)

维度灾难 选择与当前学习任务比较相关的特征 进行训练

冗余特征:比如已知立方体的长宽高 底面积就是冗余特征 可以由其他特征得到

但可能会降低学习任务的难度 比如用表面积和高 能够更好的学习体积

如何选择特征子集,评价特征子集的好坏?

贪心式的双端“子集搜索” 从空集开始加 加入后使得总体效果最好的特征;也可以删最无关的特征

子集评价”评估特征对分类的帮助 用信息增益 可参考决策树那部分

下文将阐释三种特征选择方法

2. 过滤式选择 + Relief(不管学习器 先筛一下)

先对数据集进行特征选择,然后再训练学习器,特征选择过程与后续学习器无关

Relief (Relevant Features) 二分类问题  对每个特征计算相关统计量 选择值最大的几个

先在其同类样本中寻找最近邻xi,nh,称为“猜中近邻

再在其异类样本中寻找最近邻xi,nm,称为“猜错近邻”     对于样本xi,属性j

猜错间距-猜中间距  代表j 在样本区分的帮助性 然后再对i个样本进行求和

多分类问题变形为Relief-F; 多种类 对每个类找猜错近邻 再按种类样本数目放缩权重

3. 包裹式选择 + LVW(为学习器量身定做)

针对给定学习器选择最有利于其性能、 “量身定做”的特征子集

(1)随机产生特征子集   

(2)使用交叉验证 如果性能更好(误差小 或者误差同特征数少)则替换为最优解

(3)如果连续T次没有更新答案 就退出循环

与过滤式相比 最终学习器的性能更好; 但因为需多次训练学习器 计算开销会大很多

4. 嵌入式选择与L1正则化(边筛边训 正则化)

特征选择过程与学习器训练过程同时完成

正则化项: L2范数岭回归;   L1范数LASSO 更易于获得“稀疏”(sparse)解 w非零变量少

L1正则化问题的求解可使用近端梯度下降(PGD)迭代求解

如果先不考虑正则化系数 仅有f(x)

 

所以进行的迭代为

如果加上正则化系数 最小化目标为

 

 因为每个分量独立 可解得

5. 稀疏表示与字典学习(特征提取 最好的特征与最好的字典)

若把数据集看做一个矩阵 每一行代表一个样本 每一列代表一个特征 特征选择即选择列

稀疏表示可以去除无关列 降低学习难度与计算开销 提高模型的解释性。

字典学习的目标:提取事物/任务 最本质的特征(类似于字典当中的字或词语)

就像话语是通过字词的排列组合 可以用这个字典里的特征表示这一类的所有事物

字典好不好:取决提取的特征是否稀疏 是否为任务的本质特征

 进行反复迭代 (1)先固定字典B 求到每个x 最好的α表示;

(2)再固定α求最好的字典B。    反复这两步。

字典d维度=任务样本x的维度   k维度为存了多少基本的字/词 特征;可以通过控制k控制字典大小。

6. 压缩感知(把压缩过的信号 稀疏表示后 恢复出原信号)

对模拟信号采样得数字信号 信息传递时又需压缩数字信号,目标可精确重构原信号

假定有长度为m的离散信号x,采样得长度为n的采样后信号y, 使用测量矩阵φ 短了很多n<<m

正过来得到压缩后的值很容易   如何实现已知y 反推x?

有难度 因为从信息少的返回信息多的 可能对应很多信息多的解(欠定方程)

 

若有    则

若根据y能恢复出稀疏的s 再用s恢复x

压缩感知:先获得原信号的稀疏表示; 再利用稀疏性,从少量观测样本中恢复原信号

k限定等距性RIP

找到合适的矩阵A 恢复s  条件y=As  Min= s的零范数(非零元素个数)

L1 范数最小化在一定条件下与L0 范数最小化问题共解 所以可以转化为LASSO形式

应用:书籍推荐问题

假设获得一些读者对于书的评价

没有书被所有人度过 也没有人读过所有书 所以相当于很多值是缺失的 需要恢复出完全的值

压缩感知技术恢复欠采样信号的前提条件之一是 信号有稀疏表示

书籍的特征有 题材、作者等     题材数远小于书本数 所以满足稀疏性

矩阵补全问题 可写成找一个秩最小的矩阵X 并且矩阵X对应位置与A有效值位置数相同

转化为最小化 核范数(奇异值之和)

http://www.dtcms.com/a/288959.html

相关文章:

  • 机器学习-数据预处理
  • 闲庭信步使用图像验证平台加速FPGA的开发:第二十六课——正弦波DDS的FPGA实现
  • leetcode75【经典动态规划】之:最长公共子序列
  • nginx源码解读-------整体架构
  • 30天打牢数模基础-LightGBM讲解
  • 网络地址和主机地址之间进行转换的类
  • springboot电影推荐网站—计算机毕业设计源码—30760
  • 在Ubutu22系统上面离线安装Go语言环境【教程】
  • 【开源项目】基于RuoYi-Vue-Plus的开源进销存管理系统
  • Spring之AOP面向切面编程详解
  • 软件工程学概述:从危机到系统化工程的演进之路
  • MySQL详解三
  • Java 字符集(Charset)详解:从编码基础到实战应用,彻底掌握字符处理核心机制
  • 文件编码概念|文件的读取操作|文件读取的课后练习讲解
  • 数据治理,治的是什么?
  • 0719代码调试记录
  • 【星海出品】python安装调试篇
  • 网络安全隔离技术解析:从网闸到光闸的进化之路
  • Spring Boot总结
  • RabbitMQ核心组件浅析:从Producer到Consumer
  • 深入理解设计模式:访问者模式详解
  • 深入理解浏览器解析机制和XSS向量编码
  • Java中List<int[]>()和List<int[]>[]的区别
  • React-Native开发环境配置-安装工具-创建项目教程
  • 数据并表技术全面指南:从基础JOIN到分布式数据融合
  • Pinia 核心知识详解:Vue3 新一代状态管理指南
  • 六边形滚动机器人cad【7张】三维图+设计书明说
  • [数据库]Neo4j图数据库搭建快速入门
  • 反激电源中的Y电容--问题解答
  • Python类中方法种类与修饰符详解:从基础到实战