linux下统计一分钟信息数,各算法理解 - osc_zegihifx的个人空间 - OSCHINA - 中文开源技术交流社区...

α是什么含义?

α在梯度下降算法中被称作为学习率或者步长,意味着我们可以通过α来控制每一步走的距离,以保证不走太快,错过了最低点。同时也要保证不要走的太慢,导致太阳下山了,还没有走到山下。所以α的选择在梯度下降法中往往是很重要的!α不能太大也不能太小,太小的话,可能导致迟迟走不到最低点,太大的话,会导致错过最低点。如下图所示:

ac750193adf399318c403d18d170284c.png

为什么要梯度要乘以一个负号?

梯度前加一个负号,就意味着朝着梯度相反的方向前进!梯度的方向实际就是函数在此点上升最快的方向!而我们需要朝着下降最快的方向走,自然就是负的梯度的方向,所以此处需要加上负号(有爬山和下山之分)

实例以及具体实例python算法见:https://www.jianshu.com/p/c7e642877b0e

2、退火算法

在实际日常中,人们会经常遇到如下问题:在某个给定的定义域X内,求函数f(x)

对应的最优值。此处以最小值问题举例(最大值问题可以等价转化成最小值问题),形式化为:

6a5f47d08a76dd088fa4fc50724498ca.png

69a3f63ddf66a6d0d98ecee7bffee714.png

de40adfba724dcb69fc5d00ba37765bb.png

minx∈Xf(x).

模拟退火算法基本思想:

模拟退火其实也是一种贪心算法,但是它的搜索过程引入了随机因素。在迭代更新可行解时,以一定的概率来接受一个比当前解要差的解,因此有可能会跳出这个局部的最优解,达到全局的最优解。以下图为例,假定初始解为左边蓝色点A,模拟退火算法会快速搜索到局部最优解B,但在搜索到局部最优解后,不是就此结束,而是会以一定的概率接受到左边的移动。也许经过几次这样的不是局部最优的移动后会到达全局最优点D,于是就跳出了局部最小值。

d9ef07a16d72c79d136015f15b51673b.png

473415fef24e736ceddbb229aca9820c.png

模拟退火算法描述:

b43e194e99238380f35f15c84109cfca.png

de58d875a9b6465c1677a436891f8d65.png

模拟退火算法的优缺点:

e17076fbb2225e334ef6ae169c769bd9.png

具体实例python实现参考:https://blog.csdn.net/AI_BigData_wh/article/details/77943787?locationNum=2&fps=1

3、粒子种群算法

(1)问题提出

设想这样一个场景:一群鸟在随机的搜索食物。在这个区域里只有一块食物,所有的鸟都不知道食物在哪。但是它们知道自己当前的位置距离食物还有多远。

那么找到食物的最优策略是什么?

最简单有效的就是搜寻目前离食物最近的鸟的周围区域。

(2)算法介绍

❃每个寻优的问题解都被想像成一只鸟,称为“粒子”。所有粒子都在一个D维空间进行搜索。

❃所有的粒子都由一个fitness-function确定适应值以判断目前的位置好坏。

❃每一个粒子必须赋予记忆功能,能记住所搜寻到的最佳位置。

❃每一个粒子还有一个速度以决定飞行的距离和方向。这个速度根据它本身的飞行经验以及同伴的飞行经验进行动态调整。(3)基本PSO公式

8c2319af8f26d39c8d0eb53880cabaf3.png

(3)基本PSO算法流程图

b078f8f84bbe4a6ebf4530372599f212.png

关于每个粒子的更新速度和位置的公式如下:

cd5daa09b7609cffdd2e2b01df0aedda.png

具体实例详见:https://blog.csdn.net/zuochao_2013/article/details/53431767?ref=myread

4、遗传算法

(1)遗传算法:就是在一个解空间上,随机的给定一组解,这组解称为父亲种群,通过这组解的交叉,变异,构建出新的解,称为下一代种群,然后在目前已有的所有解(父亲种群和下一代种群)中抽取表现好的解组成新的父亲种群,然后继续上面的过程,直到达到了迭代条件或者获取到了最优解(一般都是局部最优解)。

就像生物进化一样,一群生物,不适应环境的被淘汰了,剩下来的生物适应环境,所以他们会产生后代继承他们的优秀基因(这里也包含了基因的变异),他们的后代也是这样一直被自然选择下去,直到最后必然会产生最适应环境的个体。

(2)遗传算法的框架

2df1156fb781bd3148bb4e47b15980bb.png

(3)对框图解释

适应度

所谓的适应度,本质上可以理解为一个代价函数,或者一个规则,通过对初始种群中的个体计算适应度,能够得到对初始种群中的个体是否优劣的一个度量

选择

选择操作是根据种群中的个体的适应度函数值所度量的优、劣程度决定它在下一代是被淘汰还是被遗传。

b93e67d7f5e8d63955924e780579ebf1.png

02da9cd66e9c118a523f38fbbe120e3c.png

具体见:https://blog.csdn.net/changyuanchn/article/details/80331134

5、蚁群算法

(1)原理

蚂蚁找到食物的时候,就会向环境周围散发一种信息素,当然了,信息素是在一定范围内有效的,随着时间推移会消失。其他的蚂蚁如果发现这种信息素了就会过来,这样,就会有更多的蚂蚁找到食物。当然了,如果最开始的蚂蚁找到的路径可能不是最优的,那么蚂蚁是怎样找到最优的路径呢?这就要归功于蚂蚁的创新精神了。在蚂蚁感受到信息素的时候他会沿着信息素多的方向走,但是他们偶尔也会另辟蹊径,如果他们通过这条路也找到了食物,而且这条路比之前的路更短,那么逐渐的更多的蚂蚁会被吸引到这条路径上来。为什么会有这样的事情发生呢?因为在相同的时间里,路径越短,蚂蚁走的次数就越多,散发的信息素浓度越高。

4b2597a199d156298b195121797b1d98.png

(2)蚁群算法规则:

1、觅食规则

蚂蚁感知范围是一个3*3的格子,也就是说,他这个格子中有食物就直接过去。

2、移动规则

蚂蚁会朝着信息素浓的地方移动,如果没有感知到信息素,就会按着惯性一直走下去,别忘了,蚂蚁会创新呦!

3、避障规则

蚂蚁在遇到障碍物的时候会选择随机方向移动,同时遵循上面两个规则。

4、信息素规则

蚂蚁在刚发现食物的时候挥洒的信息素会多,距离越远,信息素越少。

蚁群算法是寻找最优路径的算法,当然蚁群算法在寻找路径的过程中可能会陷入局部最优解,蚁群算法为自组织寻找路径行为,适用于多无人系统路径规划相关方向。

原文以及实现:https://blog.csdn.net/zlk961543260/article/details/70172647

6、爬山算法

(1)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值