基于遗传算法的三次样条函数拟合_陈小平
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
0;
( 3) 译码 染色体并对 第 i 代 中第 j 条染 色体计
算估计误差 eij , 令 eimin= minj (eij ) ; ( 4) 采用 赌轮法选择 N 个父体 ,保留 1个最优
父体不参与交叉变异 ;
( 5) 配对交叉 ,采用两点交叉 方法 ,在 交叉过程
中 以概率 Pm 调 用变 异操作 , 若 Pm = Pm max , 变 异操 作完成之后恢复正 常的变异概率 Pm = Pm nor ,将步骤
Genetic Algorithms Based Cubic Spline Functions Fitting
Chen X iaoping Y u Shengl in Liu Wenbo
Depar tment of M ea sur ement and T esting Enginee ring , N anjing U niv ersity of Aer onautics & Astr onautics N anjing , 210016
2 遗传算法实现
GA 是 基于自 然选 择和 自然 基因 的搜 索算 法 , 通常由三个基本操作组成: 选择、交叉、变异。给定一 个优 化的问 题 ,简 单的 G A将 参数编 码成一 定长的 位字 符串 ,然后以随机 的方法 组合基 于适应 度函数 重复使用三种操作 ,执行拷贝字符串 ,交换字符串的 一部 分及改变字 符串的 某一位 的值的 基本操作 ,最 后发现和解码 G A的解。
陈小平 于盛林 刘文波
(南京航空航天大学测试工程系 南京 , 210016)
摘要 介绍了遗传 算法 ( G A)的一 种新应用— — 三次样条 函数拟合中的参数 估计问题。 三次样条 函数拟 合是曲线拟 合的一个公 认的较好 方法 ,它 具有很好 的分段光滑 性 ,但 三次样条函 数拟合涉 及到矩阵求逆 ,离散样本点 越多 ,矩阵 就越大 ,求逆 就越繁琐。 文中将 G A用于三 次样条函数拟合 的系数求解 ,避开了矩阵求逆的繁琐问题 ,结合具体例 子作了一些探索。文中还对标准遗传算法进 行了适当的改进 ,实验结果说明遗传算法是用于参数估计、优化的有力工具。 关键词: 遗传算法 ;样条函数 ;曲线拟合 中图分类号: T P301. 6; T N 911. 7
据采 样点处 于 tk 上 ,k 为整 数 ,而 h 为采样 间隔 ,则
任意一点可以表 示为 t= tk+ ph , 0≤ p < 1,当采用三
次 B-样条函数来进 行信号拟合时 ,有
k+ 2
∑ S( tk + ph ) =
anB3 ( p + k - n)
n= k- 1
其中
∑ =
1 6h
3 n=
0
在每 一代中 ,对 每条染色体 (表示 a1 的字符 串 ) 译码计算出 a1 ,并求出 相应的 a2… an ,代入式 ( 2, 3) ,
得到 该染色体对 应的样 条函数 ,设在 整个曲 线拟合
区间 [a,b ]上的第 i 代第 j 条染色体对应的估计误差
为 eij ,这样就可以定义该染色体的适应度函数
Abstract A new applicatio n to paramet er estima tion i n cubic spli ne f uncti on fi tti ng via geneti c alg ori thm s ( GA) i s present ed. Cubic spli ne functi ons fi t ti ng i s a g ood m ethod in the curv e fi t ting because they are characteri zed by v ery good subsecti on smoo thness. But in cubic spli ne functio n fi t ting the i nv erse of the mat rix m ust be m ade. T he m ore discret e the sample dat a are, the larg er the mat ri x is and the mo re com pli cat ed i ts i nv erse i s. GA is used to obtain co ef fici ent s of cubic spline functi on fi t ting to avoid the i nv erse o f the m at rix a nd some w o rk i s made wi th a n ex ample. Sui table i mprovements are also m ade f or the standard G A. T he ex perimental resul ts sho w tha t GA i s pow erf ul fo r paramet er esti matio n and optimi zatio n. Key words: g enetic alg orit hms; spline functi ons; curve f it ting
f ij = 1 - m|aex|ij|eij| j = 1,… , N
( 6)
j
在运行 G A之前有几个参数 需设置。 这些参数
如下: N 为染 色体的 数量 ,即群体 规模 ; L 为 染色体
的长 度 ; Gt 为 G A运 行 Gt 代后 ,若最 小估计 误差值 没 有改善 则结 束 GA; Ge 为 GA 运 行 Ge 代 后 ,若最
小估计误 差值没有改 善则应用 增加变异概 率 Pm 手
段 , 注意 Ge Gt ; Pc 为交叉概 率 ; Pm nor为正 常变异概 率 ; Pm max为最大变异概率 ; W为估计精度。
GA 的具体步骤如下:
( 1) 设置上述参数 ,令 i= 0,k = 0, m= 0;
( 2) 初始化 N 个 染色体 ,令 i= i+ 1,k = 0,m=
本 文将 GA 用 于 三次 样条 函 数拟 合的 系 数求 解 ,避开了矩阵求逆的繁琐问题 ,结合 具体例子作了 一些探索 ,实验结果令人满意。文中还对标准 G A作 了两点改进。首先 ,自动选择相应于最小估计误差的 染色 体进行交叉 ,将最 好的染 色体不 变地传 至下一 代确保了 最小估计误差是一 单调减小的过程 , 它与 基于由适应度值定义的概率分布选择 父代的传统方 法形成对比。 第二 ,引入可变变异概率的手段 ,当基 因池中所有染色体相同或经过一定代 数之后最小估
DOI : 10. 16337 /j . 1004 -9037. 2000. 02. 002
第 15卷第 2期 2000年 6月
数 据采 集 与 处理 Jo urnal o f Data Acquisitio n & Processing
V o l. 15 N o. 2 Jun. 2000
基于遗传算法的三次样条函数拟合
收稿日期: 1999-04-22;修改稿收到日期: 1999-08-29
第 2期
陈小平 ,等: 基于遗传算法的三次样条函数拟合
1 39
三次样条函数拟合的系数求解 ,即参数估计。 GA 是一种模仿 生物进化过 程的结构 型的随机
搜索。在解决给定的最优化 任务时 ,算法开始时收集 一些 估计参数 (称 之为染色体 ) ,每一个 估计参数都 由其适应度函数来评估。在 每一代 ,适应度高的染色 体允许配对交叉和繁殖。 产生新的估 计参数形成下 一代的基础。 这种生物模仿过程可以 导出复杂问题 的 有效 解 ,不 会陷 入局部 最小 问题。 G A 首先 是由 Holla nd提出 的 ,并由 Go ldberg 作了 广泛的探索 [1 ]。 GA 已成 功地 应用于 多种 优化 问题 ,例如 采样 样本 的延时估 计 [2 ]、线 性自适应滤波器的 参数估计 [3]、非 线性 数字滤 波器的 参数识 别 [4 ]、多传感 器多目 标静 态数据关联 [5]等。
t3
-
t2 +
23 - 1≤ t < 0
1 2
t3
-
t2 +
2 3
0≤
t
<
1
-
1 6
t3
+
t2 - 2t +
43 1≤ t < 2
( 1) 比起 更高次的样 条函数 来说 ,三次样 条函数 应用更 加 广 泛 一 些。 三 次 B-样 条 函 数 的 傅 里 叶 变 换 为 sinc4 ( f )。它是非负的 ,当 f→∞时 sinc4 ( f )→ f - 4。这 说明它对于高频分量的抑制是极 其有效的。 假定数
计误差没有减小时增大变异概率。
1 三次样条函数拟合 [6]
样 条函 数拟 合是使 所选 的样条 函数 S ( t )在取 样点上的数值与所得到的数据相同并 且保持整个函
数具有要求的光滑性。
三次 B-样条的表达式 如下
1 6
t
3
+
t2 +
2t源自文库+
43 - 2≤ t < - 1
B3( t ) =
-
1 2
观 察矩阵 E 和式 ( 4) ,若已 知 a1 ,则可 依次求出
140
数 据 采 集 与 处理
第 15卷
a2… an。 GA 应用于三次样条函数拟合的基本思路正 是 通过运 行 G A找到 系数 向量 A= [a1 , a2 ,… , an ]T
中 第一个 元素 a1 的最佳 值 ,再 由式 ( 4)依次求 出其 余系数 a2… an ,所以在 G A 中要编码的参数只有 a1。
引 言
在连 续信号 的复原 和重建 过程中 ,须从 离散样 本求出不位于取样点上的数值。 如果 考虑复原过程 总会 存在误差 ,那么通 过一些 有误差 的离散 数据来 得到 整个区间的 曲线是 一个曲 线拟合或 逼近问 题。
而当误差为零时 ,逼近就退化成了插值。作为逼近当 然存在一个用什么函数来逼近的 问题 ,样条 函数 ,尤 其是 三次样条函 数 ,是 曲线拟 合的一 个公认 的较好 方法 ,它具有很好的分段光滑性。但三次样条函数拟 合涉及到矩阵求逆 ,当离散样本点 (观测数据 )越多 , 矩阵就越庞大 ,求逆就越繁琐。 为了解决这 个矛盾 , 本文提出将遗 传算法 ( Genetic algo rithms, GA )用于
bn
p
3-
n
( 2)
b0
- 1 3 - 3 1 ak- 1
b1
3 - 6 3 0 ak
=
( 3)
b2
-3 0
3 0 ak+ 1
b3
1
4
1 0 ak+ 2
为了 确定系 数 ak ,考 虑到在 数据采 样点上 p = 0,则
有
S( tk ) =
1 6h
( ak -
1+
4ak +
ak+ 1 )
( 4)
而 在这些点上 样条 S ( tk )的数 值应该 等于观 测数据
( 4)保留的最优父 体随机地替换 N 个 子体中的任一
个;
( 6)
如果
eimi n =
eim-i
1 n
,
k
=
k+
1,m= m+
1, 否则 k
= 0,m= 0;
( 7) 如 果 N 个 父体都 相同 或 k = Ge,使变 异概 率 Pm = Pmmax ,令 k= 0;
( 8) 如果 m= Gt (或 eimin < W) ,那 么结束算 法 ,否 则转至步骤 ( 3)。
作者对 G A 算法的改进体现在步骤 ( 4, 5)。步骤
( 1)将最 好的染色体 不变地传 至下一 代确保 了最小
估计误差是一单调减小的过程 ,步骤 ( 2)引入可变变
异概 率的手段 ,当所有 染色体 相同或 经过一 定代数
之后估计误差没有减小时增大变异概率 。
3 实验结果
根 据第 2节所 述算法 ,对 函数 y= sinx 等 间隔 采样所获得的样本数据 进行曲线拟合。令 x = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ],此处设 采样间隔 h= 1。 样本 数据如图 1所示 ,“о”即采样点 ,虚线为 y= sinx。
值 x (tk ) ,因此有
x = EA
( 5)
式中 E 是一个 n× n的 T oeplit z矩阵
41
14 1
E=
1 6h
14 1 ………
1 41
14 x = [x ( t1 ) , x (t2 ) ,… , x (tn ) ]T A = [a1 , a2 ,… , an ]T 系数 ak 可以由式 ( 5)通过 矩阵 E 求逆获得。 现在的 问题是 如果观测数据值 x 的长 度较长时 ,矩阵 E 将 非常庞大 ,对其求逆势必相当繁琐。下面介绍 G A应 用于三次样条函数拟合 ,即求系数 ak ,省去了矩阵求 逆的麻烦。