进化算法

【转载】AutoML研究分析

自作多情 提交于 2020-02-14 00:56:13
参考简书文章 AutoML研究分析 ,少有改动 文章目录 1. Auto Keras 2. 其它AutoML产品(工具包) 2.1 AutoWEKA 2.2 Auto-sklearn 2.3 H2O AutoML 2.4 Google Cloud AutoML 3. AutoML实现原理分析 3.1 NAS 3.1.1 搜索空间 3.1.2 搜索策略 3.1.3 性能评估策略 3.1.4 NAS未来的方向 3.1.5 NAS的演进 3.2 Hyper-parameter optimization 3.3 Meta-Learning 3.4 算法相关 3.4.1 强化学习 3.4.2 进化算法 3.4.3 贝叶斯优化 4. AutoML应用场景 参考材料 AutoML全称是automated machine learning,下面有一段AutoML不是什么的描述: AutoML is not automated data science. While there is undoubtedly overlap, machine learning is but one of many tools in the data science toolkit, and its use does not actually factor in to all data science tasks.

是AI就躲个飞机-纯Python实现人工智能

半腔热情 提交于 2019-12-06 16:23:16
你要的答案或许都在这里: 小鹏的博客目录 MachineLP的Github(欢迎follow): https://github.com/MachineLP 代码下载: Here 。 很久以前微信流行过一个小游戏:打飞机,这个游戏简单又无聊。在2017年来临之际,我就实现一个超级弱智的人工智能(AI),这货可以躲避从屏幕上方飞来的飞机。本帖只使用纯Python实现,不依赖任何高级库。 本文的AI基于 neuro-evolution ,首先简单科普一下neuro-evolution。从neuro-evolution这个名字就可以看出它由两部分组成-neuro and evolution,它是使用进化算法(遗传算法是进化算法的一种)提升人工神经网络的机器学习技术,其实就是用进化算法改进并选出最优的神经网络。 neuro-evolution 定义一些变量: import math import random # 神经网络3层, 1个隐藏层; 4个input和1个output network = [4, [16], 1] # 遗传算法相关 population = 50 elitism = 0.2 random_behaviour = 0.1 mutation_rate = 0.5 mutation_range = 2 historic = 0 low_historic = False

自动化模型选择

倾然丶 夕夏残阳落幕 提交于 2019-12-03 22:52:13
1、自动化模型选择核心问题 1.1搜索空间 搜索空间定义了对分类问题或回归问题的可选择的机器学习算法,如KNN、SVM、k-means等。 1.2搜索策略 搜索策略定义了使用怎样的算法可以快速准确找到最优的模型。常见的搜索方法包括贝叶斯优化、进化算法等。 2、自动化模型选择 2.1基于贝叶斯优化的自动化模型选择 2.1.1Auto-WEKA 将机器学习算法规约成组合算法选择和超惨优化(Combined Algorithm Selection and Hyper-parameter optimization, CASH)问题 (1)搜索空间 Auto-WEKA中包含39中基本元素: 27中基分类器,比如KNN、SVM、LR等 10中meta分类器,比如AdaBoostM1、LogitBoost等 2中ensemble方法,Vote和stacking 其中,meta分类器可以任选一种基分类器作为输入,ensemble分类器可以使用最多5种基分类器作为输入 数据方面,使用k-fold交叉验证 (2)搜索策略 CASH问题的优化算法有两种:Sequential Model-based Algorithm Configuration(SMAC)和Tree-structured Parzen Estimator(TPE),都属于SMBO算法( 一种贝叶斯优化的算法 ) 2.1.2auto

差分进化算法

匿名 (未验证) 提交于 2019-12-03 00:22:01
一、简介 演化算法 一样,DE是一种模拟生物进化的随机模型,通过反复迭代,使得那些适应环境的个体被保存了下来。但相比于进化算法,DE保留了基于种群的全局搜索策略,采用实数编码、基于差分的简单变异操作和一对一的竞争生存策略,降低了遗传操作的复杂性。同时,DE特有的记忆能力使其可以动态跟踪当前的搜索情况,以调整其搜索策略,具有较强的全局收敛能力和 鲁棒性 ,且不需要借助问题的特征信息,适于求解一些利用常规的数学规划方法所无法求解的复杂环境中的优化问题。目前,DE已经在许多领域得到了应用,譬如人工神经元网络、化工、电力、机械设计、机器人、信号处理、生物信息、经济学、现代农业、食品安全、环境保护和 运筹学 等。 DE 算法主要用于求解连续变量的全局优化问题,其主要工作步骤与其他进化算法基本一致,主要包括变异(Mutation)、交叉(Crossover)、选择(Selection)三种操作。算法的基本思想是从某一随机产生的初始群体开始,利用从种群中随机选取的两个个体的差向量作为第三个个体的随机变化源,将差向量加权后按照一定的规则与第三个个体求和而产生变异个体,该操作称为变异。然后,变异个体与某个预先决定的目标个体进行参数混合,生成试验个体,这一过程称之为 交叉。如果试验个体的适应度值优于目标个体的适应度值,则在下一代中试验个体取代目标个体,否则目标个体仍保存下来,该操作称为选择

差分进化算法优化集成参数

匿名 (未验证) 提交于 2019-12-02 23:43:01
一、差分进化的思想    二、差分进化优化集成参数 def fitness(w): #计算适应度值函数 trainX, Y_train, testX, Y_test = classifier.feature_sec() predict = [] m = classifier.Y_test.shape[0] #for Xi in model.testX: clf1 = classifier.clfLR(trainX, Y_train, testX, Y_test) clf2 = classifier.clfLDA(trainX, Y_train, testX, Y_test) clf3 = classifier.clfNB(trainX, Y_train, testX, Y_test) clf4 = classifier.clfSVM(trainX, Y_train, testX, Y_test) clf5 = classifier.clfPLA(trainX, Y_train, testX, Y_test) f1 = np.array(clf1.predict_proba(testX)) f2 = np.array(clf2.predict_proba(testX)) f3 = np.array(clf3.predict_proba(testX)) f4 = np.array