一种基于改进粒子群算法的相似度检索方法技术

技术编号:34174295 阅读:15 留言:0更新日期:2022-07-17 11:32
本发明专利技术具体公开了一种基于改进粒子群算法的相似度检索方法,使粒子群算法通过采用动态权重,及改善学习因子,使学习因子随迭代次数更新,优化的改进粒子群算法,可以提高检索案例质量,及检索概率的有益效果。及检索概率的有益效果。及检索概率的有益效果。

【技术实现步骤摘要】
一种基于改进粒子群算法的相似度检索方法


[0001]本专利技术涉及相似案例检索领域,特别涉及一种基于改进粒子群算法的相似度检索方法。

技术介绍

[0002]案例相似度检索就是根据目标案例,在已有案例中查找与目标案例相似的案例,通常采用相似度算法进行检索最相似的案例,粒子群算法是较常用的相似度检索算法,传统的粒子群算法易陷入局部最优,导致检索效率差,并且采用固定权重在案例增多时会影响相似度检索效率,而权重需根据案例库进行调整,才能针对不同的适应函数有最佳的适应度。
[0003]现有技术存在以下问题:
[0004]1)权重固定不变影响检索性能;
[0005]2)学习因子不能依照迭代进行更改影响收敛速度。

技术实现思路

[0006]本专利技术针对上述存在的问题,提出了一种基于改进粒子群算法的相似度检索方法。
[0007]本专利技术采用的技术方案是:
[0008]一种基于改进粒子群算法的相似度检索方法,所述方法包括:
[0009]步骤S1:初始化种群粒子:所述初始化种群粒子包括设置种群规模N、随机设定每个粒子的初始位置、初始速度,并设置粒子的迭代次数k、最大迭代次数T
max
,设置粒子群算法惯性系数w
d
范围,随机选择一组惯性系数w
d

[0010]步骤S2:适应度计算,计算每个粒子的适应度值f(x);
[0011]步骤S3:寻找粒子的个体最优P
besti
和种群最优gr/>besti
,记录个体最优和种群最优的粒子位置;
[0012]步骤S4:采用改进粒子群算法进行粒子位置更新,引入惯性系数w
d
,更新学习因子,更新粒子位置,计算迭代后的粒子适应度值并排序,更新粒子的个体最优和群体最优,其中,学习因子采用以迭代次数k为自变量的三角函数,粒子群算法的权重采用动态权重;
[0013]步骤S5:判断条件,迭代次数k是否到达最大迭代次数T
max

[0014]若k小于T
max
,则k+1,并重新进行步骤S4;
[0015]若k等于T
max
,则输出并保存种群最优的n个粒子位置,作为n个相似案例,记录适应度函数值f
best
(x
i
);
[0016]步骤S6:参数拟合,采用KNN算法对n个相似案例进行拟合,记录KNN算法的权重
[0017]步骤S7:效果评估,设置评估门限,评估效果满足要求设定评估门限,则结束,不满足,则进行步骤S4,其中步骤S4中的粒子群算法的惯性权重w
d
采用步骤S6中KNN算法的权重
[0018]进一步,所述步骤S4中改进粒子群算法的学习因子设置为:
[0019][0020][0021]其中,c
max
=2,c
min
=1,k为迭代次数,T
max
为最大迭代次数, c1和c2在[1,2]之间变化。
[0022]进一步,步骤S6中KNN算法的权重计算采用公式:
[0023][0024]其中,D
i
目标案例与第i个案例的距离,n是步骤5检索的相似案例,i={1,2,...,n}。
[0025]进一步,所述步骤S2、步骤S4的适应度计算方法设置为决定系数或均方误差、平均绝对百分比误差或平均误差至少之一。
[0026]进一步,所述步骤S3、步骤S4寻找粒子的个体最优和种群最优的过程为:
[0027]个体最优,将每个粒子的适应度函数值f(x
i
)与之前计算出的最好位置P
besti
的适应度值进行比较,如果当前的适应度函数值f(x
i
)小于最好位置的适应度值,则更新粒子的位置和适应度值f(x
i
),更新当前位置值P
besti
和适应度函数值f(x
i
);
[0028]群体最优,将单个粒子的适应度函数值f(x
i
)与所有粒子经过的最好位置g
besti
的适应度值进行比较,如果当前适应度函数值f(x
i
)更小,则用现在粒子的位置和适应度值f(x
i
)更新,更新为当前的位置值和适应度值f(x
i
),记录此位置下的数据集坐标值。
[0029]改进粒子群算法采用MAPE、MSE、MAE、R2四个自适应函数至少其中之一进行适应度评估。如:其它公式参数与MAPE参数含义一致,不再论述。
[0030][0031]式中,T
max
是最大迭代次数;
[0032]x
forecast
(i)改进粒子群算法的预测值;
[0033]x
real
(i)需要比较的目标案例的实际值;
[0034]与现有技术相比,本专利技术具有的有益效果:
[0035](1)改进的PSO算法采用动态权重,与传统的案例检索不同的是,在每次检索案例的时候所有到的权重都是上一次案例检索后经过功率拟合的权重,有利于提高算法的全局搜索能力,因此检索的相似案例的质量也相应提高。
[0036](2)PSO算法中的学习因子用于调节粒子群算法在学习过程中的步长,在迭代过程中,c1表示粒子受

自我认知经验

影响的大小,c2表示粒子受

群体社会经验

影响的大小,当c1为0 时,说明粒子只受社会经验的影响;当c2为0时,说明粒子只受自我经验的影响。所以c1和c2的选择不应该过大也应该过小,当c1和c2过大时,可能会错过最优解;当c1和c2过小时,无法找到最优解。常规的粒子群算法是将c1和c2设置为定值,粒子在迭代的过程中没
有自适应调节的能力,算法效果不好。本专利技术将学习因子设置为动态随迭代次数变换的三角函数,在搜索初期,粒子的适应度函数值较小,说明粒子逐步向最优解移动,这时应该增加

群体社会经验

的影响,即随着学习因子 c2的增加,c1的降低;粒子的适应度函数值随迭代次数的增加而增加,说明粒子逐渐向全局最优解移动,这时应该增加

自我认知经验

的影响,即随着学习因子c2的降低,c1的增加。因此,可以提高PSO算法找到最优解的概率。
附图说明
[0037]为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本专利技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0038]图1为本专利技术一种基于改进粒子群算法的相似度检索方法;
[003本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于改进粒子群算法的相似度检索方法,其特征在于,所述方法包括:步骤S1:初始化种群粒子:所述初始化种群粒子包括设置种群规模N、随机设定每个粒子的初始位置、初始速度,并设置粒子的迭代次数k、最大迭代次数T
max
,设置粒子群算法惯性系数w
d
范围,随机选择一组惯性系数w
d
;步骤S2:适应度计算,计算每个粒子的适应度值f(x);步骤S3:寻找粒子的个体最优P
besti
和种群最优g
besti
,记录个体最优和种群最优的粒子位置;步骤S4:采用改进粒子群算法进行粒子位置更新,引入惯性系数w
d
,更新学习因子,更新粒子位置,计算迭代后的粒子适应度值并排序,更新粒子的个体最优和群体最优,其中,学习因子采用以迭代次数k为自变量的三角函数;步骤S5:判定条件,迭代次数k是否到达最大迭代次数T
max
,若k小于T
max
,则k+1,并重新进行步骤S4;若k等于T
max
,则输出并保存种群中最优的n个粒子位置,作为n个相似案例,记录适应度函数值f
best
(x
i
);步骤S6:参数拟合,采用KNN算法对n个相似案例进行拟合,记录KNN算法的权重步骤S7:效果评估,设置评估门限,效果评估结果满足要求设定评估门限,则结束,不满足要求,反馈至步骤S4,其中,步骤S4中改进粒子群算法的惯性系数w
d
采用步骤S6中KNN算法的权重2.根据权利要求1所述的一种基于改进粒子群算法的相似度检索方法,其特征在于,所述步骤S4中改进粒子群算法的学习因子设置为:步骤S4中改进粒子群算法的学...

【专利技术属性】
技术研发人员:高新华杨勇王晓亚
申请(专利权)人:中国电子科技集团公司第五十四研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1