原文:http://www.omegaxyz.com/2018/09/16/vlpso/

简介

原文:Variable-Length particle swarm optimisation for feature selection on high-dimensional classification
VLPSO是Binh Tran和Bing Xue等人发在人工智能顶尖杂志上IEEE Transactions on Evolutionary Computation 上的一篇解决高维特征选择的PSO算法。

它能够很好地解决高维特征选择问题,尤其是在计算时间上能够大幅度减少。

问题提出
①高维特征选择,占内存
②高维特征选择,耗时

VLPSO(变长PSO)主要贡献
①变长单目标PSO表示方法的提出
②改编的粒子维度值交互学习方式,借鉴的CLPSO

粒子的表示


Exemplar:当前个体的每个维度需要学习的粒子的index

Learning Probability:学习率,达到阈值则学习Exemplar值,否则学习自身的pbest

Renew Exemplar Count: 对Exemplar的重置代数

注意这里借鉴的是CLPSO方法:唯一的不同是Pc的计算方法

例如Exemplar那一行的6表示当前粒子的第4个维度更新时需要学习第6个个体的第4个维度。

Exemplar的生成
对每个个体的每个维度的Exemplar采取如下操作

计算学习率Pc
如果Pc的值小于随机数,则当前维度的Exemplar为自身粒子的index
否则
随机选择两个粒子,fitness值较大粒子的index作为当前维度的Exemplar
学习率Pc的计算方式

0.05与0.45是CLPSO中提出的经验值

Rank(i)是粒子的排序,它通过信息论的对称不确定性计算

学习率越大,学习自身粒子的可能性就越大

种群长度划分

PopSize=100,NbrDiv是一个预设的值,令其等于5,则种群被分为5组,每组20个个体。

种群维度划分


假设有5000维,NbrDiv=5,则种群每一层的长度如下所示:

注意:从粒子后端除去维度,比如1000维的除去后面4000个维度

进化中种群维度的改变
触发机制:几代过后gBest没有提升

过程:计算每个层次(不同长度)的粒子适应度的均值,寻找最好的Best Division,保持该层次的长度不变,作为最大长度重新划分其它层次的个体

注意:长度变小的层次的粒子是去除的末尾的维度,长度变长的粒子增加相应的维度,这些维度的值随机生成。

流程图


①初始化不同长度的种群,初始化Exemplar
②对每个粒子判断是否需要重置Exemplar
③速度与位置更新,如果pbest在α代后没有更新,则更新学习率Pc下一代需要重置Exemplar
④更新gbest
⑤如果gbset在β代后没有提升,则种群长度重置
⑥停止准则,否进入第三步
适应度函数Fitness,精确度利用KNN计算

注意:使用实例被选择的特征子集来计算曼哈顿距离,其中距离的度量可以判断特征子集划分不同类别实例与聚合相同类别实例的能力。

实验使用的数据集


实验结果请查看原文

论文原文:Tran B, Xue B, Zhang M. Variable-Length Particle Swarm Optimisation for Feature Selection on High-Dimensional Classification[J]. IEEE Transactions on Evolutionary Computation, 2018.

更多内容访问omegaxyz.com
网站所有代码采用Apache 2.0授权
网站文章采用知识共享许可协议BY-NC-SA4.0授权
© 2018-2020 • OmegaXYZ-版权所有 转载请注明出处

基于变长PSO的高维特征选择算法(VLPSO)概述相关推荐

  1. lstm 变长序列_基于变长时间间隔LSTM方法的胎儿异常体重预测

    1 介绍 预测胎儿体重是产前监护的重要内容, 是医生对孕妇进行临床处理的重要依据. 近年来研究显示, 低体重儿的存活率和扛感染能力相对低下[, 并且与低智商有密切联系[. 而巨大儿则会引起胎儿宫内窘迫 ...

  2. 基于最大相关最小冗余的特征选择方法MRMR

    基于最大相关最小冗余的特征选择方法MRMR By:Yang Liu 1.什么是特征选择 经典的特征选择定义为:依据某个准则,从N个特征集合中选出M个特征的子集(M=<N),以达到降低特征空间维数 ...

  3. 基于MATLAB的变长信源编码算法的性能比较

    摘要:本文基于研究了MATLAB设计了一个数字通信系统,该系统研究了经典变长信源编码(香农码,费诺码,霍夫曼码)的算法实现过程,并且通过几个案例分析了在不同的编码方法下的编码长度及编码效率.通过这两个 ...

  4. python特征选择relieff图像特征优选_基于Relief特征选择算法的研究与应用

    作者姓名导师姓名文献出处论文摘要伴随着当代科学技术的高速发展,人类已经进入了信息爆炸的时代.数据挖掘技术通过从大量数据中揭示出隐含的信息,将海量的高维数据转换为有用的信息和知识.特征选择是数据挖掘中的 ...

  5. dbscan算法中 参数的意义_基于变参数的DBSCAN算法

    安全模型.算法与编程 |34| 基于变参数的 DBSCAN 算法 ◆付泽强 王晓锋 (江南大学物联网工程学院 江苏 214122) 摘要:DBSCAN 算法是一种常用的基于密度的聚类算法,其优点在于性 ...

  6. STM32 电机教程 22 - 基于ST MCLIB无感FOC算法变有感(HALL)FOC算法

    前言 磁场定向控制又称矢量控制(FOC), 本质上为控制定子电流的幅度和相位,使之产生的磁场和转子的磁场正交,以产生最大的扭矩. PMSM的磁场定向控制框图如下图所示: 第21讲对比分析了基于ST M ...

  7. Matlab:基于Matlab实现人工智能算法应用的简介(SVM支撑向量机GA遗传算法PSO粒子群优化算法)、案例应用之详细攻略

    Matlab:基于Matlab实现人工智能算法应用的简介(SVM支撑向量机&GA遗传算法&PSO粒子群优化算法).案例应用之详细攻略 目录 1.SVM算法使用案例 1.1.Libsvm ...

  8. 基于粒子群PSO算法的风光发电与电动汽车充放电协同优化调度matlab程序_电动汽车v2g

    V2G模型 基于粒子群PSO算法的风光发电与电动汽车充放电协同优化调度matlab程序_电动汽车v2g 1.针对大规模电动汽车无序接入电网给电力系统带来的负荷压力问题,提出一种含不确定性电源的电动汽车 ...

  9. 随机森林特征个数mtry matlab,基于随机森林的特征选择算法

    2.1 算法描述 本文提出了一种基于随机森林的Wrapper特征选择方法RFFS,利用随机森林算法的变量重要性度量对特征进行排序,然后采用序列后向搜索方法,每次从特征集合中去掉一个最不重要(重要性得分 ...

  10. 使用基于Boost的预处理器元编程实现变长类型列表的参数化

    最近的工作中有这样一个需求: 使用宏自动生成类成员函数的声明和实现代码,成员函数的返回值类型不定,参数表可能为空,也可能有任意个任意类型的参数,例如: //函数名:foo0.返回值:int.参数类型表 ...

最新文章

  1. insert式注射攻击解析
  2. fieldset 添加2个legend_第231号!增补乙基纤维素等2个饲添进入饲料添加剂品种目录(2013)...
  3. 2012自学CCNP路由与交换之四交换机初始化
  4. 命令执行漏洞-命令执行-漏洞位点- 代码注入-漏洞利用-联合执行-Bypass(空格,关键字过滤,变量绕过)-例题两道-actf2020exec-GXYCTF2019 Ping Ping Ping
  5. 解决python中html 代码被注释掉 依旧被解释导致报错ERROR:tornado.access:500 GET /home (xxx.xxx.xxx.xxx)
  6. vs2012里用easyUI,显示不正常
  7. git reset hard/soft/mixed区别
  8. C 语言:我不是针对谁,我是说在座的都是乐色
  9. RFM模型——构建数据库营销的商业战役!(转)
  10. 淘宝客推广赚钱全攻略
  11. 兄弟7895dw粉盒清零_兄弟brother打印机清零大全
  12. 0.Dagger2.38.1源码解析-多种类型查询总结
  13. ubuntu20.04安装常用的软件
  14. 交换机与IP数据报、ICMP协议、ARP协议
  15. 城乡规划资质怎么办?
  16. QIIME2导入数据-fq数据转换成qza数据-使用方法心得
  17. 嵌入式开发——程序跑飞原因总结
  18. 图片批量压缩工具哪个好用?这3个工具可以解决你的压缩烦恼
  19. Python整型、bool类型及字符串的方法
  20. 简单有效的去黑头方法

热门文章

  1. C++11 实现线程池
  2. MySQL IS NULL(IS NOT NULL)使用索引分析
  3. spring cloud常用组件
  4. php round函数输出不对_PHP第一章-变量
  5. 计算机制作贺卡教案,制作贺卡教案
  6. Java编程:爬楼梯问题、斐波那契数列问题
  7. JetBrains:webstrom无法识别就require方法
  8. OpenRefine使用教程
  9. Java中的几种设计模式:创建型模式,结构型模式
  10. 论文笔记_S2D.41_2017-ICCV-使用深度估计与深度卷积神经场,进行单目视觉里程计的尺度恢复