5.1.1 PSO算法原理
微粒群算法(PSO)是一种以迭代为基础的优化工具,由Eberhart和Kennedy博士于1995年提出[129]。
PSO算法启发于对鸟群捕食的模拟。假设在某个区域里有唯一一条鱼,一群鸟需要在这个区域范围随机捕食这条鱼。每只鸟只知道自己每个时刻与鱼的距离,但由于鱼也是运动的,所以鸟无法确定鱼的具体位置。寻找到鱼的有效方法就是不断跟踪目前与鱼距离最近的鸟,进而不断地缩小搜索范围进行搜寻[130]。
这里根据某个工程项目的区域、投资规模、原材料供应等各方面条件,将投标报价的理想区间比作上述离鱼最近的鸟的活动范围。问题在于,鱼是不断游动的,鸟是不断飞行的,距离鱼儿最近的鸟并不是固定不变的,即这一刻距离鱼最近的那只鸟下一刻可能不再是距离鱼最近的那一只。PSO算法的目的就在于不断地锁定距离鱼最近的某一只鸟的位置。通过不断跟踪离鱼最近的鸟的飞行轨迹,划定一个离鱼最近距离范围,也即找到了距离最合理的成交标高金报价区间。
5.1.2 SVM原理
SVM支持向量机是一种可分析的计算机学习方法和人工智能技术的有效结合,具有优越的自学习、抗干扰、泛化性,对样本数量的依赖性也不大,能够使得小样本数据、非线性问题等实际问题得以很好的解决[131][132]。
SVM算法如下[133]:首先定义核函数,将样本空间中的非线性映射变换到高维模式空间中,按照结构风险最小化的准则,进行风险最小化求解原损失函数。也就是在满足δ迟钝损失函数的条件下找到δ和a,将1/2δTδ最小化。
依据Mercer定理,内积核函数需符合以下公式:(https://www.xing528.com)
实际应用中常见的满足式(5.5)要求的内积核函数主要有[135]:线型核函数、多项式核函数、纵向基核函数和神经元非线性作用核函数,其表达式如下:
(1)线型核函数:L(x,xk)x×xk
(2)多项式核函数:L(x,xk)=[(xTxk)+R]m
(3)高斯径向核函数:![]()
(4)Sigmoid核函数:L(x,xk)=tanh[s(xTxi)+c]
文献[136]中诠释了当高斯径向核函数充分时,可以对样本数据进行分类。文中引入高等代数的计算方法得出了一个结论:K=k(xi,xj)l×l是Gram矩阵,当rank(K)=n时,样本在特征空间中是线性可分的。对于高斯径向核函数,当半径趋于0时,Gram矩阵K将成为强对角矩阵,满秩,因此由以上定理可知训练样本在样本空间中具有可分性。本文为保证样本数据在线性可分的状态下进行计算而选取高斯径向核函数为内积核函数,以保证估算的准确性。
在确定了内积核函数后通过训练可得到非线型决策函数:
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。
