求助关于几个数学公式加权组合权值调整方法
我有一些数据,分别做了个一次多项式拟合,和高斯拟合,然后两个拟合出来的公式各加一个系数,求和,调整系数值,想让最终结果精度要比单个公式算出来的高一些,请问这个调整准则是什么?我先把数据贴上来,前三列为输入,最后一列为输出
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 回复 1 # qq349379807 的帖子
又是一个死帖,我晕了,高手就不能稍微指点指点么? 不要急,高手会来的,你稍微等一下 回复 3 # chenguijia 的帖子
我知道是什么问题了 上面循环里没有权值调整的收敛条件 就是每次调整量过大 没有控制 导致结果越偏越大 现在加了一个收敛条件:每次调整之后计算误差和调整之前的误差大小 如果变大了 减小步长 但是减多少 还是不知怎么确定
页:
[1]