【监督学习】基于合取子句进化算法(CCEA)和析取范式进化算法(DNFEA)解决分类问题(Matlab代码实现)

news2024/11/26 8:59:38

💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码实现


💥1 概述

我们开发了两种进化算法,即合取子句进化算法(CCEA)和析取范式进化算法(DNFEA),旨在探索与真实世界数据中的复杂交互相关的因果关系。这些算法可以应用于监督学习任务,帮助我们发现与特定目标结果(比如疾病)相关的复杂多变量关系。在不同类型的数据集中,包括带有噪声、缺失数据和多种数据类型(连续、有序和标称)的情况下,CCEA能够寻找特征(上位)之间的交互。为了防止过拟合特征交互,CCEA还利用特征敏感度函数来辅助筛选。而DNFEA主要用于在CCEA的基础上寻找更强相关性的异构组合,这些组合能够比任何单个连接子句更好地预测输出类别。CCEA和DNFEA都使用超几何概率质量函数作为适应度函数来评估。

总的来说,我们提出了一种新的进化算法,旨在从批量数据中发现复杂分类问题的因果关系规则。这种方法的关键特点包括:(a)使用超几何概率质量函数作为评估适应度的统计指标,以量化临时关联结果与目标类之间的偶然性概率,同时考虑数据集大小、缺失数据和结果类别的分布情况;(b)采用串联年龄分层进化算法,演化出连接子句的简约档案以及这些连接子句的析取,使得每个连接子句都与结果类之间具有概率显著关联;(c)使用单独的档案箱来存储不同顺序的子句,并具有动态调整的顺序特定阈值。我们通过在多个基准问题上的实验验证了该方法的有效性,这些问题包括具有异质性、上位性、重叠、类别关联噪声、缺失数据、无关特征和类别不平衡等各种组合。此外,我们还在更真实的合成基因组数据集上进行了验证,该数据集具有异质性、上位性、外源特征和噪声。在所有合成上位基准问题中,我们始终能够准确恢复出用于生成数据的真实因果关系规则集。最后,我们还讨论了将这种方法应用于真实世界调查数据集的潜在应用,该数据集旨在提供有关恰加斯病可能的生态健康干预措施的信息。

📚2 运行结果

部分代码:

% set the number of address bits for the majority-on problem 
NumFeat=5; 

% set the number of observations
NumObs=1250;

% Now create the majority on dataset
Data=(rand(NumObs,NumFeat)<0.5)+0;
% Determine output
Output=(sum(Data,2)>NumFeat/2)+0;

% There are three data types that can be input into the CCEA
% 1) continuous or ordinal data (ContData)
% 2) nominal data (Cat
% 3) binary data or any feature where the user only wants one value
% assigned to a feature in a conjunctive clause
% For each data type list the corresponding columns in the Data matrix that
% correspond to the data type of the feature (i.e., if the data in columns
% 1 and 3 are ordinal or continuous then ConOrdData=[1 3]).;
ContOrdData=[]; % To be used for ordinal or continuous features
NomData=[]; % To be used for nominal features
BinData=1:NumFeat; % To be used for binary features or any feature where 
                   % the user only wants one value associated with the
                   % conjunctive clause.

% Set the target class
TargetClass=Output==1;% In this case only data with an output of 1 will be
                      % analyzed

% Run my algorithm convert the data to binary
[DataBin, Param, DataSum]=Data2BinaryTarget(Data, Output, ...
                               ContOrdData, NomData, BinData, TargetClass);
                           
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
% Set the CCEA parameters
% The below settings are appropriate but not necessarily optimal for the
% 6-bit multiplexer dataset. The user can play with the parameter settings
% to find the best combination for a given dataset.
% Note: there are numerous input parameters for the CCEA. The idea is to
% give the user control over the optimal way to search a dataset. For 
% instance, Datasets with binary features may require fewer age layers and 
% fewer generations between novel generations; while datasets with 
% continuous or ordinal features may require more age layers and more 
% generations between novel generations.
Param.NumNewPop=NumFeat; % The # of new offspring created every Param.GENn
Param.TotGens=30; % Total # generations to run the CCEA
% Param.FeatLabels=[]; % The feature labels (not needed for CCEA but 
                       % necessary for understanding the features)
Param.BestFit=false(); % Will record the best hypergeometric fitness for 
                       % each CC order each generation
Param.ALna=5; % The # of layers that are not archived 
              % (helps maintain diversity)
Param.GENn=3; % The # of generations until a new population of offspring 
              % are created.
Param.NonArchLMax=Param.NumNewPop*1;% Max population per non-archive layer
Param.ArchOff=Param.NonArchLMax*Param.ALna; %The max # of Archive offspring 
                                            %created each generation 
Param.Px=0.5; % Probability of crossover
Param.Pwc=0.75; % probability that feature selected for mutation will be 
                % removed from the conjunctive clause
Param.Pm=1/NumFeat; % probability that a feature will be selected for 
                    % mutation. Only if the parent is selected for mutation
                    % instead of crossover.
Param.TournSize=3; % # of parents with replacement that are in the 
                   % tournament to mate with the parent. Only most fit will 
                   % mate.

% set the number of address bits for the majority-on problem 
NumFeat=5; 

% set the number of observations
NumObs=1250;

% Now create the majority on dataset
Data=(rand(NumObs,NumFeat)<0.5)+0;
% Determine output
Output=(sum(Data,2)>NumFeat/2)+0;

% There are three data types that can be input into the CCEA
% 1) continuous or ordinal data (ContData)
% 2) nominal data (Cat
% 3) binary data or any feature where the user only wants one value
% assigned to a feature in a conjunctive clause
% For each data type list the corresponding columns in the Data matrix that
% correspond to the data type of the feature (i.e., if the data in columns
% 1 and 3 are ordinal or continuous then ConOrdData=[1 3]).;
ContOrdData=[]; % To be used for ordinal or continuous features
NomData=[]; % To be used for nominal features
BinData=1:NumFeat; % To be used for binary features or any feature where 
                   % the user only wants one value associated with the
                   % conjunctive clause.

% Set the target class
TargetClass=Output==1;% In this case only data with an output of 1 will be
                      % analyzed

% Run my algorithm convert the data to binary
[DataBin, Param, DataSum]=Data2BinaryTarget(Data, Output, ...
                               ContOrdData, NomData, BinData, TargetClass);
                           
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
% Set the CCEA parameters
% The below settings are appropriate but not necessarily optimal for the
% 6-bit multiplexer dataset. The user can play with the parameter settings
% to find the best combination for a given dataset.
% Note: there are numerous input parameters for the CCEA. The idea is to
% give the user control over the optimal way to search a dataset. For 
% instance, Datasets with binary features may require fewer age layers and 
% fewer generations between novel generations; while datasets with 
% continuous or ordinal features may require more age layers and more 
% generations between novel generations.
Param.NumNewPop=NumFeat; % The # of new offspring created every Param.GENn
Param.TotGens=30; % Total # generations to run the CCEA
% Param.FeatLabels=[]; % The feature labels (not needed for CCEA but 
                       % necessary for understanding the features)
Param.BestFit=false(); % Will record the best hypergeometric fitness for 
                       % each CC order each generation
Param.ALna=5; % The # of layers that are not archived 
              % (helps maintain diversity)
Param.GENn=3; % The # of generations until a new population of offspring 
              % are created.
Param.NonArchLMax=Param.NumNewPop*1;% Max population per non-archive layer
Param.ArchOff=Param.NonArchLMax*Param.ALna; %The max # of Archive offspring 
                                            %created each generation 
Param.Px=0.5; % Probability of crossover
Param.Pwc=0.75; % probability that feature selected for mutation will be 
                % removed from the conjunctive clause
Param.Pm=1/NumFeat; % probability that a feature will be selected for 
                    % mutation. Only if the parent is selected for mutation
                    % instead of crossover.
Param.TournSize=3; % # of parents with replacement that are in the 
                   % tournament to mate with the parent. Only most fit will 
                   % mate.

🎉3 参考文献

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。

[1]古华茂,石锦芹,高济.基于子句的ALCN语言tableau算法增强方式[J].东南大学学报(英文版), 2008.DOI:JournalArticle/5af28551c095d718d8f5e7c5.

[2]姚明臣.机器学习和神经网络学习中的若干问题研究[D].大连理工大学,2016.

🌈4 Matlab代码实现

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vue之elementui等表格单元格列合并

通用方法 <template><Table:columns"columns":data"tableData":loading"loading":span-method"handleSpan"></Table> </template> <script> export default {data(){return {mergeObj: {}, // 用来记录…

AI时代,当项目经理遇到ChatGPT,插上腾飞的翅膀!

文章目录 一、 ChatGPT 在项目管理中的应用1. 任务分配和跟踪2. 风险管理3. 沟通和协作 二、 ChatGPT 在项目管理中的优势1. 高效性2. 可靠性3. 灵活性 三、 ChatGPT 在项目管理中的应用场景1. 智能会议2. 智能文档3. 智能报告 结语AI时代项目经理成长之道&#xff1a;ChatGPT让…

Lazada、速卖通、亚马逊等跨境平台自养买家号测评的用处及解析

做跨境电商的卖家越来越多&#xff0c;也吸引了许多卖家入驻&#xff0c;拥有庞大的用户群体和出色的物流配送能力。接触过跨境电商的朋友就会知道&#xff0c;跨境电商的市场虽然说很好&#xff0c;但是&#xff0c;要想成功的开好一个店铺并没有那么容易。 在平台上经营一家…

线程池配置介绍

一、前言 我们收银台项目为了架构简单&#xff0c;一些异步化任务(如下单完成扣减库存、发送邮件等等)&#xff0c;没有使用MQ而是直接启动线程来做&#xff0c;但如果随意使用线程对系统性能反而会有影响&#xff0c;当线程数量大到一定的时候会耗尽CPU和内存资源&#xff0c…

配置中心比较Apollo与Nacos

1、Nacos Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集&#xff0c;帮助您实现动态服务发现、服务配置管理、服务及流量管理。 Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构(例如微服…

【发布】Photoshop ICO 文件格式插件 3.0

备注&#xff1a;本文原文首发于博客园&#xff1a; https://www.cnblogs.com/hoodlum1980/p/17766287.html 【简介】 Photoshop ICO 插件是为 Photoshop 开发的功能扩展插件&#xff0c;使得 Photoshop 可以直接读写 ICO 格式文件。由于 Photoshop 具有强大的像素位图编辑功…

企业订货系统常见问题与解决方案|网站定制搭建|小程序APP开发

企业订货系统常见问题与解决方案|网站定制搭建|小程序APP开发 在企业经营中&#xff0c;订货系统是一个非常重要的工具&#xff0c;它可以帮助企业快速地获取客户需求&#xff0c;制定生产计划&#xff0c;提高供应链效率&#xff0c;帮助企业快速、准确地计算出所需物资的数量…

人声分离软件:iZotope RX 10 (WinMac) 中文汉化版

iZotope RX 10是一款在音频修复和增强领域中非常出色的软件。它提供了一套全面的音频问题解决方案&#xff0c;为后期制作专业人员、音频工程师和视频编辑者解决各种棘手问题。 iZotope RX 10的主要特点包括&#xff1a; 声音修复功能&#xff1a;可以去除不良噪音、杂音、吱吱…

“氛围感 真环绕”可拆卸自由观影新物种 ——索尼发布“积木音响”HT-AX7

2023年10月16日&#xff0c;索尼(中国)有限公司发布新款蓝牙音响——“积木音响”HT-AX7。该音响采用索尼360SSM技术(360空间声场映射技术&#xff0c;简称360SSM)和独特的可拆卸结构设计&#xff0c;在实现传统音响的功能基础上&#xff0c;进一步为用户提供了创新式可移动多场…

内容监管新纪元:探索TikTok AIGC的应用与挑战

在当今数字时代&#xff0c;社交媒体已成为人们分享生活、观点和创意的主要平台。而TikTok&#xff0c;作为短视频领域的领军者&#xff0c;一直在不断创新&#xff0c;以满足用户的需求。最近&#xff0c;TikTok引入了一项新功能&#xff0c;旨在标记由人工智能生成的内容&…

Qt实现三次样条Cardinal曲线

目录 1. 前言 2. 预备知识 3. 代码实现 1. 前言 在设计矢量图案的时候&#xff0c;我们常常需要用到曲线来表达物体造型&#xff0c;单纯用鼠标轨迹绘制显然是不足的。于是我们希望能够实现这样的方法&#xff1a;通过设计师手工选择控制点&#xff0c;再通过插值得到过控制…

全天在线的健康小助手,dido E55S Pro智能手表体验

如今只需要借助一块具有健康监测功能的智能手表&#xff0c;我们就可以轻松记录自己的日常健康数据&#xff0c;像是心率、血压和血氧等&#xff0c;通过每天规律性评估&#xff0c;我们可以及时发现身体的一些变化&#xff0c;排除一些潜在的健康隐患。最近我尝试了一款国产的…

three.js学习-智慧城市

前言 在前面基础知识&#xff08;摄像机&#xff0c;渲染器&#xff0c;轨道控制器&#xff0c;坐标轴&#xff0c;场景适配&#xff0c;渲染循环、几何体、材质、光等&#xff09;有了基础了解后&#xff0c;还需要对着色器&#xff08;坐标&#xff09;有一定的学习了解然后就…

关于Python爬虫就业与兼职方向

Python是一种强大的编程语言&#xff0c;可用于各种应用&#xff0c;如数据分析、机器学习、Web开发等。因此&#xff0c;越来越多的人开始学习Python&#xff0c;同时也有越来越多的Python引流兼职和就业机会出现。本文将探讨Python引流兼职和就业的情况。 Python引流兼职 P…

MacOS无法打开pkg,因为它来自身份不明的开发者。

解决方案&#xff1a; 低版本MacOS&#xff1a; 高版本MacOS&#xff1a;

源码分析RocketMQ之TransactionMQProducer-事物消息

Apache RocketMq 在4.3.0版本中已经支持分布式事物消息&#xff0c;采用了2PC的的思想实现提交事物消息&#xff0c;同时增加一个补偿逻辑来处理二阶段超时或者失败的消息。 一、事物消息生产者:TransactionMQProducer 发送事物消息 TransactionMQProducer#sendMessage…

手机通过WiFi连接调试UR机器人

1.测试物料 1.1ur机器人 https://item.taobao.com/item.htm?spma1z10.1-c.w4004-25069442759.18.2ff56d6bmuxX0Z&id740002623764 1.2 路由器&#xff08;TPLINK&#xff09; https://detail.tmall.com/item.htm?abbucket7&id548610924784&ns1&spma21n57.1.…

性能超越 Clickhouse | 物联网场景中的毫秒级查询案例

1 物联网应用场景简介 物联网&#xff08;Internet of Things&#xff0c;简称 IoT&#xff09;是指通过各种信息传感、通信和 IT 技术来实时连接、采集、监管海量的传感设备&#xff0c;从而实现对现实世界的精确感知和快速响应&#xff0c;继而实现自动化、智能化管理。在查…

DITA-OT 4.0新特性 - PDF themes,定制PDF样式的新方法

随着DITA-OT 4.0的发布&#xff0c;它提供了一种新的定制PDF样式方法&#xff0c;这种方法就是PDF theme。这篇文章来聊一聊这种定制PDF输出的新方法和实验结果。 在进入PDF theme细节之前&#xff0c;为各位读者梳理一下DITA-OT将DITA和Markdown发布成PDF的几种方法。 - 1 …