qq349379807 发表于 2012-7-10 15:41

求助关于几个数学公式加权组合权值调整方法

我有一些数据,分别做了个一次多项式拟合,和高斯拟合,然后两个拟合出来的公式各加一个系数,求和,调整系数值,想让最终结果精度要比单个公式算出来的高一些,请问这个调整准则是什么?
我先把数据贴上来,前三列为输入,最后一列为输出
394        120        185        1120.7       
394        126        195        1122.9
394        132        205        1128.6
415        120        195        1057.6
415        126        205        1065       
415        132        185        1037.3
436        120        205        1004.1
436        126        185        974.22
436        132        195        977.94
一次多项式拟合公式f1,高斯拟合f2,我想参考BP调整权值中使用的LMS算法来做一下,编码如下
data=load('data.txt');
b0=;                                 %设定权值初始值
a=0.9;                                             %设定学习速率
for i=1:9                                          %循环体
xdata=data(i,:);                              %读数据第i行
xi=xdata(1:3);                                  %读第i行前三列输入
yi=xdata(4);                                     %读第i行输出
f1=firstf(xi);                                    %计算一次多项式拟合值
f2=secondf(xi);                                    %计算高斯拟合值
f=a*(yi-b0(1)*f1-b0(2)*f2)*;      %LMS学习规则 计算权值调整增量
b0=b0+f                                              %权值调整
end
最后输出了每一次调整的系数值,结果大的吓人,明显不对,请各位高手帮我解决一下,谢谢
b0 =-889.3007 -893.2525

b0 =1.0e+009 *
2.0286    2.0330

b0 =1.0e+015 *
-4.6617   -4.6817

b0 = 1.0e+021 *
9.4682    9.4832

b0 =1.0e+028 *
-1.9383   -1.9446

b0 = 1.0e+034 *
3.7649    3.7799

b0 =1.0e+040 *
-6.8406   -6.8792

b0 =1.0e+047 *
1.1749    1.1817

b0 =1.0e+053 *
-2.0346   -2.0424

qq349379807 发表于 2012-7-10 20:54

回复 1 # qq349379807 的帖子

又是一个死帖,我晕了,高手就不能稍微指点指点么?

chenguijia 发表于 2012-7-11 09:10

不要急,高手会来的,你稍微等一下

qq349379807 发表于 2012-7-11 10:41

回复 3 # chenguijia 的帖子

我知道是什么问题了 上面循环里没有权值调整的收敛条件 就是每次调整量过大 没有控制 导致结果越偏越大 现在加了一个收敛条件:每次调整之后计算误差和调整之前的误差大小 如果变大了 减小步长 但是减多少 还是不知怎么确定
页: [1]
查看完整版本: 求助关于几个数学公式加权组合权值调整方法