Genetic Programming Based Data Projections for Classification
deap gp参数
deap gp参数摘要:1.DEAP(Distributed Evolutionary Algorithm in Python)简介2.GP(Genetic Programming)算法概述3.DEAP GP参数介绍4.参数设置建议与实践应用正文:**一、DEAP简介**DEAP(Distributed Evolutionary Algorithm in Python)是一个基于Python的分布式进化算法库,旨在解决复杂优化问题和机器学习任务。
它包含了多种进化算法,如遗传算法(GA)、粒子群优化算法(PSO)和基因编程(GP)等。
**二、GP算法概述**基因编程(GP)是一种基于生物进化思想的优化算法,通过模拟自然进化过程中的基因突变、交叉和选择等操作,实现问题的求解。
在DEAP中,GP 算法采用实数编码,适用于连续空间中的优化问题。
**三、DEAP GP参数介绍**DEAP GP算法主要包括以下几个关键参数:1.`pop_size`:种群规模,用于设置每个代际的个体数量。
2.`max_iter`:最大迭代次数,用于设置算法搜索过程的终止条件。
3.`cxpb`:杂交概率,用于控制基因突变和交叉操作的实施频率。
4.`mutpb`:突变概率,用于控制基因突变操作的实施频率。
5.`selpb`:选择概率,用于控制个体在下一代中的繁殖概率。
6.`p_ Elitism`:精英策略概率,用于设置优秀个体在下一代中的保留策略。
**四、参数设置建议与实践应用**1.针对不同问题,调整种群规模以平衡计算速度与搜索能力。
一般来说,较大的种群规模有助于提高搜索能力,但计算时间会相应增加。
2.根据问题特点,合理设置最大迭代次数。
对于复杂问题,可以适当增加迭代次数以提高收敛精度。
3.调整杂交、突变和选择概率,以平衡算法的全局搜索与局部搜索能力。
根据实际需求,可以适当提高局部搜索能力,以加速收敛。
4.针对高维空间问题,可以尝试采用精英策略,将优秀个体直接传递至下一代,以提高搜索效率。
数据挖掘之遗传规划
遗传规划(genetic programming)和决策树(classification tree)关于遗传规划方法,给我的资料中以剑桥大学Dempster和Jones的文章介绍的原理和方法比较全面和清晰(使用遗传规划方法的实时自适应交易系统,A real-time adaptive trading system using genetic programming),以下就我的理解说明这种方法的问题。
遗传规划总结出来的交易规则可以用决策树表达,它只是决策树中的一个,这个决策树和我们直接用穷举法得到的分类效果最好的决策树相比在训练数据上肯定是逊色的。
(除了中国人写的论文之外,我没有搜索到一篇实证说明遗传算法在训练数据上表现更好的)从分类思想上遗传规划的方法也是把自变量空间划分成多个长方形,它和决策树的根本思想是一致的。
不同的是遗传规划是用遗传杂交的方式选择更好的规则,而决策树是用穷举的方式计算出来最好的规则。
实际上对于我们的问题,穷举不费事(我的软件的分类树算法使用了一个很简单的小技巧基本解决了这个问题)。
遗传规划借鉴的遗传筛选方法是不确定性算法,需要花费长时间才可以接近最优解。
对交易规则的选择只有在花费大量时间的情况下才接近最佳规则。
遗传规划选择最优规则的可行域小于或等于实际的可行域。
使用论文中固定二进制长度的进化方式,例如0.3<RSI<0.7这样的规则条件就很难实现。
如果不固定长度,算法要复杂得多且这个搜索花费的时间应很长。
我的想法是:它只是探索中的方法,到实用的阶段可能还需要突破性改进才行。
遗传规划在SAS EM里面没有出现,支持向量机只有在2013年以后的SAS EM里面作为试验性方法(非正规,且非客户端)出现。
我作为学术方面不入流(写算法是一流,哈)的人一会就能发现这些方法的问题,这些方法成熟十几年了都不让出现在正规软件里面,你可以想象顶级专家们对这两种方法的看法。
进化计算综述
进化计算综述1.什么是进化计算在计算机科学领域,进化计算(Evolutionary Computation)是人工智能(Artificial Intelligence),进一步说是智能计算(Computational Intelligence)中涉及到组合优化问题的一个子域。
其算法是受生物进化过程中“优胜劣汰”的自然选择机制和遗传信息的传递规律的影响,通过程序迭代模拟这一过程,把要解决的问题看作环境,在一些可能的解组成的种群中,通过自然演化寻求最优解。
2.进化计算的起源运用达尔文理论解决问题的思想起源于20世纪50年代。
20世纪60年代,这一想法在三个地方分别被发展起来。
美国的Lawrence J. Fogel提出了进化编程(Evolutionary programming),而来自美国Michigan 大学的John Henry Holland则借鉴了达尔文的生物进化论和孟德尔的遗传定律的基本思想,并将其进行提取、简化与抽象提出了遗传算法(Genetic algorithms)。
在德国,Ingo Rechenberg 和Hans-Paul Schwefel提出了进化策略(Evolution strategies)。
这些理论大约独自发展了15年。
在80年代之前,并没有引起人们太大的关注,因为它本身还不够成熟,而且受到了当时计算机容量小、运算速度慢的限制,并没有发展出实际的应用成果。
到了20世纪90年代初,遗传编程(Genetic programming)这一分支也被提出,进化计算作为一个学科开始正式出现。
四个分支交流频繁,取长补短,并融合出了新的进化算法,促进了进化计算的巨大发展。
Nils Aall Barricelli在20世纪六十年代开始进行用进化算法和人工生命模拟进化的工作。
Alex Fraser发表的一系列关于模拟人工选择的论文大大发展了这一工作。
[1]Ingo Rechenberg在上世纪60 年代和70 年代初用进化策略来解决复杂的工程问题的工作使人工进化成为广泛认可的优化方法。
(完整版)工程英语词汇
(完整版)工程英语词汇一、基础工程词汇1. 工程:Engineering2. 项目:Project3. 设计:Design4. 施工:Construction5. 监理:Supervision6. 材料:Material7. 结构:Structure8. 质量:Quality9. 安全:Safety10. 进度:Schedule二、土木工程词汇1. 土壤:Soil2. 基础:Foundation3. 桥梁:Bridge4. 隧道:Tunnel5. 路面:Pavement6. 水利:Hydraulic Engineering7. 港口:Harbor8. 道路:Road9. 铁路:Railway10. 地铁:Subway三、建筑工程词汇1. 建筑物:Building2. 楼层:Floor3. 墙体:Wall4. 屋顶:Roof5. 窗户:Window6. 门:Door7. 楼梯:Stairs8. 幕墙: Curtain Wall9. 装修:Decoration10. 室内设计:Interior Design四、电气工程词汇1. 电路:Circuit2. 电线:Wire3. 开关:Switch4. 插座:Outlet5. 发电机:Generator6. 变压器:Transformer7. 电动机:Motor8. 电池:Battery9. 照明:Illumination10. 控制系统:Control System五、机械工程词汇1. 机械:Machine2. 零件:Part3. 轴承:Bearing4. 齿轮:Gear5. 润滑:Lubrication6. 紧固件:Fastener7. 焊接:Welding8. 冲压:Stamping9. 加工:Machining10. 装配:Assembly六、环境工程词汇1. 环境:Environment2. 污染:Pollution3. 废水:Wastewater4. 废气:Waste Gas5. 噪音:Noise6. 固体废物:Solid Waste7. 污染治理:Pollution Control8. 节能:Energy Saving9. 环保:Environmental Protection10. 可持续发展:Sustainable Development七、信息技术工程词汇1. 信息技术:Information Technology (IT)2. 网络:Network3. 服务器:Server4. 数据库:Database5. 编程:Programming6. 软件开发:Software Development7. 硬件:Hardware8. 云计算:Cloud Computing9. 大数据:Big Data八、化学工程词汇1. 化学反应:Chemical Reaction2. 流体力学:Fluid Mechanics3. 热力学:Thermodynamics4. 分离过程:Separation Process5. 反应器:Reactor6. 材料 science:Material Science7. 质量传递:Mass Transfer8. 能量传递:Energy Transfer9. 过程控制:Process Control10. 安全工程:Safety Engineering九、航空航天工程词汇1. 航空:Aeronautics2. 航天:Astronautics3. 飞行器:Aircraft4. 发射:Launch5. 航天器:Spacecraft6. 导航:Navigation7. 飞行控制系统:Flight Control System8. 火箭:Rocket9. 卫星:Satellite10. 航天站:Space Station十、生物医学工程词汇1. 生物医学:Biomedical2. 生物材料:Biomaterial3. 医疗设备:Medical Device4. 生物力学:Biomechanics5. 细胞工程:Cell Engineering6. 基因工程:Genetic Engineering7. 仿生学:Bionics8. 生物传感器:Biosensor9. 医学影像:Medical Imaging10. 组织工程:Tissue Engineering十一、项目管理词汇1. 项目管理:Project Management2. 项目经理:Project Manager3. 项目规划:Project Planning4. 项目预算:Project Budget5. 项目进度:Project Schedule6. 风险管理:Risk Management7. 质量管理:Quality Management8. 成本控制:Cost Control9. 团队协作:Team Collaboration10. 项目交付:Project Delivery十二、建筑信息模型(BIM)词汇1. 建筑信息模型:Building Information Modeling (BIM)2. 三维模型:3D Model3. 四维建模:4D Modeling(时间维度)4. 五维建模:5D Modeling(成本维度)5. BIM软件:BIM Software6. 模型协调:Model Coordination7. 数字化施工:Digital Construction8. BIM协作:BIM Collaboration9. 可视化:Visualization10. 仿真分析:Simulation Analysis十三、绿色建筑与可持续性词汇1. 绿色建筑:Green Building2. 可持续性:Sustainability3. 节能:Energy Efficiency4. 碳排放:Carbon Emission5. 绿色认证:Green Certification6. 生态设计:Esign7. 资源循环:Resource Recycling8. 生物多样性:Biodiversity9. 低影响开发:Low Impact Development (LID)10. 环境生命周期评估:Environmental Life Cycle Assessment十四、电子工程与自动化词汇1. 电子工程:Electronics Engineering2. 电路板:Circuit Board3. 集成电路:Integrated Circuit (IC)4. 传感器:Sensor5. 自动化:Automation6. 控制系统:Control System7. 技术:Robotics8. 伺服电机:Servo Motor9. 可编程逻辑控制器:Programmable Logic Controller (PLC)10. 工业互联网:Industrial Internet of Things (IIoT)十五、地质工程与矿业词汇1. 地质工程:Geological Engineering2. 地层:Stratum3. 岩土工程:Geotechnical Engineering4. 钻探:Drilling5. 矿业:Mining6. 采掘:Excavation7. 岩石力学:Rock Mechanics8. 地下水:Groundwater9. 防滑坡:Landslide Prevention10. 矿物加工:Mineral Processing。
外文翻译---遗传算法在非线性模型中的应用
英文翻译2011 届电气工程及其自动化专业 0706073 班级题目遗传算法在非线性模型中的应用姓名学号070607313英语原文:Application of Genetic Programming to NonlinearModelingIntroductionIdentification of nonlinear models which are based in part at least on the underlying physics of the real system presents many problems since both the structure and parameters of the model may need to be determined. Many methods exist for the estimation of parameters from measures response data but structural identification is more difficult. Often a trial and error approach involving a combination of expert knowledge and experimental investigation is adopted to choose between a number of candidate models. Possible structures are deduced from engineering knowledge of the system and the parameters of these models are estimated from available experimental data. This procedure is time consuming and sub-optimal. Automation of this process would mean that a much larger range of potential model structure could be investigated more quickly.Genetic programming (GP) is an optimization method which can be used to optimize the nonlinear structure of a dynamic system by automatically selecting model structure elements from a database and combining them optimally to form a complete mathematical model. Genetic programming works by emulating natural evolution to generate a model structure that maximizes (or minimizes) some objective function involving an appropriate measure of the level of agreement between the model and system response. A population of model structures evolves through many generations towards a solution using certain evolutionary operators and a “survival-of-the-fittest”selection scheme. The parameters of these models may be estimated in a separate and more conventional phase of the complete identification process.ApplicationGenetic programming is an established technique which has been applied to several nonlinear modeling tasks including the development of signal processing algorithms and the identification of chemical processes. In the identification of continuous time system models, the application of a block diagram oriented simulation approach to GP optimization is discussed by Marenbach, Bettenhausen and Gray, and the issues involved in the application of GP to nonlinear system identification are discussed in Gray ‟s another paper. In this paper, Genetic programming is applied to the identification of model structures from experimental data. The systems under investigation are to be represented as nonlinear time domain continuous dynamic models.The model structure evolves as the GP algorithm minimizes some objective function involving an appropriate measure of the level of agreement between the model and system responses. One examples is∑==n i e J 121 (1)Where 1e is the error between model output and experimental data for each of N data points. The GP algorithm constructs and reconstructs model structures from the function library. Simplex and simulated annealing method and the fitness of that model is evaluated using a fitness function such as that in Eq.(1). The general fitness of the population improves until the GP eventually converges to a model description of the system.The Genetic programming algorithmFor this research, a steady-state Genetic-programming algorithm was used. At each generation, two parents are selected from the population and the offspring resulting from their crossover operation replace an existing member of the same population. The number of crossover operations is equal to the size of the population i.e. the crossover rate is 100℅. The crossover algorithm used was a subtree crossover with a limit on the depth of the resulting tree.Genetic programming parameters such as mutation rate and population sizevaried according to the application. More difficult problems where the expected model structure is complex or where the data are noisy generally require larger population sizes. Mutation rate did not appear to have a significant effect for the systems investigated during this research. Typically, a value of about 2℅was chosen.The function library varied according to application rate and what type of nonlinearity might be expected in the system being identified. A core of linear blocks was always available. It was found that specific nonlinearity such as look-up tables which represented a physical phenomenon would only be selected by the Genetic Programming algorithm if that nonlinearity actually existed in the dynamic system.This allows the system to be tested for specific nonlinearities.Programming model structure identificationEach member of the Genetic Programming population represents a candidate model for the system. It is necessary to evaluate each model and assign to it some fitness value. Each candidate is integrated using a numerical integration routine to produce a time response. This simulation time response is compared with experimental data to give a fitness value for that model. A sum of squared error function (Eq.(1)) is used in all the work described in this paper, although many other fitness functions could be used.The simulation routine must be robust. Inevitably, some of the candidate models will be unstable and therefore, the simulation program must protect against overflow error. Also, all system must return a fitness value if the GP algorithm is to work properly even if those systems are unstable.Parameter estimationMany of the nodes of the GP trees contain numerical parameters. These could be the coefficients of the transfer functions, a gain value or in the case of a time delay, the delay itself. It is necessary to identify the numerical parameters of each nonlinear model before evaluating its fitness. The models are randomly generated and cantherefore contain linearly dependent parameters and parameters which have no effect on the output. Because of this, gradient based methods cannot be used. Genetic Programming can be used to identify numerical parameters but it is less efficient than other methods. The approach chosen involves a combination of the Nelder-Simplex and simulated annealing methods. Simulated annealing optimizes by a method which is analogous to the cooling process of a metal. As a metal cools, the atoms organize themselves into an ordered minimum energy structure. The amount of vibration or movement in the atoms is dependent on temperature. As the temperature decreases, the movement, though still random, become smaller in amplitude and as long as the temperature decreases slowly enough, the atoms order themselves slowly enough, the atoms order themselves into the minimum energy structure. In simulated annealing, the parameters start off at some random value and they are allowed to change their values within the search space by an amount related to a quantity defined as system …temperature‟. If a parameter change improves overall fitness, it is accepted, if it reduces fitness it is accepted with a certain probability. The temperature decreases according to some predetermined …cooling‟ schedule and the parameter values should converge to some solution as the temperature drops. Simulated annealing has proved particularly effective when combines with other numerical optimization techniques.One such combination is simulated annealing with Nelder-simplex is an (n+1) dimensional shape where n is the number of parameters. This simples explores the search space slowly by changing its shape around the optimum solution .The simulated annealing adds a random component and the temperature scheduling to the simplex algorithm thus improving the robustness of the method .This has been found to be a robust and reasonably efficient numerical optimization algorithm. The parameter estimation phase can also be used to identify other numerical parameters in part of the model where the structure is known but where there are uncertainties about parameter values.Representation of a GP candidate modelNonlinear time domain continuous dynamic models can take a number of different forms. Two common representations involve sets of differential equations or block diagrams. Both these forms of model are well known and relatively easy to simulate .Each has advantages and disadvantages for simulation, visualization and implementation in a Genetic Programming algorithm. Block diagram and equation based representations are considered in this paper along with a third hybrid representation incorporating integral and differential operators into an equation based representation.Choice of experimental data set——experimental design The identification of nonlinear systems presents particular problems regarding experimental design. The system must be excited across the frequency range of interest as with a linear system, but it must also cover the range of any nonlinearities in the system. This could mean ensuring that the input shape is sufficiently varied to excite different modes of the system and that the data covers the operational range of the system state space.A large training data set will be required to identify an accurate model. However the simulation time will be proportional to the number of data points, so optimization time must be balanced against quantity of data. A recommendation on how to select efficient step and PRBS signals to cover the entire frequency rage of interest may be found in Godfrey and Ljung‟s texts.Model validationAn important part of any modeling procedure is model validation. The new model structure must be validated with a different data set from that used for the optimization. There are many techniques for validation of nonlinear models, the simplest of which is analogue matching where the time response of the model is compared with available response data from the real system. The model validationresults can be used to refine the Genetic Programming algorithm as part of an iterative model development process.Selected from “Control Engineering Practice, Elsevier Science Ltd. ,1998”中文翻译:遗传算法在非线性模型中的应用导言:非线性模型的辨识,至少是部分基于真实系统的基层物理学,自从可能需要同时决定模型的结构和参数以来,就出现了很多问题。
雅思阅读发现信号词8个要素
雅思阅读发现信号词8个要素雅思阅读与考点相关的信号词根据其表达的逻辑关系可以分为八大类,分别为表因果关系,表举例子和说明,顺接和递进等,信号词的确定是雅思阅读技巧之一,所以下面我们将一起学习雅思阅读技巧之如何发现信号词。
雅思阅读文章中的信号词就好比是高速公路上的标识牌,见到了它们,就可以知道目的地距离自己的位置还有多远,需要直走,还是拐弯。
考生应根据这些信号词来判断应该采取精读。
跳读或是扫读等不一样的阅读方法和技巧。
本文中,阅读组的专家将会分析雅思阅读中信号词对考点指示的微妙作用。
笔者把剑桥4-8阅读中出现的与考点相关的信号词根据其所表达的逻辑关系分成八大类,分别是表顺接和递进,表对比和转折,表相似,表排列次序,表强调作用,表最高级。
比较级,表因果关系,表举例子和说明。
一、顺接和递进例词:also,furthermore,moreover,what is more,in addition…考点:And Western scientists are starting to draw on this wisdom…(C6,P28,Q31找标题)解析:And在这句话开头,有一定的递进含义,this wisdom则是指代了前面一句话出现的their wealth of traditional knowledge(因纽特人传统的知识),所以这两句话有紧密的联系,同学们在读题的时候要通过发现信号词,然后发散地看它的前后句,最后把考点考察的意思补充完整。
二、对比和转折例词:however,but,although,nevertheless,on the other hand,by comparison,while考点:But such projects must be built to higher specifications and with more accountability to local people and their environment than in the past. (C7 P24 Q20)解题:此题是段落大意配对题,在确定H段段落大意时,段落中间but之后出现的那句话就是解题的关键,根据句子中出现的两个比较级,可以确定答案应该为X The need to raise standards.考点:While suggestopedia has gained some notoriety through success in the teaching of modern languages,few teachers are able to emulate the spectacular results of Lozanove and his associates. (C7 P27 倒数第二段Q39,40)解析:段首句用while引起注意,我们可以根据success,和后半句中的few teachers,spectacular results,搞定最后两个填空题。
进化计算的主要分支
进化计算的主要分支
进化计算是一种模拟自然进化过程的计算方法,它的主要分支包括以下几种:
1. 遗传算法(Genetic Algorithm,GA):遗传算法是进化计算中最经典和广泛应用的方法之一。
它基于生物进化的遗传原理,通过模拟基因的交叉、变异和选择等操作,来优化问题的解。
2. 进化策略(Evolution Strategies,ES):进化策略是一种基于种群的搜索方法,它通过个体的变异和选择来更新种群,以找到最优解。
与遗传算法不同,进化策略通常不使用交叉操作。
3. 遗传编程(Genetic Programming,GP):遗传编程是一种基于树结构的进化计算方法,它用于解决问题的编程任务。
个体在遗传编程中表示为树状结构,通过遗传操作和适应度评估来优化程序的性能。
4. 协同进化(Coevolution):协同进化是指多个物种或多个智能体在相互作用和共同演化的环境中进行进化。
它可以应用于多目标优化、生态系统建模等领域。
5. 免疫算法(Immunological Algorithm,IA):免疫算法是一种受生物免疫系统启发的计算方法,它利用免疫机制来实现优化和问题求解。
6. 粒子群优化(Particle Swarm Optimization,PSO):粒子群优化是一种基于群体智能的优化算法,它模拟鸟群或鱼群的行为,通过个体之间的协作和竞争来寻找最优解。
这些分支在不同的应用领域和问题类型中都有广泛的应用,并且不断有新的分支和改进方法涌现。
进化计算的优点包括全局搜索能力、适应性和鲁棒性等,使其成为解决复杂优化问题的有效工具。
基因预测的方法
基因预测的方法:(怎么样才能有一个感性认识?)方法1:最长ORF法将每条链按6个读码框全部翻译出来,然后找出所有可能的不间断开放阅读框(ORF),只要找出序列中最长的ORF,就能相当准确地预测出基因。
最长ORF法发现基因的一般过程(包括基因区域预测和基因功能预测2个层次):步骤1:获取DNA目标序列①如果已有目标序列,可直接进入步骤2;②可以通过PubMed查找感兴趣的资料,通过GenBank或EMBL等数据库查找目标序列。
步骤2:查找ORF并将目标序列翻译成蛋白质序列利用相应工具,如ORF Finder、Gene feature (Baylor College of Medicine)、GenLang (University of Pennsylvania)等查找ORF并将DNA序列翻译成蛋白质序列。
步骤3:在数据库中进行序列搜索利用BLAST进行ORF核苷酸序列和ORF翻译的蛋白质序列搜索。
步骤4:进行目标序列与搜索得到的相似序列的全局比对(global alignment)虽然步骤3已进行局部比对(local alignment)分析,但全局比对有助于进一步加深对目标序列的认识。
步骤5:查找基因家族进行多序列比对(multiple sequence alignment),获得比对区段的基因家族信息。
步骤6:查找目标序列中的特定模序分别在Prosite、BLOCK、Motif数据库中进行profile、模块(block)、模序(motif)检索。
步骤7:预测目标序列蛋白质结构利用PredictProtein(EMBL)、NNPREDICT(University of California)等预测目标序列的蛋白质二级结构。
步骤8:获取相关蛋白质的功能信息为了了解目标序列的功能,收集与目标序列和结构相似蛋白质的功能信息非常必要。
可利用PubMed进行搜索。
方法2:利用编码区与非编码区密码子选用频率的差异进行基因预测编码区的碱基组成不同于非编码区,这是由于蛋白质中20种氨基酸出现的概率、每种氨基酸的密码子兼并度和同一种氨基酸的兼并密码子使用频率不同(即密码子偏好)等原因造成的。
毕业设计论文基于遗传算法的BP神经网络的优化问题研究.doc
编号:审定成绩:重庆邮电大学毕业设计(论文)设计(论文)题目:基于遗传算法的BP神经网络的优化问题研究学院名称:学生姓名:专业:班级:学号:指导教师:答辩组负责人:填表时间:2010年06月重庆邮电大学教务处制摘要本文的主要研究工作如下:1、介绍了遗传算法的起源、发展和应用,阐述了遗传算法的基本操作,基本原理和遗传算法的特点。
2、介绍了人工神经网络的发展,基本原理,BP神经网络的结构以及BP算法。
3、利用遗传算法全局搜索能力强的特点与人工神经网络模型学习能力强的特点,把遗传算法用于神经网络初始权重的优化,设计出混合GA-BP算法,可以在一定程度上克服神经网络模型训练中普遍存在的局部极小点问题。
4、对某型导弹测试设备故障诊断建立神经网络,用GA直接训练BP神经网络权值,然后与纯BP算法相比较。
再用改进的GA-BP算法进行神经网络训练和检验,运用Matlab软件进行仿真,结果表明,用改进的GA-BP算法优化神经网络无论从收敛速度、误差及精度都明显高于未进行优化的BP神经网络,将两者结合从而得到比现有学习算法更好的学习效果。
【关键词】神经网络BP算法遗传算法ABSTRACTThe main research work is as follows:1. Describing the origin of the genetic algorithm, development and application, explain the basic operations of genetic algorithm, the basic principles and characteristics of genetic algorithms.2. Describing the development of artificial neural network, the basic principle, BP neural network structure and BP.3. Using the genetic algorithm global search capability of the characteristics and learning ability of artificial neural network model with strong features, the genetic algorithm for neural network initial weights of the optimization, design hybrid GA-BP algorithm, to a certain extent, overcome nerves ubiquitous network model training local minimum problem.4. A missile test on the fault diagnosis of neural network, trained with the GA directly to BP neural network weights, and then compared with the pure BP algorithm. Then the improved GA-BP algorithm neural network training and testing, use of Matlab software simulation results show that the improved GA-BP algorithm to optimize neural network in terms of convergence rate, error and accuracy were significantly higher than optimized BP neural network, a combination of both to be better than existing learning algorithm learning.Key words:neural network back-propagation algorithms genetic algorithms目录第一章绪论 (1)1.1 遗传算法的起源 (1)1.2 遗传算法的发展和应用 (1)1.2.1 遗传算法的发展过程 (1)1.2.2 遗传算法的应用领域 (2)1.3 基于遗传算法的BP神经网络 (3)1.4 本章小结 (4)第二章遗传算法 (5)2.1 遗传算法基本操作 (5)2.1.1 选择(Selection) (5)2.1.2 交叉(Crossover) (6)2.1.3 变异(Mutation) (7)2.2 遗传算法基本思想 (8)2.3 遗传算法的特点 (9)2.3.1 常规的寻优算法 (9)2.3.2 遗传算法与常规寻优算法的比较 (10)2.4 本章小结 (11)第三章神经网络 (12)3.1 人工神经网络发展 (12)3.2 神经网络基本原理 (12)3.2.1 神经元模型 (12)3.2.2 神经网络结构及工作方式 (14)3.2.3 神经网络原理概要 (15)3.3 BP神经网络 (15)3.4 本章小结 (21)第四章遗传算法优化BP神经网络 (22)4.1 遗传算法优化神经网络概述 (22)4.1.1 用遗传算法优化神经网络结构 (22)4.1.2 用遗传算法优化神经网络连接权值 (22)4.2 GA-BP优化方案及算法实现 (23)4.3 GA-BP仿真实现 (24)4.3.1 用GA直接训练BP网络的权值算法 (25)4.3.2 纯BP算法 (26)4.3.3 GA训练BP网络的权值与纯BP算法的比较 (28)4.3.4 混合GA-BP算法 (28)4.4 本章小结 (31)结论 (32)致谢 (33)参考文献 (34)附录 (35)1 英文原文 (35)2 英文翻译 (42)3 源程序 (47)第一章绪论1.1 遗传算法的起源从生物学上看,生物个体是由细胞组成的,而细胞则主要由细胞膜、细胞质、和细胞核构成。
人工智能进化计算
根本遗传算法
initialize the population loop until the termination criteria is satisfied for all individuals of population
sum of fitness += fitness of this individual end for for all individuals of population
9.2 遗传算法
遗传算法〔Genetic Algorithms,简称GA〕是由密 歇根大学的约翰·亨利·霍兰德〔John Henry Holland〕 和他的同事于二十世纪六十年代在对细胞自动机 〔cellular automata〕进展研究时率先提出[2]。在二 十世纪八十年代中期之前,对于遗传算法的研究还仅 仅限于理论方面,直到在匹兹堡召开了第一届世界遗 传算法大会。随着计算机计算能力的开展和实际应用 需求的增多,遗传算法逐渐进入实际应用阶段。1989 年,纽约时报作者约翰·马科夫〔John Markoff〕写了 一篇文章描述第一个商业用途的遗传算法—进化者 〔Evolver〕。之后,越来越多种类的遗传算法出现并 被用于许多领域中,财富杂志500强企业中大多数都用 它进展时间表安排、数据分析、未来趋势预测、预算、 以及解决很多其他组合优化问题。
f(x) C 0max g(x)
当 g( xC )max
其他情况
其中,f(x)为转换后的适应度,g(x)为原适应度,Cmax 为足够所以
首先要有一个解码〔decode〕的过程,
即将二进制串解码为十进制的实数,这
也被称为从基因型〔genotype〕f (x)到 x表2 现
遗传规划GeneticProgramming
考虑:若函数有偶个自变量则该函数返回“T”否则“NIL”:
( N O T ( D O ) A N D N O T ( D I ) ) O R D O A N D D I
OR
AND
AND
NOT
NOT D0
D1
D0
D1
二、初始群体的生成
a、初始个体生成原理 用随机方法产生所需解决问题的各种符号表达式
长将个体分为两组Ⅰ、Ⅱ。(Ⅰ 组适应度高,Ⅱ组适应
度低 )80﹪的时间在Ⅰ组选择,20﹪的时间在Ⅱ组选
择。
(3)级差选择法:
按适应度将个体分成等级,个体根据级别进行选择。
(4)竞争选择法:
首先从群体中随机选取一组个体,然后从该组中
选出具有较高适应度的个体。
b、交换
交换的实现方法:①在父代群体随机选取两个个体。
子代t 在某一个体i:
适应度:r(i,t) Nc s(i, j)c(j) j1 s ( i , j ) :个体i在适应度计算试例j下的返回值; N c :适应度计算试例数; c ( j ) :适应度试例j的实测值或正确值 ;
b、标准适应度(Standardized Fitness) 适应度最大越好的问题:
(1)随机产生初始群体,即产生众多函数和变量随机组成 的计算机程序。
(2)运行群体中的每一个计算机程序(个体),计算适应 度。
(3)生成下一代群体。
①根据适应度随机复制新一代个体
②通过在双亲个体随机选定的部位进行交换产生新的 个体,双亲个体也依据适应度随机选定。
(4)迭代执行(2)(3)直到终止准则满足为止。
M
n(k,t) 1 i 1
四、基本算子
基因表达式编程综述
基因表达式编程综述摘要:基因表达式编程是借鉴生物遗传的基因表达规律提出的知识发现新技术。
本文简要阐述了基因表达式编程的基本原理、主要特点,介绍了其相应的研究领域以及相其改进算法。
关键字:基因表达式编程;染色体;应用Simple discussion on Gene Expression ProgrammingAbstract:Gene Expression Programming is a new technology based on gene expressing rules.The paper has described the basic principle and characteristic of GEP.and the main application fields and the improved GEP algorithm were introducedKeywords:Gene Expression Programming; Chromosome; Application0 引言基因表达式编程GEP(Gene Expression Programming)是Gandida Ferreira[1-3]在2001年提出的一种新型自适应演化算法。
借鉴自然界生物进化的规律,在遗传算法GA(Genetic Algorithm)和遗传算法GP(Genetic Programming)的基础上提出的基于表现型和基因型的优化算法。
CEP结合了遗传算法及遗传编程的思想,融合了两者的优点,能通过简单紧凑的编码解决复杂的应用问题。
Ferreira[2,4]指出基因表达式编程的效率比传统的遗传算法和遗传编程高出100~60 000倍。
自从文献[1]首次提出该算法后,引起了国内外众多学者的关注,对GEP展开了深入地研究,获得了大量的理论与实践的研究结果。
GEP已经成功运用解决了许多如分类、数据挖掘、时间序列等问题。
遗传算法综述
遗传算法综述遗传算法是计算数学中用于解决最优化的搜索算法,是进化算法的一种。
进化算法最初是借鉴了进化生物学中的一些现象而发展起来的,这些现象包括遗传、突变、自然选择以及杂交等。
在阅读了一些相关资料后,我整理出这篇综述,将通过五个部分来介绍遗传算法以及其在计算机科学领域的相关应用、一、起源和发展分支尝试性地将生物进化过程在计算机中模拟并用于优化问题求解开始于20世纪50年代末,其目的是将生物进化的思想引入许多工程问题中而成为一种优化工具,这些开拓性的研究工作形成了遗传算法的雏形。
但当时的研究进展缓慢,收效甚微。
原因是由于缺少一种通用的编码方式,人们只有通过变异才能改变基因结构,而无法使用交叉,因而增加了迭代次数。
同时算法本身需要较大的计算量,当时的计算机速度便无法满足要求,因而限制了这一仿生过程技术的迅速发展。
20世纪60年代中期,Holland在Fraser和Bremermann等人研究成果的基础上提出了位串编码技术,这种编码技术同时适用于变异操作和交叉操作。
遗传算法的真正产生源于20世纪60年代末到70年代初,美国Michigan大学的Holland教授在设计人工适应系统中开创性地使用了一种基于自然演化原理的搜索机制,并于1975年出版了著名的专著“Adaptation in Natural andArtificial Systems”,这些有关遗传算法的基础理论为遗传算法的发展和完善奠定了的基础。
同时,Holland教授的学生De Jong首次将遗传算法应用于函数优化中,设计了遗传算法执行策略和性能评价指标,他挑选的5个专门用于遗传算法数值实验的函数至今仍被频繁使用,而他提出的在线(on-line)和离线(off-line)指标则仍是目前衡量遗传算法优化性能的主要手段。
在Holland教授和他的学生与同事De Jong进行大量有关遗传算法的开创性工作的同时,德国柏林工业大学的Rechenberg和Schwefel等在进行风洞实验时,为了对描述物体形状的参数进行优化以获得更好的实验数据,将变异操作引入计算模型中,获得了意外的优良效果。
GP程序文件(两篇)2024
引言概述:GP程序文件是一种用于遗传编程(GeneticProgramming)的文件格式,它包含了遗传编程算法的相关信息和参数设置。
本文将详细介绍GP程序文件的结构和内容,并解释其中的每个部分的功能和作用。
正文内容:一、文件头部信息1.1文件格式版本号:GP程序文件的文件格式版本号,用于指示该文件所采用的遗传编程算法版本。
1.2文件创建时间:GP程序文件的创建时间记录,用于追踪文件的和更新历史。
1.3程序名称和作者:GP程序的名称和作者的相关信息,用于识别和归属该程序的责任人。
二、遗传编程算法参数设置2.1种群大小:定义遗传编程算法中种群的规模大小,是算法运行中一个重要的参数。
2.2迭代次数:指定遗传编程算法的迭代次数,控制算法的运行时间和性能。
2.3适应度评估函数:确定遗传编程算法的适应度评估函数,用于对个体进行评估和排序。
2.4交叉概率和变异概率:遗传编程算法中两个重要的操作概率,用于控制交叉和变异的发生概率。
2.5选择策略:指定遗传编程算法的选择策略,以决定如何选择个体进行繁殖和替换。
三、遗传编程算法的遗传操作3.1选择操作:介绍遗传编程算法中的选择操作,包括轮盘赌选择、竞争选择等常用的选择方式。
3.2交叉操作:说明遗传编程算法中的交叉操作,包括单点交叉、多点交叉等常用的交叉方式。
3.3变异操作:解释遗传编程算法中的变异操作,包括点突变、区域变异等常见的变异方式。
四、GP程序的编程语言和语法4.1编程语言选择:介绍GP程序的编程语言选择标准,并常用的编程语言供选择。
4.2语法规则和约束:详细说明GP程序的语法规则和限制条件,确保程序的正确性和有效性。
4.3函数和终端集合:定义GP程序中使用的函数集合和终端集合,用于构建合法的表达式树。
五、GP程序的应用领域和案例分析5.1应用领域:介绍GP程序在哪些领域有广泛的应用,如机器学习、优化问题等。
5.2案例分析:通过一个具体的案例分析,展示GP程序的实际应用和效果,以便读者更好地理解和掌握GP程序的使用方法。
电力系统负载模型基于基因编程说明书
Power System Load Modeling Based on Genetic ProgrammingJian Zhang Zhengzhou University Zhengzhou Henan China *****************Chaohui Zhang Zhengzhou University Zhengzhou Henan China ****************Abstract—Genetic Programming (GP) is a new evolutionary algorithm based on genetic algorithm, which has self-adaptive, self-organizing, self-learning and other advantages, and has significant advantages in terms of symbolic regression to solve long-term problems of the model structure automatically recognizes the problem.In this paper, the genetic programming is introduced to the power system load modeling to solve long-standing problems of automatic identification model structure in the power system.Keywords- Load Model; Genetic Programming; Model Structure; Model Identification; SimulationI.I NTRODUCTIONDigital simulation of power systems has become an important tool of the planning, design, scheduling power system operation and experimental study .The simulation results are accurate or not directly determine the power sector decision-making in these areas correctness, and the accuracy of the simulation model used to direct effect of simulation results. In recent years, modeling technology of generators and control systems and transmission network has become mature. Their model structure can accurately reflect the actual operating characteristics. By contrast, due to the randomness, complexity, distributed and other characteristics of the power system load, accurate load modeling has been difficult [1]. The existed modeling method is difficult to accurately describe the actual power system model, impacting the accuracy of digital simulation .Genetic programming (referred as GP) is a new evolutionary algorithm developed on the basis of genetic algorithms in the 1990s,(genetic algorithm, referred to as GA).Currently, genetic programming has become an important branch of the evolutionary algorithm and it has successfully been applied to pattern recognition, function regression, economic forecasts, and other fields. This paper attempts to introduce the GP model structure to build a power system load, the use of GP characteristics in terms of function mining to solve long-term problems of model structure automatic identification in load modeling.II.S TUDY OF POWER SYSTEM LOAD MODELINGThe load characteristic of power system refers to the active power P and reactive power Q flows into the load changes with the voltage and the system of frequency, and it can be divided into voltage and frequency characteristics of the active power P and the reactive power Q, the mathematical expression used to describe the load characteristics is load model. Typically, the frequency fluctuation of power system is not big, therefore, in someoccasion where is less demanding on the accuracy, theeffect of frequency fluctuation on system load can beignored [2]. In this paper, the main consideration is theimpact of voltage change on the system power.A.Load modeling method of commonly used [3]After the long-term research and development,currently there are the following three kinds of commonlyused methods of load modeling in power system:1)Component-based modeling approachThis modeling approach is by testing a variety oftypical system load originals (such as electric motors, airconditioning, incandescent, etc.) to deduced amathematical model and stats the proportion of eachtypical load in integrated load, finally get the load modelby consolidating these dates.2)Measurement-based modeling approachThe method is developed along with the developmentof computer and evolutionary algorithm. It puts the load asa whole, based on the measured data collection, usingartificial evolution of computer code to identify thestructural load model, and then through some algorithm forparameter optimization, load model is obtained.3)Fault-based modeling approachThis method firstly choose a certain common model(such as ZIP model, power function model) by the staffaccording to their own experience , operation features of the system and the load’s b asic composition, using theleast square method and other mathematical methods to identify model parameters, and then constantly adjust the model structure and parameters through the simulation and comparison of system response curve obtained from test ,and finally make the simulation results to approach the real response curves of the system.B.The shortcomings of the current modeling technologyThe so-called load model includes two parts: modelstructure and model parameters. The model structure is themorphology of a model, and largely reflects the nature ofthe load. If choose the wrong model structure, even ifidentify the best model parameters, the model can'tcorrectly describe the character of load. The identificationof model structure for a long time is the key of the loadmodeling work, but also the most immature and difficultplaces in research. And the determination of modelparameters is relatively mature, relatively easy toInternational Conference on Logistics Engineering, Management and Computer Science (LEMCS 2014)determine. Load model is decided basically by the modeler for specific load object. According to the experience ofartificial selection for model structure, the selection alwayshas a very big subjectivity. In the face of tens of thousandsof possible combination for model structure scheme, it isdifficult to select optimization model structure by manualmethods[4]. Therefore, research on the optimized modelstructure established by computer, without humanintervention or less dependent on experiential knowledgeis of great importance.Using genetic programming based on evolutionarycomputation to load modeling, there is no need to pre-determine the model structure. It can reach the functionrelation of the variables by evolutionary computation ofthe input dates, which provides a new way for electric load computer automatic modeling.So far, there has not been a study of power loadmodeling using the methods reported and this is also theinnovation of this paper.III.T HE BASIC IDEA OF GENETIC PROGRAMMINGGenetic programming inherits the basic idea of genetic algorithm (GA), the essential difference between GP andthe genetic algorithm is the difference of the geneticindividual expression in population. Genetic algorithmuses fixed length genome bit string, while the GP uses thegenome bit string of variable length tree data structurewhich adopts a hierarchical structure expression. GP usesnatural automatic selection principle and the theory ofbiological evolution, with the method of "survival of thefittest", starting from a randomly generated initial population, measuring individual advantages anddisadvantages by fitness, the fitness of individuals directly copied into the next generation [5].If individuals’ fitness isnot good, through the cross, mutation, recombination andother operations change the individual structure. Afterseveral generations of evolution it adapts to the bestindividual and that is the evolution of structural optimalmodel. The main program flow chart of GP is shown thefig.1.Figure 1. The main program flow chart of genetic programming A.Function representationFunction expression in GP model is represented by using dynamic tree structure which is called tree algorithm. Non leaf node of tree algorithm is constituted by the function symbol, the leaf nodes by the terminator. The function symbol set can be arithmetic, Boolean operators, conditional expression and any function can be defined. Termination character set can be a variable or constant. The representation of tree algorithm in the computer is a decimal shaping code string. The first half of code strings are non- leaf nodes, and the latter part is the leaf node .The location of the code is equal with the node location in the tree algorithm ,the value of code corresponding to the elements of the function set and termination set[6] . The algorithm tree structure is shown in fig.2. Take into account the convergence and operability of the algorithm , the function symbol set used in this paper is symbols{1}={ '+','-','.*','./'},and termination symbol set isFigure 2. Tree algorithmB. Fitness selection and shutdown conditionEvolutionary modeling is to get the fitting error small, and the model structure expression clear. Therefore it is necessary to evaluate the individual merit which is obtained by evolving, fitness is the evaluation of individual quality standards [7]. This paper uses the errors of least squares method as the individual fitness value. The ()if xrepresents the chromosome I used function for variable data J in a sample of values. The iyrepresents the actual measurement values of samples, then the fitness of individuals for:2(,)1[()][(]j i j jjFit f x f x y==-∑(1)Obviously, the smaller is the individual fitness, the better is the function model generated.Generally there are two stop conditions: One is when the evolution of maximum permissible evolution algebra satisfies the conditions. The other one is when the evolutionary individuals adapt to the evolution degree requirements. This paper uses the method provides evolutionary iterations when subjected to a prescribed number of iterations the evolution stops, choose the best individual with best fitness.C.The choice of genetic operatorIn order to guarantee the convergence of genetic programming, it needs to take manipulation on the individuals during the process of evolution. This paper adopts the following three kinds of genetic operator [8].The selection operator: Copy the individuals of good fitness into the next generation directly without any change, which embodies the superior principles during the process of evolution.Crossover operator :(As shown in Fig. 3)In any two of the parent body, choose two binary tree nodes as independently hybridization, then, exchange the corresponding sub-tree which focus on the hybrid of the parent body, get two generations. In order to avoid the complicated model introducing a parameter called the maximum depth. Make the depth of the two fork tree in the model less than the depth parameter. In this paper theFigure 3. hybrid operationMutation operator :(As shown in Fig. 4)Select any one individual tree, in this algorithm, randomly selected a node tree as the mutation point. This could be as a functionpoint, also can be a terminator. Then delete the mutated point and the sub-tree below it, choosing a new sub-tree by random and insert mutation point, then generate a new tree [9].Figure 4. VariationIV. E XAMPLES OF CALCULATION AND ANALYSIS The data used in this experiment was obtained in thelab when testing static voltage characteristic for induction motor. (As shown in Table 1)TABLE I. R ESULTS OF ACTIVE AND REACTIVE POWER LOAD CHARACTERISTIC TEST (TABLE DATA ARE NORMALIZED VALUE )A. Experimental parameters design and experimental results The programming language and environment :matlab 7.0. Define a function symbol set is symbols = {'+','-','.*','. /'}. Maximum tree depth maxtreedepth = 7,iterations popusize = 5000,to determine the optimal model structure by using the least square method to calculate the minimum error sum of squares.The optimal model structure is obtained after 5000 iterations shown as follows:()()()()()()()()()()()()()()()()()().*./.*./././.*x x x x x x x x x x x ++⎧⎪⎨⎪⎩ (2) B. Simulation resultsSuppose the load model is a power function model. According to the data in Table 1,the model of the power function get by using evolutionary programming is [10]0.0741.390.4070.58P UQ U⎧=⎪⎨=⎪⎩ (3) Fit the experimental dates use five polynomial fitting by least square method, and then, compare these two results with the model build with GP, we can get the following results just as the figure 5 and figure 6.Figure 5.Active load characteristic curveFigure 6. Reactive load characteristic curveC.Analysis of the resultsFrom the results above we may see,when using the genetic programming to electric load modeling,through proper design of experimental parameters can get the flexible function structure,and get the function relationship of the internal datas automatically, find the better model structure better in the short run time and the evolutional gebra,the model structure build up by this method can get better fitting effect too. Especially when the function structure are looking for is more complex,it can also find the internal relations and rules between dates which are hard to find by artifical. Break through the limitations of relying too heavily on artificial experiences of load modeling project in the power system.V.C ONCLUSIONSThis paper has realized the automatic establishment of load model by using genetic programming and carried on the simulation, but there are still some problems, such as the fitting precision is not very high. The next step will be considered for model structure identification by using optimization genetic programming, identification of parameters by the genetic algorithm or the traditional optimization algorithm, and then establish the more accurate model structure and realize the automatic load modeling of power system.R EFERENCES[1]Zhang Jian, the load model of power system and the identificationof [M].Beijing: China electric power press, 2007[2]Zhou Wen, He Renmu, Zhang Jian, Li Xinran. Review of electricload modeling research [J]. Modern electric power.1999, 16 (2).83-89[3]IEEE Task Force on Load Representation for DynamicPerformance Standard load models for power flow and dynamic performance simulation [J] .IEEE Trans on Power Systems,1995, 10(3) :1302-1313.[4]He Renmu,Wang Weigong,Jiang Debin,et al. Measurement-based dynamic load modeling and model validation on Guangdong Grid [J] .Proceedings of the CSEE, 2002, 22 (3) :78-82(in Chinese) .[5]Liu PU. Evolutionary algorithm and its parallel implementation.Doctoral dissertation of Wuhan University, 2000[6]Holland John H. Adaptation in Natural and Artificial Systems[M].Ann Arbor: University of Michigan Press, 1975.[7] KANG Lishan, LI Yan, CHEN Yuping. A Tentative Research oncomplexity of Automatic Programming [J]. Wuhan University Journal of Natural Science, 2001, 6(1-2): 59-62.[8]Ricardo Alert, Daniel Borrego, Pedro Isasi. Using geneticprogramming to learn and improve control knowledge [J].Artificial Intelligence, 2002, 141(1 - 2):29 - 56.[9]Douglas B. Kell. Genotype2phenotype mapping: genes ascomputer programs [J]. Trends in Genetics, 2002, 18(11):555 - 559.[10]Mark P. Hinchliffe, Mark J . Willis. Dynamic systems modelingusing genetic programming [J ] . Computers &Chemical Engineering, 2003, 27(12 - 15):1841 - 1854.。
新技术专题选题方向
新技术专题选题方向本次新技术专题分两大方面,学生可自选一个感兴趣的方面完成,一个为理论研究,一个为设计实现。
(如果自己确实还有更前沿的就认真研究,新题目也可以)一:理论研究参考方向:1.多核技术研究多内核是指在一枚处理器中集成两个或多个完整的计算引擎(内核)。
多核处理器是单枚芯片(也称为“硅核”),能够直接插入单一的处理器插槽中,但操作系统会利用所有相关的资源,将它的每个执行内核作为分立的逻辑处理器。
通过在两个执行内核之间划分任务,多核处理器可在特定的时钟周期内执行更多任务。
2.无线/移动互联网技术探讨传统IP技术的主机不论是有线接入还是无线接入,基本上都是固定不动的,或者只能在一个子网范围内小规模移动。
在通信期间,它们的IP地址和端口号保持不变。
而移动IP主机在通信期间可能需要在不同子网间移动,当移动到新的子网时,如果不改变其IP地址,就不能接入这个新的子网。
如果为了接入新的子网而改变其IP地址,那么先前的通信将会中断。
移动互联网技术是在Internet上提供移动功能的网络层方案,它可以使移动节点用一个永久的地址与互联网中的任何主机通信,并且在切换子网时不中断正在进行的通信。
3.互联网新技术之网格技术网格是一种新兴的技术,正处在不断发展和变化当中。
但可以简单地说,网格是一种信息社会的网络基础设施,它将实现互联网上所有资源的互联互通,包括计算资源、存储资源、通信资源、软件资源、信息资源、知识资源等。
网格将连通一个个信息和资源孤岛,让人们的工作和生活变得更方便。
它将分布在不同地理位置的计算资源包括CPU、存储器、数据库等,通过高速的互联网组成充分共享的资源集成,从而提供一种高性能计算、管理及服务的资源能力。
人们用这些资源就像用电源一样,不必计较这些资源的来源和负载情况。
网格计算作为一种能带来巨大计算、存储能力和其他IT资源的新型网络,可以应付需要做高性能计算(HPC)之用,通过共享网络将不同地点的大量计算机相联,从而形成虚拟的超级计算机,将各处计算机的多余处理器能力合在一起,可为研究和其它数据集中应用提供巨大的计算能力。
gplearn 自定义因子
gplearn 自定义因子什么是gplearn ?gplearn 是一个开源的Python 库,用于自动化生成机器学习模型的特征工程。
它可以通过遗传程序设计(Genetic Programming, GP)算法来生成符号回归模型,以此来优化预测模型的性能。
通过gplearn,用户可以自定义因子,从而在机器学习模型中引入更多的特征工程,提高模型的预测能力。
什么是自定义因子?在机器学习中,特征工程是指通过对原始数据进行处理生成更有意义的特征,以提高机器学习模型的性能。
自定义因子就是用户自行定义的特征工程方法,用于描述问题的关键特征。
通过自定义因子,用户可以灵活而精确地刻画问题的特点,从而更好地指导模型的预测。
为什么需要自定义因子?自定义因子可以帮助向机器学习模型提供更多的信息,提高模型的预测能力。
在进行特征工程时,通常有一些问题的特征很难通过传统的特征提取方式得到,或者存在一些与问题紧密相关的特征。
此时,自定义因子可以帮助用户挖掘问题的内在特征,增加模型的预测能力。
如何自定义因子?自定义因子可以通过gplearn 的GP 算法来生成。
GP 算法是一种通过模拟生物进化过程来生成最佳函数解决问题的算法。
在gplearn 中,用户可以通过定义函数集、变量集和适应度函数来自定义因子。
函数集是一组用户定义的函数,用于模拟解决问题的函数。
变量集是一组用户定义的变量,用于表示问题的输入。
适应度函数是用户定义的一个函数,用于评估问题的某个解的好坏程度。
通过设置好函数集、变量集和适应度函数,用户可以在gplearn 中生成自己需要的特征工程方法。
如何使用自定义因子?使用自定义因子需要经过以下步骤:1. 定义函数集:用户需要根据问题的特点,定义一组合适的函数。
这些函数可以是数学函数、统计函数或者用户自定义的函数。
函数集的选择和定义对模型的预测能力很重要。
2. 定义变量集:用户需要根据问题的输入数据,定义一组合适的变量。
符号回归方法
符号回归是一种机器学习技术,旨在识别一个潜在的数学表达式。
它首先建立一个朴素随机公式的总体来表示已知自变量和它们的因变量目标之间的关系,以预测新数据。
符号回归依托于达尔文的自然选择理论,利用计算机程序间模拟基因复制、交叉和突变等操作,在初始群体较大且交叉、变异概率设置合理的情况下,不会陷入局部最优解,可以基于大量实际数据寻找隐藏在随机数值后的规律,相较于传统回归方法,所得到的拟合函数具有更广泛的适用性和更高的精确度。
解决符号回归问题最常用的算法是Genetic Programming (GP)。
遗传编程以函数本身特点为基础,采用二叉树(Binary Tree)结构,将函数表达式用于数据结构中,进而把遗传算法中针对二进制为串的遗传操作改进形成针对二叉树的遗传操作。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Abstract—In this paper we present a GP-based method for automatically evolve projections, so that data can be more easily classified in the projected spaces. At the same time, our approach can reduce dimensionality by constructing more relevant attributes. Fitness of each projection measures how easy is to classify the dataset after applying the projection. This is quickly computed by a Simple Linear Perceptron. We have tested our approach in three domains. The experiments show that it obtains good results, compared to other Machine Learning approaches, while reducing dimensionality in many cases.Keywords—Classification, Genetic Programming, projections.I.I NTRODUCTIONHE idea of projecting data spaces into other, more relevant, spaces in order to improve classification tasks has been widely used under many names. For instance, Support Vector Machines implicitly project data into a high number of dimensions (even infinite) by means of kernel functions, so that they are more easily separable [1]. In other cases, projections are used to reduce the number of dimensions, and in many cases, to improve classification accuracy (Fisher Linear Discriminant, Principal Component Analysis,...). Similarly, projections can construct relevant attributes from low-level attributes or to reformulate the pattern recognition problem by constructing more relevant features (feature induction or constructive induction [2, 3, 4]). These new features can be either added to the original attribute set, or replace them.However, most projections are closed-forms (linear, polynomic, . . . ). It would be interesting to obtain the most appropriate projection for the case at hand, given a set of primitives. In this paper, we have used Genetic Programming (GP) to do so [5]. GP is a stochastic population-based search method devised in 1992 by John R. Koza. It is inspired in Genetic Algorithms, being the main difference with them the fact that in the later, chromosomes are used for encoding possible solutions to a problem and making them evolve until converging to a valid solution. GP, nevertheless, proposes theManuscript received July 15, 2005. This article has been financed by the Spanish founded research MCyT project TRACER, Ref: TIC2002-04498-C05-04M.C. Estebanez, R. Aler and J. M. Valls are with the Department of Computer Science, Universidad Carlos III de Madrid, Av. de la Universidad 30, 28911, Leganés (Madrid), (e-mail: cesteban@inf.uc3m.es, aler@inf.uc3m.es, jvalls@inf.uc3m.es). idea of evolving whole computer programs. Within the scope of Evolutionary Algorithms, it exists a main reason for using GP in this problem: A projection is, in essence, a mathematical formula and so, its size and structure are not defined in advance. Thus, finding a codification that can fit a GA is a difficult problem. GP, nevertheless, does not impose restrictions to the size of evolved structures. There is another reason for using GP: its results are sometimes surprising, and may find some projection a human programmer might not think about. Finally, an advantage of GP is that some domain knowledge can be injected by selecting relevant primitives, whereas other Machine Learning methods use a predefined, unmodifiable set (neurons in NN, attribute comparisons in ID3,...).In this paper, we present a GP-based method for finding projections that increase, leave equal, or decrease the data space dimensions, so that classification in the projected space is improved. Fitness is determined by computing the degree of linear separation of data in the projected space. This has been implemented as a Linear Perceptron. We believe that, although more powerful classification methods (like C4.5, SVM, or NN) could be used, choosing a predictor with few degrees of freedom is an important decision: if we let GP to evolve any projection, and in addition, we use powerful classification scheme that can separate the projected data using complex surfaces, there is a large risk of overfitting. Of course, there are other ways of preventing overfitting, both in GP and in the classification method, but we prefer to try the simplest approach first. In addition, using simple methods means that fitness computation will be fast which is important in evolutionary computation. Also, other simple classification methods (like nearest neighbor) could be used, and will be tested in the future.The structure of this paper is as follows. Section II describes the approach. Then, Section III applies the method to several domains. Next, Section IV reports on the related work. And finally, Section V draws some conclusions and describes possible future research directions.II.D ESCRIPTION OF THE M ETHODWe will learn from a set E of n examples expressed in a space U of N dimensions. Our objective is to be able to represent the examples in the space V, of P (projected) dimensions, and in which the examples will be linearly separable. P can be larger, equal, or smaller than N.Genetic Programming Based Data Projectionsfor Classification TasksCésar Estébanez, Ricardo Aler, and José M. VallsTAnyway, the use of projections does not exclude the possibility of using this method with a set of examples expressed in a space U in which they already are linearly separable. In this case, our method can generate projections that take the examples to a space V of a smaller number of dimensions than U but maintaining linear separability. Thus, our method can have two different applications: on one hand, the improvement of classification tasks by means of a transformation of the dataset (towards higher, equal, or lower dimensionality); on the other hand, the reduction of dimensionality by constructing new attributes that are as good, at least, as the original ones. Of course, any combination of both applications fits our approach. Our method uses standard GP to evolve individuals made ofP subtrees (as many as dimensions of the projected space V). Fitness is computed by measuring the degree of linear separation after applying the individual to the original data (in fact, projecting from U to V). The system stops if a 100% linear separation has been achieved or if the maximum number of generations is reached. Otherwise, the system outputs the individual that separated better the training data.For the implementation of our application, we have used Lilgp 1.1, the software package for Genetic Programming developed in Michigan State University by Douglas Zongker and Bill Punch, members of the group GARAGe (Genetic Algorithms Research and Applications Group)(/).1) Terminal and function set.In our problem, terminal set will be formed by the attributes of the problem expressed in coordinates of U (u 0, u 1, ..., u N ), and by the so-called Ephemeral Random Constants, which are randomly generated numerical constants that the program can use.The set of functions to use is difficult to determine: it must be sufficient for, along with the set of terminals, being able to express the solution to the problem, but, on the other hand, they must not be too many as for uselessly increase the search space. Of course, for different domains, different terminal andfunction sets will be more appropriate. We consider that thefact that they can be chosen is an advantage of GP over othermethods. At this point, we have tested some generic sets,appropriate for numerical attributes:• Basic arithmetical functions: +, -, *, and /• Trigonometric Functions: sine, cosine, tangent, arcsine,arccosine and arctangent.• Square and square root.2) GP IndividualsInstead of having individuals work with vectorial data andreturn a vector of P dimensions, every individual will containP subtrees, using the same set of functions and terminals, that will be ran independently. Thus, a projection is going to consist of a series of trees labeled (v 0, v 1 ..., v M ) that represent combinations of all the terminals (u 0, u 1 ..., u N ) and functions. Actually, we use the lilgp mechanism for ADF (AutomaticallyDefined Functions). That is, an individual is made of P ADF’sand no main program. It is the fitness function that calls eachone of the independent (non-hierarchical) ADFs. It is important to remark this issue because crossover is homologous, in the sense that subtree vi from individual a will cross with subtree vi of individual b. This makes sense, because if different features in V are independent and even orthogonal, subtrees in v i will not be useful for subtrees in v j , and vice versa. If it is suspected that different features might share some code, the standard ADF approach (i.e. ADFs common to the P main subtrees) would be more efficient [6]. We will test the ADF approach in the future, but we believe that it is better to separate both approaches conceptually and experimentally. 3) The fitness functionWe already have introduced the basic mechanism of the fitness function. It takes the examples expressed in space U, projects them using the GP individual, and obtains a point in space V with P coordinates. Next, a classification algorithm is applied to the projected data. In this case, we have chosen to apply a Simple Linear Perceptron. Adaline or a Fisher Linear Discriminant could have also be applied, but the SP is fast andstable enough. We have preferred to use simple classification schemes in order to avoid overfitting: if both GP projections and the classification scheme have a lot of degrees of freedom, overfitting should be expected. The Perceptron is run for 500 cycles (experimentally we have checked that this is more thanenough). If the SP converges, the projection would be producing a linear separation of the data and it would be the solution to the problem. If the SP does not converge, the fitness assigned to the individual is the number of examples that the SP has been able to correctly classify in the best cycle: if projected data is not linearly separable, the SP will oscillate. Storing the best value guarantees stability of the fitness value.This way, fitness measure is gradual enough and has the resolution necessary to be able to exert a real selective pressure. Pseudocode of the implemented fitness function is shown next:evaluate_fintness (individual) {for every instance i in the training data do read an instance expressed in U coordinates assign values to the terminals u0,u1,..,un express the instance in coordinates of V: examplesV[i].v0 = evaluate_tree (individual.tree[0]); examplesV[i].v1 = evaluate_tree (individual.tree[1]); ...examplesV[i].vM = evaluate_tree(individual.tree[M]);classification_hits = perceptron (examplesV);fitness = classification_hits;return fitness; } III. E XPERIMENTAL V ALIDATION In this paper, we have applied the approach to threedomains: the first one is a simple synthetic domain with aknown solution. We have included this domain in this article because it helps to check the system and to visualize the results. The second one is a synthetic domain, the Ripley data set, widely used as a benchmark. Finally, the third one is the well-known, real-world domain Pima-Indians diabetes data set from UCI database.1)Synthetic DomainIn order to verify the correct operation of our method and to make it more comprehensible, we have decided, as a previous step, to apply it to a toy domain composed of two datasets. In this domain the direct solution is known and the solution given by our method can be easily verified. Datasets Ellipse and EllipseRT were created with this purpose. Both are two-class classification problems with 1000 two-dimensional points. In dataset Ellipse, the examples belonging to class 0 are situated inside an ellipse that is centered in the origin, and whose focuses are placed at points (-10,0) and (10,0). Class 1 instances are situated outside the ellipse. Dataset ElipseRT is similar, but the ellipse has been rotated and translated, being its focuses located at points (10, -10) and (1,7).We ran our application on the data set Ellipse with the following parameters: G = 500; M = 5000; function set = {+, -, *, /, SQR, SQRT}. The number of dimensions selected for the projected space V is 2 in this case, due to considering them sufficient for a so simple problem.The graphical representation (not shown here) shows an almost perfect linear separability of projected data. A Simple Perceptron on the projected data obtains 100% accuracy. The same process was followed with dataset ElipseRT. Parameters for the execution stay the same, but this time, due to the greater complexity of the problem, the dimension of the projected space is 3. A Simple Perceptron applied to it obtains 99,9% accuracy, which means that data has also been separated almost linearly. Fig. 1 displays the projected data. Points belonging to the inside of the ellipse appear blacker and placed in the bottom of the valley-like distribution, whereas points belonging to the outside appear grey, in the rest (upwards) of the figure.Fig. 1 Projected data for the rotated and translated ellipse. Twoclasses: black circles and grey squares2)Ripley Data SetThis artificially generated dataset was used in [7]. Each pattern has two real-valued co-ordinates and a class that can be 0 or 1. Each class corresponds to a bimodal distribution that is a balanced composition of two normal distributions. Covariance matrices are identical for all the distributions and the centers are different. The training set has 1000 patterns and the test set has 250. This domain is interesting because there is a big overlap between both classes and the number of test examples is much bigger than the number of training patterns. On this domain, we have projected the data from its original two-dimensional space into a three-dimensional one were this data can be more easily classified. Five GP-runs were carried out. In all of them, GP has run for 350 generations.T ABLE IC LASSIFICATION R ESULTS ON THE R IPLEYD ATA S ETFig. 2 and Fig. 3 Ripley's data before and after applying the projection (the projection used is the best GP individual obtained in GP-run 2). The projected space has been projected itself to 2 dimensions (simply ignoring one coordinate), for visualization purposes. It can be observed that data can be, almost, linearly separated.Fig. 2 Original Ripley’s Data. Two classes: filled squares and emptysquaresFig. 3 Projected Ripley’s Data in 2-D. Two classes: filled squaresand empty squaresFor comparison purposes, we have applied to this particular domain some well-tested tools from the Weka package. Results are displayed in Table 2. In any case, it is known that the Bayes error on this problem is 0.08% (that is, a 92% accuracy) and that complex Machine Learning techniques values around 92%. Thus, our projection method fares well in this problem compared to other Machine Learning methods (94.81% is definitely an optimistic estimation of the actual accuracy).T ABLE IIS UMMARY OF EXPERIMENTS CARRIED OUT .3)Pima Indians DiabetesThe Pima Indians Diabetes data set studies the influence of diabetes on the American population of Pima Indians. A population of women of Pima Indians was tested for diabetes in accordance with World Health Organization criteria. These data belongs to the National Institute of Diabetes and Digestive and Kidney Diseases and is part of the UCI database. The original data set is composed of 768 instances, with 8 numeric attributes and a class variable labeled 1 or 0 showing whether diabetes was present. There are 268 examples belonging to class 1 and 500 belonging to class 0. The original data set has been split into a training set with 576 examples and a test set with 192 examples, maintaining the proportion between the examples of each class. Our method will project the data from its original eight-dimension space to a new three-dimensional one. Five GP-runs were carried out with different population sizes. In Table 3 we can see the classification accuracy obtained by the experiments.T ABLE IIIC LASSIFICATION R ESULTS ON THE P IMA I NDIANSD IABETES D ATA S ETBy taking the minimum value from training and test, it could be said that our method, with a few number of runs, achieves a 78.65% accuracy. In order to compare the method, we ran a support vector machine (SMO), the simple logistics algorithm, and the Multilayer Perceptron from the Weka tool. Results are displayed in Table IV.T ABLE IVS UMMARY OF EXPERIMENTS CARRIED OUTThis domain has been very well researched. [8] applied 22 algorithms, with 12-fold cross validation. The best result is 77.7%, some other results being even below 70%. Therefore, the results obtained by our approach are comparable to other results shown in the literature. But it has to be remarked that dimensionality has been reduced from 8 to 3, maintaining similar results to other methods.IV.R ELATED W ORKIn [10] the authors use typed GP for building feature extractors. Terminals are arithmetic and relational operators. Terminals are the original (continuous) attributes of the original dataset. Every individual is an attribute and the fitness function uses the info gain ratio. Testing results, using C4.5, show some improvements in some UCI domains. Our approach differs in that our individuals contain as many subtrees as new attributes to be constructed and that the fitness function measures the degree of linear separation in the training data. [11] follows a similar approach to ours, where every individual contains several subtrees, one per feature. C4.5 is used to classify in feature-space instead of the simple scheme (linear separation) we prefer here. Although the author reports very good results in some domains, we believe that allowing GP to find a projection and then using powerful classification schemes can lead rapidly to overfitting. Of course, there are other ways to reduce overfitting, both in GP and in the machine learning scheme. Also, in our experiments we do not limit ourselves to constructing new features and reducing dimensionality. Rather, our intent is to improve classification accuracy, and this can be done by reducing but also by increasing the number of dimensions, in the spirit of Support Vector Machines. Finally, their work allows to cross over subtrees from different features, whereas we use homologous crossover so that only subtrees from the same features from two individuals can be crossed over. We believethat it would be desirable for constructed features to be independent and, even, orthogonal. Therefore, they should evolve independently and not allow to share code between features via crossover, as we do. This assumption might not work in all domains, but in any case, differences in empirical results should be expected with our approach.In [12], GP is used to evolve kernels for Support Vector Machines. Both scalar and vector operations are used in the function set. Fitness is computed from SVM performance using the GP-evolved kernel. The hyperplane margin is used as tiebreaker to avoid overfitting. No attempt is made so that kernel satisfies standard properties (like Mercer’s) but results in testing datasets are very good, compared to standard kernels. Instead of evolving distance or kernel functions, we evolve projections to spaces with larger, equal, or smaller number of dimensions. We believe that evolving actual distance functions or kernels is difficult, because some properties (like transitivity or Mercer’s) are not easy to impose in the fitness computation.In [13], Genetic Programming was used to construct features to classify time series. Individuals were made of several subtrees returning scalars (one per feature). The function set contained typical signal processing primitives (like convolution), statistical, and arithmetic operations. SVM was then used for classification in feature-space. Cross validation on training data was used as fitness function. The system did not outperform the SVM, but managed to reduce dimensionality. This means that it constructed good features to classify time series. However, only some specific time-series domains have been tested. Similarly, [14, 15] assembles image-processing primitives (edge-detectors, ...) to extract multiple features from the same scene to classify terrains containing objects of interest (golf courses, forests, etc.). Linear fixed-length representations for the GP trees are used.A Fisher Linear Discriminant is used for fitness computation. Results are quite encouraging but they restrict themselves to image-processing domains.Results from the bibliography show that, in general, the GP-projection approach has merit and obtains reasonable results, but more research in the subject is needed. New variations of the idea and more domains should be tested.V.C ONCLUSIONSIn this paper we have presented a GP-based method of automatically evolving projections, so that data can be more easily classified in the projected space. Every individual contains as many subtrees as dimensions in the projected space and are evolved independently. This is on purpose, as we want to evolve independent, and possibly orthogonal features, so we believe that they should not share code via crossover. Our approach can reduce dimensionality by constructing more relevant attributes, but also allows to increase dimensionality, in case classification is more feasible in higher dimensional spaces (in the spirit of Support Vector Machines). The fitness function projects the training data and computes the degree of linear separability by running a Simple Linear Perceptron. We have chosen a simple classification scheme because if GP is allow to evolve any projection, a complex classification scheme would add too many more degrees of freedom and lead easily to overfitting. Also, in evolutionary computation, it is desirable that the fitness function be fast to compute.We have tested our approach in three domains: a toy ellipse classification domain, the overlapping Ripley’s data and the UCI diabetes data. Some experiments reduced dimensionality, and some others increased it. Our method has obtained results comparable to other Machine Learning algorithms cited in the literature in most of the domains. In many cases, results are comparable, but dimensionality is greatly reduced. So, our method constructs good attributes from raw ones.In the future, we would like to automate most parameter adjustment tasks so that the user need only introduce the examples and he receives them expressed in a space V where classification accuracy is as good as possible. In particular, the system itself should decide the dimension (higher or lower) of the projected space.Clearly, overfitting is still a problem and we should modify the fitness function so that more realistic estimates are computed. Also, new ways of computing the fitness could be tested, by using other simple classification approaches like ADALINE, or nearest neighbor. In addition, we believe that more complex Machine Learning approaches could be used on the projected data, after evolution took place. That is, if near linear separability is achieved, it is likely that if a Neural Network is applied on the projected data, even better accuracies could be achieved. This was not the case on the domains tested here, probably because we were already on the limit of what could be obtained. But in other domains, this approach could work. We believe that this is better, with respect to overfitting, than using more complex classification schemes directly in the fitness function.R EFERENCES[1]N. Cristianini and J. Shawe-Taylor. An introduction to Support VectorMachines (and other kernel-based learning methods). Cambridge University Press, 2000.[2]T. Fawcett and P. Utgoff. A hybrid method for feature generation. InProceedings of the Eighth International Workshop on Machine Learning, pages 137– 141, Evanston, IL.[3]S. Kramer. Cn2-mci: A two-step method for constructive induction. InProceedings of ML-COLT’94.[4] B. Pfahringer. Cipf 2.0: A robust constructive induction system. InProceedings of ML-COLT’94, 1994. W. D. Doyle, “Magnetization reversal in films with biaxial anisotropy,” in 1987 Proc. INTERMAG Conf., pp. 2.2-1–2.2-6. G. W. Juette and L. E. Zeffanella, “Radio noise currents n short sections on bundle conductors (Presented Conference Paper style),” presented at the IEEE Summer power Meeting, Dallas, TX, June 22–27, 1990, Paper 90 SM 690-0 PWRS.[5]John R. Koza. Genetic Programming: On the Programming ofComputers by Means of Natural Selection. MIT Press, Cambridge, MA, USA, 1992.[6]John R. Koza. Genetic Programming II: Automatic Discovery ofReusable Programs. MIT Press, Cambridge Massachusetts, May 1994.[7] B.D. Ripley. Pattern Recognition and Neural Networks. Cambridge:Cambridge University Press, 1996.[8] D. Michie, D. J. Spiegelhalter, and C.C. Taylor. Machine learning,neural and statistical classification. Ellis Horwood, 1994.[9]Benjamin Blankertz, Gabriel Curio, and Klaus-Robert M¨uller.Classifying single trial eeg: Towards brain computer interfacing. In Advances in Neural Inf. Proc. Systems 14 (NIPS 01), 2002.[10]Fernando E. B. Otero, Monique M. S. Silva, Alex A. Freitas, and JulioC. Nievola. Genetic programming for attribute construction in datamining. In Conor Ryan, Terence Soule, Maarten Keijzer, Edward Tsang, Riccardo Poli, and Ernesto Costa, editors, Genetic Programming, Proceedings of EuroGP’2003, volume 2610 of LNCS, pages 389–398, Essex, 14-16 April 2003. Springer-Verlag.[11]Krzysztof Krawiec. Genetic programming-based construction of featuresfor machine learning and knowledge discovery tasks. Genetic Programming and Evolvable Machines, 3(4):329–343, December 2002.[12]Tom Howley and Michael G. Madden. The genetic kernel supportvector machine: Description and evaluation. Artificial Intelligence Review, To appear, 2005.[13]S. Davis S. Perkins J. Ma R. Porter D. Eads, D. Hill and J. Theiler.Genetic algorithms and support vector machines for time series classification. In Proceedings SPIE 4787 Conference on Visualization and Data Analysis, pages 74–85, 2002.[14]John J. Szymanski, Steven P. Brumby, Paul Pope, Damian Eads, DianaEsch-Mosher, Mark Galassi, Neal R. Harvey, Hersew D. W. McCulloch, Simon J. Perkins, Reid Porter, James Theiler, A. Cody Young, Jeffrey J.Bloch, and Nancy David. Feature extraction from multiple data sources using genetic programming. In Sylvia S. Shen and Paul E. Lewis, editors, Algorithms and Technologies for Multispectral, Hyperspectral, and Ultraspectral Imagery VIII, volume 4725 of SPIE, pages 338–345, August 2002.[15]Neal R. Harvey, James Theiler, Steven P. Brumby, Simon Perkins, JohnJ. Szymanski, Jeffrey J. Bloch, Reid B. Porter, Mark Galassi, and A.Cody Young. Comparison of GENIE and conventional supervised classifiers for multispectral image feature extraction. IEEE Transactions on Geoscience and Remote Sensing, 40(2):393–404, February 2002.。