热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

模式识别学习笔记:第七章特征选择

本系列博客主要是在学习《模式识别(张学工著第三版)》时的一些笔记。本文地址:http:blog.csdn.netshanglianlmarticledetails494

本系列博客主要是在学习《模式识别(张学工著 第三版)》时的一些笔记。
本文地址:http://blog.csdn.net/shanglianlm/article/details/49464445

1. 前言

1-1 问题:

D 维特征中选择 d<D 个特征。

1-2 特征选择主要回答两个层面的问题:

  1. 对特征的评价,即怎样衡量一组特征对分类的有效性;
  2. 寻优的算法,即怎样更快地找到性能最优或比较好的特征组合。

2. 特征的评价准则

类别可分性准则:
这里写图片描述

2-1 基于类内类间距离的可分性判据

投影到另一空间后,类内离散度尽可能小、类间离散度尽可能大的准则来确定最佳的投影方向。

这里写图片描述
这里写图片描述
这里写图片描述

2-2 基于概率分布的可分性判据

这里写图片描述

常见的概率距离度量

这里写图片描述
这里写图片描述

2-3 基于熵的可分性判据

主要从后验概率角度来考虑。

这里写图片描述

2-4 利用统计检验作为可分性判据

这里写图片描述
这里写图片描述
这里写图片描述

特点
只能针对单个特征对分类性能进行判据,也存在针对多变量的,但是当特征维数较高时,往往较难实现。

3. 特征选择算法

3-1 特征选择的最优算法(穷举法)

分支定界方法的基本思想:

设法将所有可能特征选择组合构建成一个树状结构,按照特定的规律对树进行搜索,使得搜索过程尽可能早地可以达到最优解而不必遍历整棵树。

实例

从 D =6 个特征中选 d = 2 个特征。

  • 树的根节点包含全部特征,称为第 0 级,
  • 每一级的节点在其父节点基础上去掉一个特征(去掉的特征序号写在节点旁边)。
  • 对于第 l 层节点 i , 假设它包含 Di 个候选特征,我们在同一层中按照去掉单个特征后的准则函数对各个节点排序,如果去掉某个特征后准则函数损失函数最大,则认为这个特征最不可能去掉,放在该层最左侧节点。
  • 第 i 层节点下工生长 Did+1 个子节点。
  • 第 l +1 层的展开沿最右侧节点开始,在同层上已经在左侧节点上的特征在本节点之下不再进行舍弃,因此,第 l+1 层的一个节点上的候选基因就是它上一层的 Di 个候选特征减去本节点上舍弃的特征以及它同层左侧节点上的特征。
  • 从每一树枝的最右侧开始向下生长,当到达叶节点时计算当前达到的准则函数值,记作界限 B 。
  • 到达叶节点后算法向上回溯,每回溯一步把相应节点上舍弃的特征回收回来。遇到最近的分支节点停止回溯,从这个分支节点向下搜索左侧最近的一个分支。
  • 如果在搜索到某一个节点时,准则函数值已经小于界限 B,说明最优解已不可能在本节点之下的叶节点上,所以可以停止搜索,向上回溯。
  • 如果搜索到一个新的叶节点,则更新界限 B 值,向上回溯。
  • 直到不能向下搜索其他树枝,则算法停止,最后一次更新 B 时取得的特征组合就是特征选择的结果。

这里写图片描述

这里写图片描述

3-2 特征选择的次优算法(确定性的启发式搜索)

最优搜索方法的计算量可能仍然最大,因此会考虑一些计算量较小的次优搜索方法。

3-2-1 单独最优特征的组合

对每一个特征单独计算类别可分性依据,选取最大的前 d 个特征。

特点
只有当特征间统计独立和所采用的判据是每个特征上的判据之和或之积时,才最优。

3-2-2 顺序前进法(从底向上)

第一个特征选择单独最优,后面的特征选择与之组合最优的那些特征(一次可以一个也可以多个)。

特点
某个特征一旦被选中则不能再被剔除。

3-2-3 顺序后退法(从顶向下)

逐渐剔除不被选中的特征。与顺序前进法正好相反。

特点
某个特征一旦被剔除则不能再被选中。

3-2-4 增 l 减 r 法

交替使用 顺序前进法 和 顺序后退法。

3-3 特征选择的遗传算法(随机搜索)

这里写图片描述
这里写图片描述

特点
遗传算法虽然不能保证收敛到全局最优解,但是在多数情况下可以至少得到很好的次优解。

3-4 以分类性能为准则的特征选择算法(包裹法)

把分类器和特征选择集合起来,利用分类器进行特征选择的方法称作包裹法。

这些分类器要求满足两个条件
1. 分类器应该能够处理高维的特征向量。
2. 分类器能够在特征维数很高但样本数有限时仍能得到较好的效果。

常见的两种方法有 递归支持向量机(R-SVM)和支持向量机递归特征剔除(SVM-RFE)。

这里写图片描述


推荐阅读
  • 大数据时代的机器学习:人工特征工程与线性模型的局限
    本文探讨了在大数据背景下,人工特征工程与线性模型的应用及其局限性。随着数据量的激增和技术的进步,传统的特征工程方法面临挑战,文章提出了未来发展的可能方向。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 360SRC安全应急响应:从漏洞提交到修复的全过程
    本文详细介绍了360SRC平台处理一起关键安全事件的过程,涵盖从漏洞提交、验证、排查到最终修复的各个环节。通过这一案例,展示了360在安全应急响应方面的专业能力和严谨态度。 ... [详细]
  • 使用Vultr云服务器和Namesilo域名搭建个人网站
    本文详细介绍了如何通过Vultr云服务器和Namesilo域名搭建一个功能齐全的个人网站,包括购买、配置服务器以及绑定域名的具体步骤。文章还提供了详细的命令行操作指南,帮助读者顺利完成建站过程。 ... [详细]
  • Hadoop入门与核心组件详解
    本文详细介绍了Hadoop的基础知识及其核心组件,包括HDFS、MapReduce和YARN。通过本文,读者可以全面了解Hadoop的生态系统及应用场景。 ... [详细]
  • 深入理解Java中的Collection接口与Collections工具类
    本文详细解析了Java中Collection接口和Collections工具类的区别与联系,帮助开发者更好地理解和使用这两个核心组件。 ... [详细]
  • 本题通过将每个矩形视为一个节点,根据其相对位置构建拓扑图,并利用深度优先搜索(DFS)或状态压缩动态规划(DP)求解最小涂色次数。本文详细解析了该问题的建模思路与算法实现。 ... [详细]
  • 最近团队在部署DLP,作为一个技术人员对于黑盒看不到的地方还是充满了好奇心。多次咨询乙方人员DLP的算法原理是什么,他们都以商业秘密为由避而不谈,不得已只能自己查资料学习,于是有了下面的浅见。身为甲方,虽然不需要开发DLP产品,但是也有必要弄明白DLP基本的原理。俗话说工欲善其事必先利其器,只有在懂这个工具的原理之后才能更加灵活地使用这个工具,即使出现意外情况也能快速排错,越接近底层,越接近真相。根据DLP的实际用途,本文将DLP检测分为2部分,泄露关键字检测和近似重复文档检测。 ... [详细]
  • 毕业设计:基于机器学习与深度学习的垃圾邮件(短信)分类算法实现
    本文详细介绍了如何使用机器学习和深度学习技术对垃圾邮件和短信进行分类。内容涵盖从数据集介绍、预处理、特征提取到模型训练与评估的完整流程,并提供了具体的代码示例和实验结果。 ... [详细]
  • 机器学习核心概念与技术
    本文系统梳理了机器学习的关键知识点,涵盖模型评估、正则化、线性模型、支持向量机、决策树及集成学习等内容,并深入探讨了各算法的原理和应用场景。 ... [详细]
  • Python中HOG图像特征提取与应用
    本文介绍如何在Python中使用HOG(Histogram of Oriented Gradients)算法进行图像特征提取,探讨其在目标检测中的应用,并详细解释实现步骤。 ... [详细]
  • 支持向量机(SVM)是一种基于统计学习理论的模型,主要在VC维和结构风险最小化的理论基础上发展而来。本文将探讨几种不同的SVM方法及其优化策略,旨在提高模型的效率和适用性。 ... [详细]
  • 支持向量机(SVM)算法综述
    支持向量机(Support Vector Machine, SVM)是由Cortes和Vapnik于1995年首次提出的一种机器学习算法。SVM在处理小样本、非线性及高维模式识别问题上表现出显著的优势,并广泛应用于函数拟合等其他机器学习任务中。 ... [详细]
author-avatar
Jump_jiedB0_666
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有