根据上一节的3种改进策略,带进化度和聚集度的自适应IPSO可以总结如下:
步骤1:初始化IPSO。
初始化所有的粒子,初始化IPSO的所有参数,包括:每一个粒子的速度向量Vi=(vi1,vi2,…,vid)和位置向量Xi=(xi1,xi2,…,xid)。设置加速度系数c1和c2,粒子的维度,最大迭代次数Tmax,最大连续迭代次数Tlimit,进化速度权重A,聚集度权重B,惯性权重最大值wstart,惯性权重最小值wend和适应度阈值AAcc。和是0~1的随机数。T是当前的迭代次数。
步骤2:设置Pi和Pg的值。
设置粒子i当前的最优位置为Xi=(xi1,xi2,…,xid),即将Pi=Xi(i=1,2,…,n)和种群中的最优个体作为当前的Pg。
步骤3:定义和评估适应度函数。
对于分类问题,AAcc定义为分类准确率,即,
对于回归问题,AAcc的定义对应的是均方根误差(Root Mean Square Error,RMSE)或是平均绝对误差(Mean Absolute Error,MAE),即
其中,n是样本的数量;yi是原始值;是预测值。
步骤4:更新每个粒子的速度和位置。
根据下面的公式搜索更好的参数组合。(www.xing528.com)
并根据当前的进化速度因子和聚集度因子动态改变惯性权重,具体如式(4.9)。
步骤5:改变迭代次数。
设t=t+1。
步骤6:判断停止条件。
如果t>Tmax或适应度函数值<AAcc,那么停止迭代,Pg就是最优解,代表了最优参数组合。否则,转向步骤7。
步骤7:判断全局最优适应度函数值连续没有改变的次数k。
如果k>Tlimit,那么,转向步骤8;否则,转向步骤3。
步骤8:根据新的位置和速度公式(4.10)和式(4.11)更新位置。
为了评估提出的IPSO算法和基于SVM先分类再回归模型的性能,下面进行了两个实验:实验一,通过3个经典的测试函数验证提出的IPSO算法的有效性;实验二,将经过验证的IPSO算法应用到基于SVM先分类再回归的个性化推荐中,并验证其推荐效果。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。