HCMSPSO算法(
12基于PSO算法)是一种方法来确定最优TSK-fuzzy系统通过使用一组模式。HCMSPSO决定数量<我nl我ne- - - - - -for米ula>
r
的规则和参数的最优值<我nl我ne- - - - - -for米ula>
米
我
j
,<我nl我ne- - - - - -for米ula>
σ
我
j
,<我nl我ne- - - - - -for米ula>
一个
我
j
每个规则的隶属度函数。在[
12,
17- - - - - -
27),提出了PSO算法的变体。
HCMSPSO方法源于基于集群的粒子群优化方法(不久,复)
28),每个群都是单独使用优化的一组参数。在HCMSPSO,每个群体形成一个物种和物种的数量设置为模糊规则的数目<我nl我ne- - - - - -for米ula>
r
。每个物种形成<我nl我ne- - - - - -for米ula>
P
年代
粒子,每个粒子在一个物种代表一个单一的模糊规则。的<我nl我ne- - - - - -for米ula>
我
th物种用于优化参数<我nl我ne- - - - - -for米ula>
我
模糊规则。这个职位<我nl我ne- - - - - -for米ula>
年代
我
问
的<我nl我ne- - - - - -for米ula>
问
th粒子在<我nl我ne- - - - - -for米ula>
我
从(th物种给出<我nl我ne- - - - - -for米ula>
2
n
+
1
维向量:
(9)
年代
我
问
=
(
米
我
1
问
,
…
,
米
我
n
问
,
σ
我
1
问
,
…
,
σ
我
n
问
,
一个
我
0
问
)
∈
R
2
n
+
1
从(<我nl我ne- - - - - -for米ula>
3
n
+
1
维向量:
(10)
年代
我
问
=
(
米
我
1
问
,
…
,
米
我
n
问
,
σ
我
1
问
,
…
,
σ
我
n
问
,
一个
我
0
问
,
一个
我
1
问
,
…
,
一个
我
n
问
)
∈
R
3
n
+
1
。
TSK-fuzzy系统一阶。TSK-fuzzy系统零阶是由选择的每个物种的一个<我nl我ne- - - - - -for米ula>
P
年代
粒子。确定最终的规则数量和生成<我nl我ne- - - - - -for米ula>
P
年代
粒子在每个物种,使用迭代过程如下:
(1)最初我们设置<我nl我ne- - - - - -for米ula>
r
=
1
;我们认为第一个输入模式<我nl我ne- - - - - -for米ula>
x
(
0
)
,形成第一个粒子在第一种设置<我nl我ne- - - - - -for米ula>
米
1
j
1
=
x
j
(
0
)
和<我nl我ne- - - - - -for米ula>
σ
1
j
1
=
σ
初始化
,在那里<我nl我ne- - - - - -for米ula>
σ
初始化
是一个预定义的值通过确定每个模糊集的初始宽度;
(2)我们在第一个物种生成所有的粒子,与模糊关联规则<我nl我ne- - - - - -for米ula>
R
1
;的<我nl我ne- - - - - -for米ula>
问
th粒子是由公式(一阶TSK-fuzzy系统):
(11)
年代
1
问
=
(
米
11
+
Δ
米
11
问
,
…
,
米
我
n
+
Δ
米
1
n
问
,
σ
11
+
Δ
σ
11
问
,
…
,
σ
1
n
+
Δ
σ
1
n
问
,
一个
10
问
,
一个
11
问
,
…
,
一个
1
n
问
)
,
在哪里<我nl我ne- - - - - -for米ula>
问
=
1
,
…
,
P
年代
,<我nl我ne- - - - - -for米ula>
Δ
米
1
j
问
和<我nl我ne- - - - - -for米ula>
Δ
σ
1
j
问
代表小变化<我nl我ne- - - - - -for米ula>
米
1
j
和<我nl我ne- - - - - -for米ula>
σ
1
j
分别产生的间隔(<我nl我ne- - - - - -for米ula>
- - - - - -
0.1,0.1
];的值<我nl我ne- - - - - -for米ula>
一个
10
问
,
一个
11
问
,
…
,
一个
1
n
问
得到随机输出<我nl我ne- - - - - -for米ula>
y
范围;
(3)对于每一个连续的模式<我nl我ne- - - - - -for米ula>
x
(
k
)
,
k
=
2
,
…
,
N
,我们考虑的规则以最大发射强度
(12)
我
(
k
)
=
参数
马克斯
1
≤
我
≤
r
(
μ
我
(
x
(
k
)
)
]
。
如果结果<我nl我ne- - - - - -for米ula>
μ
我
(
k
)
(
x
(
k
)
)
≤
μ
th
,在那里<我nl我ne- - - - - -for米ula>
μ
th
是一个预定义的阈值,然后通过设置生成一个新规则
(13)
米
(
r
+
1
)
j
(
k
)
=
x
j
(
k
)
,
j
=
1
,
…
,
n
,
σ
(
r
+
1
)
j
(
k
)
=
α
∑
j
=
1
n
(
x
j
(
k
)
- - - - - -
米
我
k
j
σ
我
k
j
)
2
,
j
=
1
,
…
,
n
,
在哪里<我nl我ne- - - - - -for米ula>
α
>
0
确定两个集群之间的重叠度;
(4)我们生成所有的粒子(<我nl我ne- - - - - -for米ula>
r
+
1
)物种,与模糊关联规则<我nl我ne- - - - - -for米ula>
R
(
r
+
1
)
;的<我nl我ne- - - - - -for米ula>
问
th粒子是由公式(一阶TSK-fuzzy系统):
(14)
年代
(
r
+
1
)
问
(
k
)
=
(
米
(
r
+
1
)
1
(
k
)
+
Δ
米
(
r
+
1
)
1
问
(
k
)
,
…
,
米
(
r
+
1
)
n
(
k
)
+
Δ
米
(
r
+
1
)
n
问
(
k
)
,
σ
(
r
+
1
)
1
(
k
)
+
Δ
σ
(
r
+
1
)
1
问
(
k
)
,
…
,
σ
(
r
+
1
)
n
(
k
)
+
Δ
σ
(
r
+
1
)
n
问
(
k
)
,
一个
(
r
+
1
)
0
问
,
一个
(
r
+
1
)
1
问
,
…
,
一个
(
r
+
1
)
n
问
)
,
在哪里<我nl我ne- - - - - -for米ula>
问
=
1
,
…
,
P
年代
,<我nl我ne- - - - - -for米ula>
k
=
2
,
…
,
N
,<我nl我ne- - - - - -for米ula>
Δ
米
(
r
+
1
)
j
问
(
k
)
和<我nl我ne- - - - - -for米ula>
Δ
σ
(
r
+
1
)
j
问
(
k
)
代表小变化<我nl我ne- - - - - -for米ula>
米
(
r
+
1
)
j
(
k
)
和<我nl我ne- - - - - -for米ula>
σ
(
r
+
1
)
j
(
k
)
分别从区间[<我nl我ne- - - - - -for米ula>
- - - - - -
0.1,0.1
];相关的值<我nl我ne- - - - - -for米ula>
一个
(
r
+
1
)
0
问
,
一个
(
r
+
1
)
1
问
,
…
,
一个
(
r
+
1
)
n
问
得到随机的时间间隔相同的输出<我nl我ne- - - - - -for米ula>
y
范围;
(5)我们组<我nl我ne- - - - - -for米ula>
r
=
r
+
1
和迭代的步骤(3)和(4)的模式。在过程的结束,我们已经生成<我nl我ne- - - - - -for米ula>
r
规则和<我nl我ne- - - - - -for米ula>
r
物种<我nl我ne- - - - - -for米ula>
P
年代
粒子。
对于每一个物种,一个分区创建粒子的亚种。亚种是一群粒子的物种。创建一个亚种分区粒子的一个物种,我们需要物种的粒子。索引用于排序的粒子一个物种是根方误差(RMSE)定义为
(15)
RMSE
=
∑
k
=
1
N
(
y
′
(
k
)
- - - - - -
y
(
k
)
]
2
N
,
在哪里<我nl我ne- - - - - -for米ula>
y
′
(
k
)
是输出使用去模糊化计算公式(
5),<我nl我ne- - - - - -for米ula>
y
(
k
)
的输出值是<我nl我ne- - - - - -for米ula>
k
th模式。连续步骤用于排序的粒子在每个物种的基础上增加的RMSE值和分区每个物种亚种:
(1)对于每个粒子的每一个物种,我们确定粒子的集合<我nl我ne- - - - - -for米ula>
(
年代
1
g
,
…
,
年代
r
g
)
与最小均方根误差。对于每一个物种,我们集<我nl我ne- - - - - -for米ula>
年代
我
1
=
年代
我
g
;
(2)对粒子进行排序<我nl我ne- - - - - -for米ula>
我
th物种,我们计算产生的RMSE组合<我nl我ne- - - - - -for米ula>
(
年代
1
g
,
…
,
年代
我
- - - - - -
1
g
,
年代
我
问
,
年代
我
+
1
g
,
…
,
年代
r
g
)
与<我nl我ne- - - - - -for米ula>
问
=
2
,
…
,
P
年代
;然后排序粒子的基础上增加相应的RMSE值。重复这一步骤<我nl我ne- - - - - -for米ula>
r
物种。
每个物种分类后,我们可以做一个分区的亚种;第一个粒子的一个亚种,至少RMSE亚种的粒子,被称为亚种的领导人。接下来的步骤用于分区中的每个命令物种亚种:
(1)<我nl我ne- - - - - -for米ula>
我
th物种,我们设置亚种的数量<我nl我ne- - - - - -for米ula>
n
我
=
1
并创建第一个亚种通过设置这个亚种的领导作为第一个粒子的物种,<我nl我ne- - - - - -for米ula>
p
我
领袖
(
n
我
)
=
年代
我
g
;
(2)然后我们考虑物种的连续的粒子<我nl我ne- - - - - -for米ula>
年代
我
问
与<我nl我ne- - - - - -for米ula>
问
=
2
,
…
,
P
年代
并计算该指数粒子之间的距离<我nl我ne- - - - - -for米ula>
年代
我
问
领袖和第一个亚种:
(16)
ψ
(
p
我
领袖
(
n
我
)
,
年代
我
问
)
=
为
p
我
领袖
(
n
我
)
- - - - - -
年代
我
问
为
l
,
在哪里<我nl我ne- - - - - -for米ula>
l
=
2
n
(职责。<我nl我ne- - - - - -for米ula>
l
=
3
n
)TSK-fuzzy系统零(分别地。,首先)秩序。如果我们有<我nl我ne- - - - - -for米ula>
ψ
(
p
我
领袖
(
n
我
)
,
年代
我
问
)
<
ψ
th
,在那里<我nl我ne- - - - - -for米ula>
ψ
th
是一个阈值,那么我们指定粒子吗<我nl我ne- - - - - -for米ula>
年代
我
问
这个亚种;否则我们创建一个新亚种的设置<我nl我ne- - - - - -for米ula>
n
我
=
n
我
+
1
;
(3)我们迭代的步骤(8)和(9)<我nl我ne- - - - - -for米ula>
r
物种。
在最后的步骤中,PSO算法;我们定义粒子在同一亚种的邻居粒子。粒子的邻居最好的全球地位<我nl我ne- - - - - -for米ula>
年代
我
问
,封闭<我nl我ne- - - - - -for米ula>
k
th的亚种<我nl我ne- - - - - -for米ula>
我
th物种在迭代时间(<我nl我ne- - - - - -for米ula>
t
- - - - - -
1
),给出了最佳位置的亚种的领导人<我nl我ne- - - - - -for米ula>
p
我
领袖
(
k
)
直到迭代时间(<我nl我ne- - - - - -for米ula>
t
- - - - - -
1
)。当地最好的粒子的位置<我nl我ne- - - - - -for米ula>
年代
我
问
封闭的<我nl我ne- - - - - -for米ula>
k
th的亚种<我nl我ne- - - - - -for米ula>
我
th物种在迭代时间(<我nl我ne- - - - - -for米ula>
t
- - - - - -
1
)是由最好的位置<我nl我ne- - - - - -for米ula>
p
我
问
粒子,直到迭代时间(<我nl我ne- - - - - -for米ula>
t
- - - - - -
1
)。