logo资料库

论文研究-基于支持向量机的非线性系统辨识研究.pdf

第1页 / 共3页
第2页 / 共3页
第3页 / 共3页
资料共3页,全文预览结束
第 5 期 张明光等: 基于支持向量机的非线性系统辨识研究 ·74· 基 于 支 持 向 量 机 的 非 线 性 系 统 辨 识 研 究 * ( 1. 兰 州理 工大学 电 气与 信息 工程 学院 , 甘肃 兰 州 730050; 2. 上 海交 通大 学 自动化 研究 所, 上 海 200030) 张明 光1 , 阎威武 2, 李战明 1 摘 要: 研 究了 基于 支持 向量 机的 非线 性系 统辨识 方法 并进 行了 仿真 试验 , 用 交叉 验证 的方 法进 行 支 持向 量 机 参数 选择 。有效 的仿 真结 果表 明支 持向 量机 是非线 性系 统辨 识的 一种 非常 有效 的方 法。 关键 词: 支 持向 量机 ; 系统 辨识 ; 非线 性 中图 法分 类号 : TP274 文献 标识码 : A 文章 编号 : 1001- 3695( 2006) 05- 0047- 02 Study of Nonlinear System Identification Based on Support Vector Machine ( 1. College of Electric & Information Engineering, Lanzhou University of Science & Technology, Lanzhou Gansu 730050, China; 2. Institute of Automation, Shanghai Jiaotong University, Shanghai 200030, China) ZHANG Ming-guang1, YAN Wei-wu2 , LI Zhan-ming1 Abstract: Nonlinear system identification based on SVM( Support Vator Machine) was discussed and corresponding simula- tion was implemented. Cross validation method was used to select hyperparameter of SVM model. Good result indicated that SVM is effective tool for nonlinear system identification. Key words: Support Vector Machine; System Identification; Nonlinear 非线性系统辨识是控制领域里一个非常重要的研究内容, 也是控制理论能否成功地 应用于 实际的 关键之 一。根据辨 识 的系统模型可以设计各种合适的控制器, 从而使非线性系统工 作在所需要的状态; 同时, 利用 系统模 型也可 以方便 地实现 对 非线性系统的监控。非线性系 统辨识 在信号 处理中 同样具 有 很重要的作用。对线性、非时变和具有不确定参数的对象进行 辨识和自适应控制的研究已取得了很大的进展, 与线性系统的 辨识相比, 非线性系统的 辨识有 很多难 点, 如 模型的 结构和 阶 次很难确定。人工神经网络由 于其可 以逼近 任意类 型的非 线 性, 所以给未知非线性系统的辨识带来了新的方法。然而人工 神经网络存在着收敛速度慢和局部极小值的问题, 且在一般的 神经网络中还没有通用的方法确定隐层单元数目, 存在过拟合 现象。支持向量机是由 Vapnik [ 1] 最初在统计学习理论的基础 上建立起来的一种非常有 力的机 器学习 方法。它是 近几年 发 展起来的一种人工智能技术, 支持向量机较好地解决了传统学 习算法中存在的小样本、非线性、高维数、局部极小点等实际问 题, 具有很强的泛化能力。支持向量机为非线性系统辨识提供 了一个非常有力的工具。 1 支持向量机非线性估计算法 支持向量机主要是基于如下思想: 通过事先选择的非线性 映射将输入向量映射到高维特征空间, 在这个空间中构造最优 决策函数。在构造最优决策函数时, 利用了结构风险最小化原 则, 最后利用原空间的核函数取代了高维特征空间中的点积运 算。 收稿日期: 2004- 10- 01; 修返日期: 2005- 06- 15 基金项目: 国家科技攻关计划资助项目( 2002BA901A28) 1. 1 支持向量机估计算法 [ 2] 设样本为 n 维向量, 某区域的 l 个样本及其值表示为 ( x1, y1) , …, ( xl, y l) ∈Rn ×R 首先用一非线性映射 ψ( ·) 把样本从原空间 Rn 映射到特 φ ( xl ) ) 。在 这个高维特 征 征空间 ψ( x) = ( 空间中构造最优决策函数 y( x) = w· φ( x) + b, 这样 非线性 估 计函数转换为高维特征空 间中的 线性估 计函数。利 用结构 风 险最小化原则, 寻 找 w, b 就 是 最 小 化 R = 1 2 φ ( x2) , …, · ‖ w‖ 2 + c · φ ( x1) , Remp, 其中‖w‖ 2 是控制 模型 的复 杂度, c 是 正规 化参 数, Remp 为误差控制函数, 也即 ε不敏感损失函数。 支持向量机估计算法的优化问题为 minJ( w, ξ) = 1 2 φ l w· w + c∑ i = 1 s. t. y i - w· ( xi) ( ξi + ξ* i - b≤ε+ ξi w· ( xi) + b - yi ≤ε+ ξ* i φ ) , ξ* i , ξi ≥0 , i =1 , … , l ( 1 ) 这个优化问题的解可通过 Lagrang 函数的鞍点给出: L( w, ξ* , ξ, a, a* , c, β, β* ) = 1 2 l w·w + c∑ i =1 ( ξi + ξ* i ) l - ∑ i = 1 ai( ( w· φ l ( xi ) ) - yi + b + ε+ ξi ) - ∑ i =1 ( βi ξi + β* i ξ* i ) a* i ( y i - ( w· φ( x i) ) - b + ε+ ξ* i ) l - ∑ i =1 ( 2 ) ( 3 ) ( 4 )  L  ξ i = 0 l 可得: w = ∑ i =1 = 0, = 0, = 0,  L  b ( ai - a* i  L  ξ * i  根据优化条件: L  w φ l ( x i) , ∑ i =1 c - ai - βi =0 , c - a* i = 0, i = 1, …, l i 根据 Mercer’s 条件, 定义核 K( x i, xj) = ( xi) · ( x j) ( ai - a* i φ φ - β* ) ) =0 , 由式( 2) 、式( 3) 和式( 4) , 优化问题转换为如下优化问题:
·84· 计算机应用研究 2006 年 maxW( a, a * ) = - 1 2 l ∑ i, j=1 ( ai - a* i ) ( aj - a* j l ) K( xi , xj) + ∑ i =1 ( ai - l a* i ) y i - ∑ i =1 ) ε ( ai - a* i s. t. ∑( ai - a* i ) = 0, 0≤ ai≤c, 0≤a* 非线性估计函数为 ( ai - a * f( x) = ∑ 支持 向理 i ≤c, i = 1, …, l i ) K( xi , x j) + b 1. 2 核函数 ( 5) ( 6) 基于支持向量机的系统辨识步骤如下: ( 1) 选取样本, 并对样本数据进行校正和预处理。 ( 2) 确定正规化参数集 Sc 和核参数集 Sθ。 ( 3) 从这两个参数集中选取参数分别进行组合。 ( 4) 利用所选参数进行支持向量机训练。 ( 5) 用确认集进行检验, 返回步骤( 3) 直至组合结束。 ( 6) 选出最佳参数组合, 建立支持向量机模型。 ( 7) 用建立好的模型进行预测。 选择不同的核函数 K( x, xi) 可构造 不同的支持 向量积, 常 3 仿真 用的核包括: ( 1) 生成多项式的核 K( x, xi ) = [ ( x, xi) + 1] d, d 为阶数; ( 2) 生成径向基函数的核 K( x, xi ) = K( |x - xi |) ; ( 3) 生成神经网络的核 K( x, xi ) = S( υ( x, xi) + c) 。 2 基于支持向量机的系统辨识 非线性系统辨识的基本方 法就是 利用已 有的数 据构造 一 个数学模型, 即y = f( u, y) , 使它能够对输出变量进行最佳 估计 和预测。其中 u 为系统已知的输 入量, y 为系统已知 的输出 变 量, y为模型 f 对输 出变量 的最 优估 计。一般 传统 的系 统辨 识 方法是根据系统 的输入 /输出 数据 对 u /y, 利 用 数学 方法 提 取 系统的数 学模 型 f, 所 采用 的训 练原 则为 e = ‖ y - y‖ < ε成 立, 其中 ε为预定的辨识精度。这种传统的训练原则存在着缺 点, 即只对训练误差进行约束, 而没有对模型的结构进行控制。 所以有时最后得到的模型虽然有良好的训练精度, 但泛化能力 却不令人满意, 如神经网络中的过拟合现象。而支持向量机算 法采用了结构风险最小原则, 达到了训练精度和模型复杂度之 间的某种平衡, 在保证训 练精度 的情况 下, 很 好地控 制了模 型 的复杂度, 从而在算法上保证了模型具有良好的泛化性能。 基于支持向量机的系统模型属于黑盒子一类的模型, 所以 只关心对象的输入与输出, 而不 必关心 对象的 具体结 构, 输 入 与输出的映射关系由支持 向量机 来实现。基 于支持 向量机 的 系统辨识过程如图 1 所示。在具体进行系统模型的辨识时, 首 先利用 输入变量 u 和输出变 量 y 的样本对支 持向量机进 行训 练, 然后利用训练好的模型对输出变量进行估计。基于支持向 量机的系统模型如图 2 所示, 其中中间层为支持向量。最后在 非线性系统模型中, 输入变量与输出变量之间的非线性函数关 系由支持向量机 f( x) = ∑ i ) K( xi , xj) + b 来实现。 ( ai - a* 支持 向量 u 非线性系数 d-+ y 输入变量 u员 y 图 1 支持向量机系统辨识过程 支持向量机模型 输入变量 un 图2 支持向量机系统模型 支持向量 左 左 输出 y 双输入单输出的非线性静态系统 [ 3] 表示如下: z = ( 1 + x - 2 + y - 1. 5 ) 2 1≤ x, y≤5 采用支持向量机的方法对系统进行建模。 3. 1 数据处理 首先对变量进行归一化: xi = xi - min( xi) max( xi ) - min( x i) 归一化后的属性值xi∈[ 0, 1] 。 核函数选取径向基函数: ‖x - xi‖ 2 K( x, xi ) = exp{ - ) 2σ2 ( 7 ) ( 8 ) ( 9 ) n 其中, ‖x - xi ‖ = ∑ 槡 k = 1 ( x k - xk i ) 2 , σ为核宽度。 用测试集的泛化均方根误差( RMSE) 判断建模效果的优劣: RMSE = 1 槡 n n ∑ i =1 ( y i - yi) 2 ( 10 ) 式中, n 为校验样本数目, yi , yi 分别为实际值与估计值。 正规化 参 数 集 Sc = { 50, 25, 10, 5, 0. 75, 0. 5, 0. 25, 0. 1, 0. 05, 0. 01} 和 核 参数 Sσ = { 5, 1, 0. 75, 0. 5, 0. 25, 0. 1, 0. 075, 0. 05, 0. 025, 0. 01} 。 3. 2 结果及讨论 图 3 为支持向量机模型的估计值与实际值的比较曲线。 5 0 -5 虚线 估计值 样本值 实线 - - 5 10 15 20 25 30 35 40 45 50 训练样本 5 0 -5 虚线 估计值 样本值 实线 - - 5 10 15 20 25 30 35 40 45 50 测试样本 (a) (着=0.01,滓=0.25,c=0.1) (b) 图 3 支持向量机模型的估计值与是及分析值的比较曲线 从图 3 可以看出, 支持向量机模型的估计值与实际分析 值 吻合得非常好, 估计结果的 精度很 高, 较好地 跟踪了 系统的 变 化趋势。将试验结 果与 其他 建模方 法, 如 Sugeno 使 用的 基 于 模糊聚类方法 [ 4] 、Gomez-Skarmeta 使用的 EST 算法及多模型 方 法 [ 5] 进行比较, 比较结果如表 1 所示。从 表 1 可 以看出, 支 持 向量机模型表现出了良好的泛化能力。 在进行支持向量机支持向量机建模时有两类参数, 即正规 化参数 c 和核参数( 如生成 多项式的核 的阶数 d) , 它们 是非常 重要的参数。寻找最佳正规化参数和核参数的问题也就是最佳 表 1 非线 性系统 建模误 差 模 型 Suge no EST1 / EST2 / EST3 支 持 向 量 机 RMSE 0. 564 0. 300 / 0. 282 /0. 266 0 . 104 7 模型选择问题。本文用交叉验证的方 法进行参数的选取, 首先 确定正规化参数集 Sc = { , 然后从参数集中选取参数分别进行组合, 对支持向量机 进行训 练。用确认集检验, 选出最佳的参数组合作为模型的最终参数。 c 1 , …, cN} 和核参 数 Sθ= { θ1, …, θN} 通过仿真研究可以发现基 于支持 向量机 的非线 性系统 辨 识方法有如下优点: ①只需要非线性系统较少的先验知识。② 不需要确定系统的具体结构, 而且与普通神经网络相比, 其模型 结构是自动确定的, 没有局部极值问题。③由于 ( 下转第 82 页 )
·28· 计算机应用研究 2006 年 一些机制, 允许将 Schema 组件设计在不同的模式文档之中, 由 这些模式文档共 同组 成一 个完 整的 模式。这 此机 制 包括: In- clude, 允许在模式文档 中包 含具 有 相同 命名 空 间的 另一 个 模 式文档; Redefine, 如果被重定义的模式文档与重定义它的 模式 文档具有相同的目标命名空 间, 则可对 模式文 档进行 重定义; Import, 允许引用来自其他 命名空 间的组 件。如果需 要设计 的 模式数量很大, 而且需要重用的 Schema 组件也很多, 则可选择 在多个模式文档间进行分层, 具体的示例可参考文献[ 2] 。 以下代码便是 依 据这 种思 想 设 计的 一 个 简单 W3C XML Schema 模式“bookstore4. xsd”。在 此模 式中, 共 有三 个模 式 文 档: “bookelement. xsd”, “book. xsd”和 “bookStore. xsd”。 其 中 “book. xsd”包含“bookelement. xsd”, 而“bookstore4. xsd”又 包含 “book. xsd”, 形成了一个在多个模式文档间层层嵌套的关系。 ( 1) 模式文档 bookelement. xsd < xsd: schema… > < xsd: element name = " Title" type = " xsd: string" / > < xsd: element name = " Author" type = " xsd: string" / > < xsd: element name = " Data" type = " xsd: string" / > < xsd: element name = " ISBN" type = " xsd: string" / > < xsd: element name = " Publisher" type = " xsd: string" / > < / xsd: schema > ( 2) 模式文档 book. xsd: < xsd: schema… > < xsd: include schemaLocation = " . \bookelement. xsd" / > < xsd: element name = " Book" > < xsd: complexType > < xsd: sequence > < xsd: element ref = " Title" / > < xsd: element ref = " Author" / > < xsd: element ref = " Date" / > < xsd: element ref = " ISBN" / > < xsd: element ref = " Publisher" / > < / xsd: sequence > < / xsd: complexType > < / xsd: element > < / xsd: schema > ( 3) 模式文档 bookstore4. xsd: < xsd: schema… > < xsd: include schemaLocation = " . \book. xsd" / > < xsd: element name = " BookStore" > < xsd: complexType > < xsd: sequence > < xsd: element ref = " Book" maxOccurs = " unbounded" / > < / xsd: sequence > < / xsd: complexType > ( 上 接第 48 页 ) 采用了 核函数 来处理 输入输 出之间 的非 线性 关 系, 且核的选择灵活多样, 使之非常适合于非线性系统的辨识。 ④基于支持向量机的模型具有非常好的泛化能力。 4 结论 支持向量机是一种新的通用学习机器, 它较好地解决了传 统学习方法中存在的小样本、非线性、高维数、局部极小点等实 际问题, 具有很强的泛化能力。本文研究了基于支持向量机的 非线性系统辨识 方法, 利 用支持 向量机 进行非 线性系 统辨 识。 有效的仿真结果表明支持向量机为非线性系统辨识提供了一种 十分有效的新方法, 在非线性系统辨识中有良好的应用前景。 参考文献: [ 1] apnik V N. The Nature of Statistical Learning Theory [ M] . New York: Springer-Verlag, 1999. < / xsd: element > < / xsd: schema > 1. 3 综合结构化程序设计方法和面向对象的设计方法 这种设计方式实际上是综 合了结 构化程 序设计 方法和 面 向对象的设 计 方 法。 在 此 种 设计 方 式 中, 全 局组 件 ( 包 括 元 素、类型等) 和局部组件( 包括元素、类 型等) 的设计 是随意的, 并被随意地组合在一起。此种 方式是 最差的 一种模 式设计 方 法, 应该尽量避免。运用 这种设 计思想 的最典 型的 W3C XML Schema 设计模式为博洛尼亚 ( Bologna 意大利城市) , 具体内 容 可参考文献[ 1] 。 2 小结 本文从结构化程序设计和 面向对 象程序 设计的 视角共 介 绍了六种 比较典型的 W3C XML Schema 模 式设计方法, 但是, 具体选择哪一种模式设计方法, 则取决于业务的实际需要。如 果模式文档的大小是要考虑的主要问题, 则结构化程序设计方 法比较合适; 如果名字空间 的复杂 性是要 考虑的 主要问 题, 则 结 构化 程 序 设计 方 法 和 “封 装的 Schema 组 件 类 型侧 重 于 类 型”的设计方 法 比 较合 适; 如 果 可 扩 展 性是 要 考 虑 的 主 要 问 题, 则面向对象的设计方法比较合适。 参考文献: [ 1 ] edBiquitous. XML Schema Design Guidelines, version 1. 2 [ EB/ OL] . http: / / www. medbiq. org/ technology / tech _ architecture/ xm- ldesignguidelines. pdf, 2004- 04- 30. [ 2] Ma Yongheng, Xiong Qianxing, Wu Yefu, et al. Building W3C XMl Schema for UN / EDIFACT Messages with Multiplayer and Modular Architecture[ C] . Proceedings of the International Conference on Web Service, Las Vegas, Nevada, USA: CSREA Press, 2003. 515- 519 . [ 3] 李浩, 孙 统风, 孟现 飞, 等 . 基 于 面向 对 象 思 想构 建 XML Schema [ J] . 微机 发展 , 2003, 13( 6 ) : 59- 64. [ 4] 胡庆 彬, 黄 石 生 . 结 构化 和 面 向 对象 程 序 设 计方 法 的 探 讨 [ J] . 计算机 应用 研究, 1998, 15( 1) 56- 58. [ 5] 王茹, 宋 瀚涛 . XML 文档 结构 定 义 规 范——— XML Schema[ J] . 计 算机应 用研 究, 2002, 19 ( 1) : 127-129 . 作者简介: 马 永恒 ( 1975 - ) , 男, 湖 北 云梦 人 , 硕 士 生, 研 究 方 向 为 计 算 机 支 撑 技 术 ; 熊 前兴 ( 1943 - ) , 男, 湖 北 洪 湖 人 , 博 士 生 导 师, 研究 方 向 为 计 算 机 支 撑技 术; 杨金娥 ( 1976- ) , 女, 湖北 孝感 人, 助理研 究员 , 硕 士。 [ 2] Suykens J A K . Nonlinear Modeling and Support Vector Machines [ C] . Proc . of the 18th IEEE Conference on Instrumentation and Measurement Technology, 2001 . 287- 294. [ 4] [ 3] Nakanishi H, Turksen I B, Sugeno M. A Review and Comparison of Six Reasoning Method[ J] . Fuzzy Sets and Systems, 1992, 57: 257- 294. Sugeno M, Yasukawa T. A Fuzzy-Logic-based Approach to Qualita- tive Modeling[ J] . IEEE Trans. Fuzzy Systems, 1993 , 1 ( 1) : 7- 31 . [ 5] Gomez-Skarmeta A F, Delgado M, Vila M A. About the Use of Fuzzy Clustering Techniques for Fuzzy Model Identification[ J] . Fuzzy Sets and Systems, 1999 , 106: 180-188 . 作者简介: 张 明光( 1971 - ) , 男, 副 教 授, 硕 士 , 主 要 研 究 领 域 为 人 工 智能 、计 算 机 控 制及 其在过 程控 制 中的 应 用 ; 阎 威 武 ( 1972 - ) , 男, 讲 师, 博 士 , 主 要 研 究领 域为人 工智 能、智能控 制、数 据 挖掘 ; 李战 明 ( 1962- ) , 男 , 院长 , 教 授, 硕士 , 主 要研 究领域 为人 工智能 和智能 控制 。
分享到:
收藏