?
一、灰狼算法
1.1 背景介绍
灰狼优化算法(Grey Wolf Optimizer,GWO)由澳大利亚格里菲斯大学学者 Mirjalili 等人于2014年提出来的一种群智能优化算法。该算法受到了灰狼捕食猎物活动的启发而开发的一种优化搜索方法,它具有较强的收敛性能、参数少、易实现等特点。近年来受到了学者的广泛关注,它己被成功地应用到了车间调度、参数优化、图像分类等领域中。
1.2 算法原理
狼群中有α、β、γ三只狼做头狼,其中α是狼王,β、γ分别排第二、第三,β、γ都要听α的,γ要听β的。这三匹狼指导者其他的狼寻找猎物。狼群寻找猎物的过程就是我们寻找最优解的过程。
GWO具体优化过程包含了社会等级分层、跟踪、包围和攻击猎物和寻找猎物。
但其核心行为只有捕猎。
为了模拟灰狼的搜索行为,假设α、β、γ具有较强识别潜在猎物的能力,因此,在每次迭代过程中,保留当前种群中最好的三只狼(α、β、γ),然后根据他们的位置信息来更新其他搜索代理的位置。
1.3 构建算法数学模型
1)社会等级分层
GWO的优化过程主要有每代种群中的最好三匹狼(具体构建时表示为三个最好的解)来指导完成。
2)包围猎物
灰狼捜索猎物时会逐渐地接近猎物并包围它,该行为的数学模型如下:
二、svr算法
-
SVR的背景
SVR做为SVM的分支从而被提出,一张图介绍SVR与SVM的关系 -
SVR的原理
SVR与一般线性回归的区别
SVR | 一般线性回归 |
---|---|
1.数据在间隔带内则不计算损失,当且仅当f(x)与y之间的差距的绝对值大于? \epsilon?才计算损失 | 1.只要f(x)与y不相等时,就计算损失 |
2.通过最大化间隔带的宽度与最小化总损失来优化模型 | 2.通过梯度下降之后求均值来优化模型 |
原理:SVR在线性函数两侧制造了一个“间隔带”,间距为? \epsilon?(也叫容忍偏差,是一个由人工设定的经验值),对所有落入到间隔带内的样本不计算损失,也就是只有支持向量才会对其函数模型产生影响,最后通过最小化总损失和最大化间隔来得出优化后的模型。
注:这里介绍一下支持向量的含义:直观解释,支持向量就是对最终w,b的计算起到作用的样本(a>0)
如下图所示, "管道"内样本对应a=0,为非支持向量;
位于“管壁”上的为边界支持向量,0<a<? \epsilon?
位于"管道"之外的为非边界支持向量,a>? \epsilon?(异常检测时,常从非边界支持向量中挑选异常点)
- SVR的数学模型
3.1线性硬间隔SVR
3.2线性软间隔SVR
原因:在现实任务中,往往很难直接确定合适的 ? \epsilon? ,确保大部分数据都能在间隔带内,而SVR希望所有训练数据都在间隔带内,所以加入松弛变量ξ \xiξ ,从而使函数的间隔要求变的放松,也就是允许一些样本可以不在间隔带内。
引入松弛变量后,这个时候,所有的样本数据都满足条件:
这就是映入松弛变量后的限制条件,所以也叫-------软间隔SVR
注:对于任意样本xi,如果它在隔离带里面或者边缘上,ξ \xiξ 都为0;在隔离带上方则为ξ > 0 , ξ ? = 0 \xi>0,\xi^*=0ξ>0,ξ?=0
在隔离带下方则为ξ ? > 0 , ξ = 0 \xi^*>0,\xi=0ξ?>0,ξ=0
三、部分代码
四、仿真结果
?