一、麻雀算法优化LSSVM简介
1 标准麻雀算法 算法运算过程由探索者、追随者与预警者3部分构成,其中探索者与追随者的总数量与比例不变,根据适应度数值的改变,两者可以相互转化。通过觅食和反捕食行为来不断更新种群成员最优位置。
设种群数量为n,在第K次迭代中,探索者的位置更新方式如下: 追随者的位置更新方式如下: 预警者在种群中的比例在10%~20%,位置更新方式如下: 2 最小二乘支持向量机(LSSVM)原理 传统SVM模型中约束条件为不等式,而LSSVM将SVM 中的约束条件改为等式约束,把误差平方和作为经验损失,将求解凸二次规划的问题转换为了通过求解线性方程组[13,14],降低了求解难度,优化了整体运算速度。
设定训练集{xi,yi}ni=1,其中xi∈Rd为输入变量,yi为第i个输出,yi∈R,通过非线性函数φ(·)将输入的n维空间映射到对应的高维特征空间,因此LSSVM的回归估计函数为: f(x)=ωTφ(x)+b (1) 式中:ω=[ω1,ω2,…,ωn]T表示超平面权值系数向量;b为偏置量。 LSSVM定义优化问题目标函数J及其约束条件为: 为求解上述优化问题,构造相应的拉格朗日函数,进行如下变换: 对式(3)中ω、b、e、α的分别求偏导,令导数为0,消除ω和ei,可得到线性方程组: 最终得到LSSVM回归函数: 本文中采用径向基(radial basis function, RBF)核函数,与其他核函数相比,RBF核函数能够实现非线性映射,且需计算的参数较少,其表达式为: 式中:σ为核函数参数。
3 麻雀算法优化LSSVM流程图 建立预测模型的具体流程如图4所示,算法步骤如下。
- 辅助变量选择及预处理,并利用PCA进行降维。
- 初始化相关参数,利用改进的麻雀优化算法对LSSVM中的关键参数进行优化。
- 初始化种群,利用式(11),引入Logistic映射,提升初始种群分布均匀性。
- 根据目标函数计算适应度值并排序。利用引入自适应权重公式(12)更新探索者位置。
- 利用式(8)及(9)更新追随者及警戒者位置。
- 判断是否停止,执行退出或继续循环。
- 输出正则化参数与RBF核函数参数,LSSVM利用最优超参数进行数据预测。
二、部分源代码
clc;clear;close all;format compact
三、运行结果
四、matlab版本及参考文献
1 matlab版本 2014a
2 参考文献 [1] 包子阳,余继周,杨杉.智能优化算法及其MATLAB实例(第2版)[M].电子工业出版社,2016. [2]张岩,吴水根.MATLAB优化算法源代码[M].清华大学出版社,2017. [3]周品.MATLAB 神经网络设计与应用[M].清华大学出版社,2013. [4]陈明.MATLAB神经网络原理与实例精解[M].清华大学出版社,2013. [5]方清城.MATLAB R2016a神经网络设计与应用28个案例分析[M].清华大学出版社,2018. [6]仝卫国,郭超宇,赵如意.基于改进麻雀算法优化LSSVM的再循环箱浆液密度预测模型[J].电子测量技术. 2022,45(01)
|