系统的建模与辨识一直是人们研究的重点与难点,它的好坏直接影响着控制系统的性能。尤其对于现在控制系统越来越复杂,要求也越来越高,控制系统呈现出多变量、强耦合、非线性等特点,这就使得传统的方法很难对这些系统进行建模。模糊理论的产生为这些系统提供了新方法,现在已经应用于自动控制、电力系统和预测控制等领域。T-S模型是在模糊辨识方面应用较广的模型,它是由Takagi和Sugeno于1985年提出的一种模糊模型[1]。国内外学者对此方法进行了深入研究,主要研究的内容有前提参数辨识、结论参数辨识、规则库优化、输入变量选择等。随着人工智能技术的不断发展,智能算法也越来越多地应用到了T-S模型的优化上。如文献[2]采用模糊聚类优化模型的前提结构,并应用遗传算法 (genetic algorithm, GA)对前提参数进行了优化,但是计算时间长,而且精度不是很高。文献[3]采用菌群优化算法(bacterial foraging optimization algorithm, BFO)优化T-S模型前提参数,虽然辨识精度有提高,但是收敛速度还是太慢,耗时太长。文献[4]采用粒子群算法(particle swarm optimization algorithm, PSO)和最小二乘算法提出一种模糊自适应函数逼近器,由于标准粒子群算法本身的局限性而使辨识精度不高。
随着模糊聚类理论的发展和成熟,已经成功应用到了很多的领域。目前,学者们已经提出了很多模糊聚类算法,比较典型的有基于相似关系[5]和模糊关系[6]的方法、基于目标函数的方法[7]、基于模糊图论的最大支撑树方法[8]等。其中研究最多的是基于目标函数的模糊聚类方法。该方法主要思想就是求解一个带约束的非线性规划问题,得到数据集的模糊划分和聚类结果。模糊C均值(fuzzy C-means, FCM)聚类算法是基于目标函数聚类算法的一种,它的应用也最为广泛。FCM算法是由K均值聚类算法加入模糊因子改进而来,内平方误差和(within-groups sum of squared error, WGSS)是聚类目标函数的常见形式,1973年,Dunn扩展了内平方误差和函数,提出了类内加权平均误差和函数作为目标函数[9]。此后一年,Bezdek提出在目标函数中引入了新的参数
本文提出一种改进的粒子群算法和模糊C均值聚类算法相结合的模糊辨识新方法。采用模糊C均值聚类算法对聚类中心进行初步优化,然后通过改进粒子群算法的全局搜索能力优化聚类中心。这样既保持了模糊C均值聚类算法的优点,又达到了对模型的全局优化,显著的提高了算法的辨识精度和效率。
1 PSO算法基本原理Kennedy等于1995年提出了PSO算法[11],它具有进化计算和群智能的优点,是一种启发式全局优化算法。与其他进化算法类似,PSO算法也是通过个体间的协作与竞争,实现复杂问题的全局优化。
PSO算法可以描述为:设粒子在
$\begin{array}{l} {v_{kd}}(t + 1) = w{v_{kd}}(t) + {c_1}{r_1}({p_{kd}}(t) - {x_{kd}}(t)) + \\ \qquad\qquad\;\;{c_2}{r_2}({p_{gd}}(t) - {x_{kd}}(t)) \end{array}$ | (1) |
${x_{kd}}(t + 1) = {x_{kd}}(t) + {v_{kd}}(t + 1)$ | (2) |
式中:
改进的PSO算法(SMPSO)分为两种搜索模式:局部搜索模式和全局搜索模式。局部搜索模式就如同自然界中大部分动物觅食一样,它在搜索到的疑似最优位置周边都会进行更加细致地搜索,然后根据视觉、味觉、听觉等因素更加准确地判断全局最优解的位置。这样既避免了种群过早的收敛,陷入局部最优解,而且通过在疑似最优位置四周的搜索,更容易找到全局最优位置。在全局搜索模式时,粒子之间会协同合作,共享最优位置信息,使整个种群向着全局最优位置逼近,以更短的时间寻找到最终目标。由于每代粒子都具有“自我”学习提高和向“他人”学习的优点,从而能使种群在较少的迭代次数内找到最优解。
SMPSO算法首先要选择粒子的数目
${\rm SM} = {\rm S{M}_{\min }} + {\rm DT} \cdot \frac{{{\rm S{M}_{\max }} - {\rm S{M}_{\min }}}}{{{\rm MaxDT}}}$ | (3) |
SMPSO算法整体进程描述如下:
1) 选择粒子群个体数为
2) 随机初始化粒子的位置为
3) 根据适应度函数计算每个粒子的适应度值,选择适应度值最好的粒子为当前的最优解;
4) 根据粒子所处模式的标识值,判断粒子处于哪种搜索模式。如果粒子处于局部搜索模式,应用局部搜索模式的程序;如果粒子处于全局搜索模式,应用全局搜索模式的程序。具体步骤详见2.1和2.2;
5) 按照
6) 如果程序满足了终止条件,则终止程序;否则返回3)继续执行。
2.1 局部搜索模式在此模式下,主要有两个基本的要素:局部搜索次数(
1) 复制
2) 对于每个粒子的候选位置,按照式(4)更新粒子的候选位置。
$\begin{array}{l} {x_{id}}\left( {t + 1} \right) = {x_{id}}\left( t \right) \pm {\rm rand} \cdot {\rm{SR}},\\ d = 1,2, \cdots ,D;\;\;\;\;i = 1,2, \cdots ,{\rm{SN}} \end{array}$ | (4) |
式中:
3) 计算所有候选位置的适应度(
4) 计算所有候选位置和它本身被选择的可能性。如果所有的
${P_i} = \frac{{\left| {{\rm F{S}_i} - {\rm F{S}_b}} \right|}}{{\left| {{\rm F{S}_{\max }} - {\rm F{S}_{\min }}} \right|}},\;\;\;\; i = 1,2, \cdots ,SN + 1$ | (5) |
式中:
5) 根据候选位置和它本身的可选择性
${\hat P_i} = {{{P_i}} / {\sum\limits_{i = 1}^{SN + 1} {{P_i}} }},\;\;\;\;i = 1,2, \cdots ,SN + 1$ | (6) |
在局部搜索模式,采用了遗传算法常用的轮盘赌选择法,正是借鉴了“物竞天择,适者生存”的生物进化理论,并且还保留了物种的多样性,利用概率选择的方法,选择优胜的个体,淘汰劣质个体。
2.2 全局搜索模式全局搜索模式对标准PSO进行简化处理,提高算法运行速度。粒子群按照式(7)、式(8)更新粒子的位置。
${{{X}}_{{k}}}(t + 1) = {{{X}}_{{k}}}(t) + c \cdot r \cdot ({{{P}}_{{{kg}}}}(t) - {{{X}}_{{k}}}(t))$ | (7) |
${{{P}}_{{{kg}}}}(t) = \lambda {{{P}}_{{g}}}(t) + (1 - \lambda ){{{P}}_{{k}}}(t)$ | (8) |
式中:
从式(7)和式(8)可以看出本文方法与标准粒子群算法的不同之处如下:
1) 本文方法省去了粒子的速度,由于本文加入了局部搜索模式,使得粒子在两种模式之间切换,粒子的历史速度对于粒子的影响并不是很大。只要控制好参数
2) 种群的每个粒子对局部最优解
本文算法不同于标准PSO算法的参数主要有
1) 搜寻个数
2)
3)
4) 局部搜索范围
在1985年,Takagi等[1]提出了T-S模糊模型,第
$\begin{array}{l} {R^i}:\;\;\;{\rm{if}}\;{x_1}\;{\rm{is}}\;A_1^i\;{\rm{and}}\;{x_2}\;{\rm{is}}\;A_2^i\;{\rm{and}}\; \cdots \;{\rm{and}}\;{x_r}\;{\rm{is}}\;A_r^i,{\rm{ }}\\ \;\;\;\;\;\;\;\;{\rm{then}}\;{y^i} = p_0^i{\rm{ }} + p_1^i{x_1} + \cdots + p_r^i{x_r} \end{array}$ | (9) |
式中:
那么由各规则输出
$\begin{array}{l} \hat y = \sum\limits_{i = 1}^c {{\mu _i}{y^i}} /\sum\limits_{i = 1}^c {{\mu _i}} = \sum\limits_{i = 1}^c {{w_i}} {y^i} = \\ \;\;\;\;\;\;\sum\limits_{i = 1}^c {{w_i}} (p_0^i{\rm{ }} + p_1^i{x_1} + \cdots + p_r^i{x_r}) \end{array}$ | (10) |
式中:
如果T-S模糊模型具有统一的前件结构,参照文献[12]的定义,T-S模糊模型的另一种表示方法如下:
$\begin{array}{l} {R^i}:\;\;\;{\rm{if}}\;{\rm{ }}{{x}}\;{\rm{is}}\;{A^i}{\rm{,}}\\ \;\;\;\;\;\;\;{\rm{then}}\;{y^i} = p_0^i + p_1^i{x_1} + \cdots + p_r^i{x_r} \end{array}$ | (11) |
式中:
代入
${\hat{ Y}} = {{XP}}$ | (12) |
式中:
由式(12)可得模型输出
${{{P}}_{{{i + 1}}}} = {{{P}}_{{i}}} + \frac{{{{{S}}_{{i}}} \cdot {{{x}}^{\rm{T}}}_{{{i + 1}}} \cdot ({y_{i + 1}} - {{{x}}_{{{i + 1}}}} \cdot {{{P}}_i})}}{{1 + {{{x}}_{{{i + 1}}}} \cdot {{{S}}_{{i}}} \cdot {{x}}_{{{i + 1}}}^{\rm{T}}}}$ | (13) |
${{{S}}_{{{i + 1}}}} = {{{S}}_{{i}}} - \frac{{{{{S}}_{{i}}} \cdot {{x}}_{{{i + 1}}}^{\rm{T}} \cdot {{{x}}_{{{i + 1}}}} \cdot {{{S}}_{{i}}}}}{{1 + {{{x}}_{{{i + 1}}}} \cdot {{{S}}_{{i}}} \cdot {{x}}_{{{i + 1}}}^{\rm{T}}}}$ | (14) |
模糊C均值聚类算法是一种自动对样本点进行分类的方法,是当前应用较为广泛的一种模糊聚类算法。聚类的目标函数
$\left\{ \begin{array}{l} {{{J}}_m}({{U}},{{V}}) = \sum\limits_{i = 1}^c {\sum\limits_{k = 1}^n {{{({u_{ik}})}^m}{{({d_{ik}})}^2}} } \\ {\rm{s.t}}\;\;\;\;\;\;\;\;\;{{U}} \in {{{M}}_{fc}} \end{array} \right.$ | (15) |
1) 设定聚类中心数
2) 根据聚类中心
$u_{ik}^{r + 1} = \frac{1}{{\displaystyle\sum\limits_{l = 1}^c {{{(\frac{{d_{ik}^r}}{{d_{lk}^r}})}^{\frac{2}{{m - 1}}}}} }}$ | (16) |
如果
3) 根据隶属度矩阵
${{V}}_i^{r + 1} = \frac{{\sum\limits_{k = 1}^n {{{(u_{ik}^{r + 1})}^m}{{{x}}_k}} }}{{\sum\limits_{k = 1}^n {{{(u_{ik}^{r + 1})}^m}} }}$ | (17) |
4) 根据给定的阈值
由以上算法步骤可以看出,整个迭代过程就是不断优化聚类中心和隶属度矩阵的过程。Bezdek等对算法进行了完善,并给出了收敛性说明[13-15]:模糊C均值聚类算法可以从任意给定的初始点开始收敛到目标函数
模糊C均值聚类算法是一种局部搜索算法,容易陷入局部最优解。为了解决这一问题,本文首先采用模糊C均值聚类算法对聚类中心进行初步优化,然后利用改进粒子群算法的全局搜索能力优化聚类中心。这样既保持了模糊C均值聚类算法的优点,又达到了对模型的全局优化,显著的提高了算法的辨识精度和效率。具体算法步骤如下:
1) 由辨识的目标得到输入输出数据。
2) 采用模糊C均值聚类算法对聚类中心
3) 选择输入变量个数为
$\begin{array}{l} {{X}} = [\underbrace {{v_{11}},{v_{12}}, \cdots ,{v_{1r}}}_{{{{v}}_1}}, \cdots ,\underbrace {{v_{i1}},{v_{i2}}, \cdots ,{v_{ir}}}_{{{{v}}_i}}, \cdots , \underbrace {{v_{c1}},{v_{c2}}, \cdots ,{v_{cr}}}_{{{{v}}_c}}] \end{array}$ | (18) |
式中:
4) 根据聚类中心
$u_{ik}^{\lambda + 1} = \frac{1}{{\displaystyle\sum\limits_{l = 1}^c {{{(\frac{{d_{ik}^\lambda }}{{d_{lk}^\lambda }})}^{\frac{2}{{m - 1}}}}} }}$ | (19) |
如果
5) 采用递推最小二乘法求取结论参数
$\begin{array}{c} {\rm{fitness}} = {{{J}}_m}({{U}},{{V}}) + w \cdot {\rm{MSE}}= \\ \displaystyle\sum\limits_{i = 1}^c {\sum\limits_{k = 1}^n {{{({u_{ik}})}^m}{{({d_{ik}})}^2}} } + \frac{w}{N}\sum\limits_{k = 1}^N {{{\left( {{y_k} - {{\hat y}_k}} \right)}^2}} \end{array}$ | (20) |
式中:
6) 如果程序满足了终止条件,则终止程序;否则返回4)继续执行。
4 仿真研究 4.1 Box-Jenkins煤气炉数据辨识著名的Box等煤气炉数据[16]已经被许多学者用作检验辨识方法的标准试验数据。输入量
这组数据有296对输入输出测量值,是一个SISO动态系统。本文选择
Download:
|
|
Download:
|
|
由仿真结果可以看出,本文方法所用模糊规则数少,但是辨识精度高,是一种有效的辨识方法。
4.2 非线性动态系统本节以式(25)的非线性动态系统为仿真对象,由
Download:
|
|
Download:
|
|
$y{\rm{(}}k{\rm{ + }}1{\rm{) = }}\frac{{y{\rm{(}}k{\rm{)}}}}{{{\rm{1 + }}y{{(k)}^{\rm{2}}}}}{\rm{ + }}u{{\rm{(}}k{\rm{)}}^3}$ | (21) |
从仿真结果可以看出,本文方法不仅提高了辨识精度,而且大幅度的缩短了程序运行时间,验证了本文方法有很高的效率。
5 结束语本文将改进的粒子群算法和模糊C均值聚类算法相结合,提出一种新的模糊辨识方法。首先采用模糊C均值聚类算法对聚类中心进行初步优化。然后对粒子群算法进行了改进,提出一种搜索模式动态调整的PSO算法,显著提高了PSO算法处理复杂问题的全局优化能力。并且将改进的PSO算法运用到聚类中心的优化中,有效的解决了FCM算法容易陷入局部最优的问题,提高了模糊辨识的精度和效率。最后通过建模仿真,表明了本文方法的有效性和优越性。
[1] | TAKAGI T, SUGENO M. Fuzzy identification of systems and its applications to modeling and control[J]. IEEE transactions on systems, man, and cybernetics, 1985, SMC-15(1): 116-132. DOI:10.1109/TSMC.1985.6313399 (0) |
[2] | PARK B J, OH S K, PEDRYCZ W. Fuzzy identification by means of partitions of fuzzy input space and an aggregate objective function[C]//IEEE International Fuzzy Systems Conference Proceedings. Seoul, South Korea, 1999, 1: 480–485. (0) |
[3] |
李峰磊, 窦金梅, 刘福才, 等. 一种基于改进BFO和RLS的模糊建模方法[J]. 南京理工大学学报, 2014, 38(2): 252-258. LI Fenglei, DOU Jinmei, LIU Fucai, et al. Fuzzy modeling method with improved BFO and RLS[J]. Journal of Nanjing university of science and technology, 2014, 38(2): 252-258. DOI:10.3969/j.issn.1005-9830.2014.02.012 (0) |
[4] | LI C, WU T. Adaptive fuzzy approach to function approximation with PSO and RLSE[J]. Expert systems with applications, 2011, 38(10): 13266-13273. DOI:10.1016/j.eswa.2011.04.145 (0) |
[5] | TAMURA S, HIGUCHI S, TANAKA K. Pattern classification based on fuzzy relations[J]. IEEE transactions on systems, man, and cybernetics, 1971, SMC-1(1): 61-66. DOI:10.1109/TSMC.1971.5408605 (0) |
[6] | BACKER E, JAIN A K. A clustering performance measure based on fuzzy set decomposition[J]. IEEE transactions on pattern analysis and machine intelligence, 1981, PAMI-3(1): 66-75. DOI:10.1109/TPAMI.1981.4767051 (0) |
[7] |
樊治平, 于春海, 尤天慧. 一种基于三角模糊数多指标信息的FCM聚类算法[J]. 控制与决策, 2004, 19(12): 1407-1411. FAN Zhiping, YU Chunhai, YOU Tianhui. An FCM clustering algorithm for multiple attribute information with triangular fuzzy numbers[J]. Control and decision, 2004, 19(12): 1407-1411. DOI:10.3321/j.issn:1001-0920.2004.12.020 (0) |
[8] | WU Z, LEATHY R. An optimal graph theoretic approach to data clustering: theory and its application to image segmentation[J]. IEEE transactions on pattern analysis and machine intelligence, 1993, 15(11): 1101-1113. DOI:10.1109/34.244673 (0) |
[9] | DUNN J C. A fuzzy relative of the isodata process and its use in detecting compact well-separated clusters[J]. Journal of cybernetics, 1973, 3(3): 32-57. DOI:10.1080/01969727308546046 (0) |
[10] | BEZDEK J C. Numerical taxonomy with fuzzy sets[J]. Journal of mathematical biology, 1974, 1(1): 57-71. (0) |
[11] | KENNEDY J, EBERHART R C. Particle swarm optimization[C]//Proceedings of the IEEE International Conference on Neural Networks, Australia 1995: 1942−1948. (0) |
[12] | CHEN Jianqin, XI Yugeng, ZHANG Zhongjun. A clustering algorithm for fuzzy model identification[J]. Fuzzy sets and systems, 1998, 98(3): 319-329. DOI:10.1109/TSMC.1987.6499296 (0) |
[13] | HATHAWAY R J, BEZDEK J C, TUCKER W T. Recent convergence results for the fuzzy C-means clustering algorithms[J]. Journal of classification, 1988, 5(2): 237-247. DOI:10.1007/BF01897166 (0) |
[14] | BEZDEK J C, HATHAWAY R J, SABIN M J, et al. Convergence theory for fuzzy c-means: counterexamples and repairs[J]. IEEE transactions on systems, man, and cybernetics, 1987, 17(5): 873-877. DOI:10.1109/TSMC.1987.6499296 (0) |
[15] | HATHAWAY R J, BEZDEK J C, TUCKER W T. Recent convergence results for the fuzzy C-means clustering algorithms[J]. Journal of classification, 1988, 5(2): 237-247. DOI:10.1007/BF01897166 (0) |
[16] | BOX G E P, JENKINS A D. Time series analysis: forecasting and control[M]. San Francisco, USA: Holden-Day, 1976. (0) |
[17] | YOSHINARI Y, PEDRYCZ W, HIROTA K. Construction of fuzzy models through clustering techniques[J]. Fuzzy sets and systems, 1993, 54(2): 157-165. DOI:10.1016/0165-0114(93)90273-K (0) |
[18] |
王宏伟, 马广富, 王子才. 一种基于模糊规则的模糊辩识方法[J]. 系统仿真学报, 1998, 10(4): 61-64. WANG Hongwei, MA Guangfu, WANG Zicai. A fuzzy identification method via fuzzy rules[J]. Acta simulata systematica sinica, 1998, 10(4): 61-64. (0) |