150 likes | 368 Views
by MYZ. xiao feng zhi. XMU-DM. title. 蜂群算法与PSO解决SVM参数优化. t. f. in. CONTACT US. 4. 5. 1. 2. 3. 报告提纲. 介绍蜂群算法的基本过程. 对蜂群算法进行总结. 根据对蜂群的总结,讨论一下PSO算法. 介绍SVM基础. 利用PSO寻找SVM参数. 蜂群算法研究. The study of Artificial Bee Colony Algorithm. 蜂群算法简介.
E N D
by MYZ xiao feng zhi XMU-DM title 蜂群算法与PSO解决SVM参数优化 t f in CONTACT US
4 5 1 2 3 报告提纲 介绍蜂群算法的基本过程 对蜂群算法进行总结 根据对蜂群的总结,讨论一下PSO算法 介绍SVM基础 利用PSO寻找SVM参数
蜂群算法研究 The study of Artificial Bee Colony Algorithm
蜂群算法简介 • 蜂巢中的蜜蜂在蜂巢附近搜索食物源,并且通过摇摆舞把食物源的信息带回蜂巢,从而招募更多的蜜蜂进行采蜜。 • 在ABC算法中,蜂巢内共有三种蜜蜂:雇佣蜂,旁观蜂,侦查蜂。 • <1>、侦查蜂:探寻蜂巢周围的食物源,并且获取有关食物源的花蜜质量的信息,然后返回蜂巢,在舞蹈区通过蜜蜂独特的8字摇摆舞传达有关蜜源的信息。 • <2>、旁观蜂:在蜂巢的旁观蜂通过观察舞蹈区内有关蜜源的信息,从决定是否跟随跳舞的蜜蜂采蜜。 • <3>、雇佣蜂:一旦旁观蜂决定跟随舞蹈区内的蜜蜂时,就由旁观蜂的角色转变为雇佣蜂,跟随先前的蜜蜂前往食物源采蜜。当食物源的花蜜被采集完毕时,雇佣蜂又转变为旁观蜂。
三种蜜蜂的作用 所有可能的解决方案区域 扩大后此区域找到最优 雇佣蜂和旁观蜂 作用是在此区域内 找到最优值 侦查蜂的作用 扩大这个搜索区域
每个食物源就代表一个解决方案,食物源花蜜的质量就代表问题解的质量。每个食物源就代表一个解决方案,食物源花蜜的质量就代表问题解的质量。 当一只蜜蜂访问一处食物源时,若此食物源的花蜜质量优于这只蜜蜂先前的花蜜质量,那么蜜蜂重新选择此处为新的蜜源,并且返回蜂巢和其他蜜蜂分享食物源的信息。否则它将保持先前的位置。
蜂群算法伪代码 • 1、Initialsolution() • //初始化解决方案Xij,( i=1,2……SN,j=1,2……D) • 其中SN为解决方案的总数,D为个方案中参数的个数。 • 2、cycle=0; • 3、重复执行: • 4、雇佣蜂阶段:ProcessEmployedBee(); • GenerateNeighborMemorySolution(); • //产生邻近方案 • 判断是否放弃食物源; • 判断是否更新食物源信息; • 5、侦查蜂阶段:ProcessScoutBee(); • 搜索蜂巢周边的食物源; • 发现更好的食物源则更新信息; • 6、旁观蜂阶段:在舞蹈区观察并选择更好的食物源; • Cycle=cycle+1; • 7、每次记录目前为止最佳的解决方案; • 8、直到cycle超过最大循环次数,退出循环 • 9、返回最佳的解决方案
review Contents 蜂群算法的特点: 三种角色分工不同 雇佣蜂对应局部搜索能力 侦查蜂对应全局搜索能力 旁观蜂平衡二者能力 蜂群算法的总结 1、初始化解决方案 获取最优方案 2、进入迭代 每个个体根据最优方案调整自身方案 或者随机搜寻 获取最优方案 3、满足条件退出迭代,返回最优值 根据结果和规则,找更多的方案 满足条件返回结果 找方案 计算方案
想象一个空间就是一个平面,其中最优解是平面上不知道在哪里一个点,平面上有很多粒子,每个粒子移动到一个点上就计算解的质量,然后根据已知的最优解和自身的最优解来调整自己的位置,不断扩大搜索空间,进而靠近最优解。想象一个空间就是一个平面,其中最优解是平面上不知道在哪里一个点,平面上有很多粒子,每个粒子移动到一个点上就计算解的质量,然后根据已知的最优解和自身的最优解来调整自己的位置,不断扩大搜索空间,进而靠近最优解。 PSO算法简介 初始化 退出 迭代 根据公式调整粒子的位置和运行速度,获取新的解决方案 当满足迭代条件退出 生成解决方案 计算解决方案质量 返回优化结果 计算新方案的质量 获取个体最优和全局最优 获取新的个体最优以及全局最优
review Contents PSO算法的解决方案更新公式 惯性权重更新公式:
蜂群和PSO的对比 PSO ABC 迭代 迭代 退出 初始化 初始化 退出 按公式随机搜寻邻近方案调整方案 蜜蜂生成解决方案 按公式随机更新位置 初始化粒子 到达最大迭代次数退出 到达最大迭代次数退出 获取最优解 获取粒子最优解 计算最优解 计算最优解
启发式的随机算法 review Contents 硬要凑一个不同点? 细节上得相同点 携带解决方案 蜜 蜂 粒 子 潜在的解决方案 粒子的位置 花 朵 防止陷入局部最优 蜜源枯竭 粒子粘滞次数 雇佣蜂的局部搜寻能力 粒子惯性权重w小的情况 动态的调整 相互作用 线性的变化 旁观蜂的转变 粒子的w 侦查蜂的全局搜索能力 粒子惯性权重w大的情况 相同的退出条件 迭代次数达到最大退出 迭代次数达到最大退出 其实还是殊途同归
SVM的逆袭 • 算法介绍中断,现场保护 • 进入SVM简介部分
基于PSO算法的SVM参数优化 review Contents 粒子的数量number_of_particle; 学习因子c1,c2; 最大迭代次数iter; 搜索空间的范围 x_max , x_min; 粒子更新速度的范围v_max , v_min; 1、把c,g参数当成解决方案 x_cg[c][g] 2、设置各种参数的值,并初始化粒子群 参数: 3、程序根据获取的c,g值调用libsvm对训练集进行训 练,并计算模型预测的准确率(这个准确率就是用来评价解决方案优劣的指标);算出个体最优和全局最优 4、进入迭代 count++ 根据公式调整粒子的位置 判断粒子的位置和速度有没有超出范围 再调用libsvm计算新的准确率,得到新的最优值 做一些粘滞次数的判断,或者选择一些粒子随机更新位置 5、count >iter,返回最优值,并退出循环
谢谢观赏 Make Presentation much more fun @WPS官方微博 @kingsoftwps