阳光倾洒
目前专注于大学生项目实战开发,讲解,毕业答疑辅导以及产品测评、宣传、工具推广等合作。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
「深度学习之优化算法」(十九)蚁狮算法
蚁狮算法(Ant Lion Optimization)是根据蚁狮挖制漏斗状陷阱进行捕食蚂蚁的过程提出的优化算法。算法提出于2015年(2014年末),也是一个比较新的算法,不过好像相关的论文也比较多了。算法的过程和操作步骤比较简单,算法的效果却出乎意料的好,不过算法的实现与蚁狮的行为不是很匹配,但这也不会影响我们的理解。 蚁狮算法中,每个蚁狮以及蚂蚁的位置表示解空间中的一个可行解。蚂蚁在选择一个蚁狮,在其陷阱范围内进行随机游走(random walk)。蚁狮会吃掉陷阱范围内位置最优的个体(取代其位置原创 2023-09-19 17:48:27 · 1038 阅读 · 0 评论 -
「深度学习之优化算法」(十八)头脑风暴算法
可能大家对“头脑风暴”这个词不怎么熟,毕竟是外来词汇,其大概含义就是分组讨论,畅所欲言。头脑风暴算法(Brain Storm Optimization)是根据人们进行“头脑风暴”讨论困难问题的解决方案的过程而提出的优化算法。算法提出于2011年,很高兴,这又是一个中国人提出的优化算法,不过该算法的描述和实现都比较复杂,相关的论文也不多,大家可以尝试对其进行“开发”。原创 2023-07-22 08:05:04 · 563 阅读 · 0 评论 -
「深度学习之优化算法」(十七)灰狼算法
灰狼算法(Grey Wolf Algorithm)是受灰狼群体捕猎行为启发而提出的算法。算法提出于2013年,仍是一个较新的算法。目前为止(2020)与之相关的论文也比较多,但多为算法的应用,应该仍有研究和改进的余地。灰狼算法中,每只灰狼的位置代表了解空间中的一个可行解。群体中,占据最好位置的三只灰狼为狼王及其左右护法(卫)。在捕猎过程中这三只狼将带领着狼群蛇皮走位,抓捕猎物,直至找到猎物(最优解)。原创 2023-07-21 10:02:35 · 1262 阅读 · 0 评论 -
「深度学习之优化算法」(十六)万有引力算法
万有引力算法根据万有引力提出,结合了牛顿第二定律,可以说其操作步骤与真实的物理规律非常的贴切。不过就像前文说过,受物理现象启发而来的优化算法其性能是未知的,因为它们不具备智能,只有着规律,有规律就会存在弱点,就会有搜索盲区。宇宙那么大,肯定存在没有任何天体到达过的空间。不过由于万有引力算法流程简单,理解方便,其优化方案和能改进的地方相对较多。万有引力算法的收敛速度过快,导致其全局搜索能力较弱而局部搜索能力很强,容易陷入局部最优。原创 2023-07-19 14:30:19 · 654 阅读 · 0 评论 -
「深度学习之优化算法」(十五)混合蛙跳算法
混合蛙跳算法是提出近20年,其实现的方式与分治的思想有异曲同工之处。由于每次都更新的是每片荷叶上的最差位置的青蛙,故群体不容易集中于较小的范围。同时由于“三段跳”的操作,让混合蛙跳算法有了一定的跳出局部最优能力。其全局搜索能力和局部搜索能力应该差不多,当最差的部分青蛙跳走后,次差的部分青蛙则会变成了最差的青蛙,此时群体不会过分集中。当群体相对分散时,为搜索范围较大的全局搜索,反之为搜索范围较小的局部搜索,由于收敛速度不算很快,所以进行全局搜索和局部搜索的时间相对均衡。原创 2023-07-18 09:36:10 · 1997 阅读 · 0 评论 -
「深度学习之优化算法」(十四)麻雀搜索算法
麻雀算法是2020年刚提出的算法,从文章上看,可能赶上疫情,时间比较紧迫,文中的公式有些许错误,算法的思想与实现不是很契合,算法的具体实现和实验有投机取巧之嫌。(仅个人一孔之见,轻喷)。算法的局部搜索能力极强,收敛速度较快,但全局搜索能力较弱且跳出局部最优的操作较弱,易陷入局部最优。整体结构上看,是一个弱化的人工蜂群算法。原创 2023-07-17 09:01:55 · 5682 阅读 · 0 评论 -
「深度学习之优化算法」(十三)蝙蝠算法
蝙蝠算法提出距今10年,也算法是一个新算法。算法根据蝙蝠觅食的行为对粒子群算法进行了改造。就结果而言,蝙蝠算法可以看做是一个弱化的粒子群,抛弃了粒子群的部分优点(速度最大限制和向着两个目标飞行),引入了频率来控制飞行速度,导致飞行的速度没有粒子群的随机性好,更加容易陷入局部最优,但收敛速度更快。原始论文的描述不清晰,关键的部分描述的模棱两可,而其他的改进蝙蝠算法的论文中的描述与原始论文如出一辙,感觉并未对算法流程有明确的了解。原创 2023-07-14 08:30:57 · 1548 阅读 · 0 评论 -
「深度学习之优化算法」(十二)水波算法
水波算法也是一个新兴算法,算法的流程较为复杂且可修改参数较多。算法的流程和思想与蜂群算法有点类似,但水波算法更为复杂。水波算法的三个搜索策略,传播是一个全局搜索行为,也有一定的跳出局部最优能力;折射则是一个局部搜索过程,由于正态分布的原因,有较小的概率产生跳出局部最优的操作;碎浪则是一个更进一步的局部搜索,只在最优位置附近搜索。原创 2023-07-12 09:47:32 · 1244 阅读 · 0 评论 -
「深度学习之优化算法」(十一)鲸鱼算法
鲸鱼算法作为一个新兴算法,我对它的研究也不是太多。纵观算法的流程,可以看出标准的鲸鱼算法和萤火虫算法有相似之处,它们都是在算法前期进行全局搜索,而在算法的后期进行局部搜索,也都没有跳出局部最优的操作。在面对简单问题上表现出的优秀性能到了复杂问题上可能会有所下降,但是由于算法流程、结构相对简单,算法的改进点感觉也不是太多。原创 2023-07-11 08:27:18 · 1805 阅读 · 0 评论 -
「深度学习之优化算法」(十)烟花算法
烟花算法的探究远不止如此,几年前作为一个较新的算法来学习时却已经有了大量的论文和书籍,可见大家对烟花算法已经有了较为深入的研究,而我能做的只是应用算法解决问题以及稍作改进让算法与问题的适应性更高。烟花算法产生正常火星的过程为算法提供了搜索能力,产生特殊火星的过程和选择过程为算法提供了跳出局部最优的能力。但是个人认为选择过程与其他过程的适应性不是很好。标准的选择过程会丢失掉许多较优的个体,使之前产生的正常火星得到的成果没有保留。原创 2023-07-08 08:27:46 · 1254 阅读 · 0 评论 -
「深度学习之优化算法」(九)群搜索算法
群搜索算法的探究也到此为止,群搜索算法的流程比较复杂,作为我的入门算法,我当年也头疼了几天,现在看来,不能说它“也不过如此”,至少流程上清晰了不上,由于是当年的入门算法,我的侧重点也放在了应用上,对于改进并没与太多的研究,此处也只是分析了某些参数的作用以及对结果的影响。相对标准群搜索算法,后面的实验主要在研究发现者,跟随者,游荡者的作用。其中可以明确的得出,游荡者起到了跳出局部最优的作用,跟随者的作用是局部搜索和少量的局部搜索,而发现者的作用是引导跟随者。原创 2023-07-04 08:32:20 · 880 阅读 · 0 评论 -
「深度学习之优化算法」(八)萤火虫算法
萤火虫算法的探究到此也到了尾声,萤火虫算法的思想相对比较简单,但是实际的实现仍然有点复杂,尤其是论文与实现之间的区别让人头疼。相对标准萤火虫算法,给出了3种改进方案,都对算法的性能有一定的提升。由于改进点各不相同,因此这3种方案可以两两混合产生新的方案,此处不再赘述。原创 2023-07-03 08:38:08 · 562 阅读 · 0 评论 -
「深度学习之优化算法」(七)杜鹃搜索算法
杜鹃搜索算法的探究到此也告一段落,杜鹃搜索算法的流程相对比较简单,但是杜鹃们的搜索行为则比较复杂,我们较为详细的看了levy飞行的实现以及其分布的特点,可以看出levy飞行实际上实现了一个类似与买彩票的过程,不得奖或的小奖的概率较大,但是得大奖的概率非常低,的大奖一次既可以改变(人生)轨迹。从图像可以看出,没有了levy飞行的杜鹃们,它们的收敛速度变快了,同时,它们的飞行路线明显少于标准杜鹃搜索算法,这表明没有levy的杜鹃们的搜索能力弱于标准杜鹃搜索算法,我们看一看结果。每一个寄生鸟窝是一个候选解。原创 2023-06-29 09:49:00 · 758 阅读 · 0 评论 -
「深度学习之优化算法」(六)人工蜂群算法
蜜源的数量上限等于采蜜蜂的数量上限。当最大迭代次数为200时,人工蜂群算法的结果如上图,我们可以明显的看出,随着采蜜蜂上限的上升,算法结果的精度在不断的下降,这也印证了之前的结果,由于蜜源搜索次数较大(即搜索深度较深)采蜜蜂数量越多(搜索广度越多),结果的精度越低。看了看采蜜蜂上限为50%总群数时的图,发现也有几个点不动的状态,可以看出,这时不动的点的数量明显多于上限为10%总数的图,原因很简单,采蜜蜂太多,“先富”的人太多,而“后富”的人较少,没有带动“后富者”的“先富者”也得不到发展。原创 2023-06-23 11:45:04 · 1189 阅读 · 0 评论 -
「深度学习之优化算法」(五)差分进化算法
每次迭代将先进行变异操作,选择一个或多个个体的基因作为基,然后选择不同的个体的差分来构成差分基因,最后将作为基的基因与差分基因相加来得出新的个体。,大喊一声,进化吧,魔王兵i的基因改变了。交叉率CR,影响基因取自变异基因的比例,由于至少要保留一位自己的基因和变异的基因导致CR在该问题上对算法性能的影响不大(这个问题比较简单,维度较低,影响不大)。与遗传算法同为进化算法的差分进化算法,它们的操作(算子)也都非常相似的,都是交叉,变异和选择,流程也几乎一样(遗传算法先交叉后变异,差分进化算法先变异后交叉)。原创 2023-06-18 18:34:46 · 1377 阅读 · 0 评论 -
「深度学习之优化算法」(四)遗传算法
遗传算法的探究到此也告一段落,在研究遗传算法时总有一种力不从心的感觉,问题可能在于遗传算法只提出了一个大致的核心思想,其他的实现细节都需要自己去思考,而每个人的思维都不一样,一万个人能写出一万种遗传算法,其实不仅是遗传算法,后面的很多算法都是如此。为什么没有对遗传算法的参数进行调优,因为遗传算法的参数过于简单,对结果的影响的可解释性较强,意义明显,实验的意义不大。原创 2023-06-15 09:27:29 · 1982 阅读 · 0 评论 -
「深度学习之优化算法」笔记(三)之粒子群算法
那么问题来了,为什么粒子群算法需要一个惯性速度,它的作用是什么呢?粒子群算法是一种概率算法,所以并不能使用一次实验结果来判断算法的性能,我们需要进行多次实验,然后看看这些实验的效果最终来判断,结果必须使用多次实验的统计数据来说明,一般我们都会重复实验30-50次,为了发论文去做实验的小伙伴们不要偷懒哦。4. 每只鸟为了找到食物量更多的地方,于是向着G飞行,但是呢,不知是出于选择困难症还是对P的留恋,或者是对G的不信任,小鸟向G飞行时,时不时也向P飞行,其实它自己也不知道到底是向G飞行的多还是向P飞行的多。原创 2023-06-15 09:15:02 · 1536 阅读 · 0 评论 -
「深度学习之优化算法」笔记(二)优化算法的分类
但是由于生物的局限性,人们所创造出的算法也会有局限性:我们所熟知的生物都生存在三维空间,在这些环境中,影响生物生存的条件比较有限,反应到算法中就是这些算法在解决较低维度的问题时效果很好,当遇到超高维(维度>500)问题时,结果可能不容乐观,没做过实验,我也不敢乱说。当然,他们的目的不是在最佳狩猎位置集合,他们的目的是在过去的途中看是否能发现更加好的狩猎位置,去往已经到过的狩猎地点再次狩猎是没有意义的,因为每个位置获取食物的难易程度是固定的。如果他们的策略是“不跟随最优解”,那么他们的策略是什么呢?原创 2023-06-15 08:51:14 · 1227 阅读 · 0 评论 -
「深度学习之优化算法」笔记(一):优化算法概述
优化算法处理的问题都是客观的问题,如果遇到主观的问题,比如“我孰与城北徐公美”,我们需要将这个问题进行量化而转换成客观的问题,如身高——“修八尺有余”,“外貌——形貌昳丽”,自信度——“明日徐公来,孰视之,自以为不如;现在我们无法马上得出确切的答案,因为最短的线路可能并不是最快的路线,还需要考虑到天气,交通路况等因素,该问题的结果是一个动态的结果,不同的时间不同的天气我们很可能得出不同的结果。”的意思是:人生是有限的,但知识是无限的(没有边界的),用有限的人生追求无限的知识,是必然失败的。原创 2023-06-14 08:33:57 · 944 阅读 · 0 评论