当前位置:文档之家› 基于RBF神经网络的水泥强度预测模型

基于RBF神经网络的水泥强度预测模型

4.利用MATLAB中的RBF神经网络建模,得出预测 模型,并比较此模型的实际误差
3过程及实现
(1)fcm离散化程序:
load shuini28dkyqd.mat;load data.mat
B=[];
[N1,N2]=size(data);
for idy=1:N2;
a=data(:,idy) %原始数据
f=abs(TestSamOut-TestNNOut)./TestSamOut;
plot(f); title('属性约简后的样本预测值的相对误差百分数'); xlabel('输出样本个数'); ylabel('预测样本的相对误差');
W2
B2
average1=abs(sum((TestNNOut-(sum(TestSamOut)./59))./TestSamOut))./59%平均相对误差绝对值
2)数据中心动态调节方法(k均值聚类方法)
随机选取数据中心程序如下:
clc; clear all; t1=cputime; load data.mat;%约简后的总体样本 ceshiyangben=[data(1:2:238,1),data(1:2:238,2),data(1:2:238,3),data(1:2:238,4),data(1:2:238,5),data(1:2:238,6),d
入中随机选取,或者选择前h个样本输入,但这h个初始数据中心必 须取不同值。
2)计算所有样本输入与聚类中心的距离
X j c ik,i 1 ,2 , ,h ,j 1 ,2 , ,N
3)对样本输入 X j ,按最小距离原则对其进行分类:
即当 iX j m iinX j c ik,i 1 ,2 , ,h时,X j 即
ata(1:2:238,7),data(1:2:238,8)]; ceshiyangbenjieguo=[data(1:2:238,9)]; yuceyangben=[data(2:2:119,1),data(2:2:119,2),data(2:2:119,3),data(2:2:119,4),data(2:2:119,5),data(2:2:119,6),d
被当归为第i类,即。X j wi k
4)重新计算各类的新的聚类中心:
cik1N 1i xwikx,i1,2, ,h
5)如果cik1cik 转到步骤(2),否则
聚类结束,转到步骤(6)。 6)根据各聚类中心之间的距离确定个隐节点的扩
展常数。隐节点的扩展常数取 i kd i ,其中
b=b' ; % b'为将b转置后的结果
B=[B b];
end;
得出结果为离散化好的数据
Loss SiO2 Al2O3 Fe2O3 CaO MgO KH n p f-CaO C3S C2S C3A C4AF 比表面(cm2/g) 标准稠度(%) 细度(%) 一天抗压(Mpa) 三天抗压(Mpa) 一天抗折(Mpa) 三天抗折(Mpa) 二十八天抗压(Mpa)

ceshiyangbenjieguo=[data(1:2:238,9)];
d i 为第 i 个数据中心与其他最近的数据中心之间
的距离,即
di=
min i
cj
ci
k
,k称
重叠系数。
一旦各隐节点的数据中心和扩展常数确定
了,输出权值 ww1,w2, ,whT就可以
通过训练得到,最后就可以建立RBF网络 了
②建模: 本文用了两种建模方法:
1)数据中心从样本输入中选取(随机选取 中心)
题目:基于RBF神经网络的水 泥强度预测模型
学生: 学号:
指导老师:
1.研究内容
首先收集水泥的一些属性,测定不同属 性的参数。然后根据RBF神经网络的进行 建模,预测水泥强度参数,判定是否合格。 最后验证所得到的预测模型是否可以实际 应用。(一般会收集对水泥28d抗压强度有 影响的属性,因为水泥的抗压强度在28d左 右会定型,如果满足28d抗压强度值将可以 进行实际应用)
0.04
0.03
0.02
0.01
0
0
10
20
30
40
50
60
输出样本个数
基于k均值聚类方法的程序如下:

clc;

clear all;

clc;

t1=cputime;


load data.mat;%约简后的总体样本

ceshiyangben=[data(1:2:238,1),data(1:2:238,2),data(1:2:238,3),data(1:2:238,4),data(1:2:238,5),data(1:2:238,6),data(1:2:238,7),data(1:2:238,8)];
TestSpreadsMat = repmat(Spreads,1,TestSamNum);
TestHiddenUnitOut = radbas(TestDistance./TestSpreadsMat);
TestNNOut = W2*TestHiddenUnitOut+B2;
plot(1:TestSamNum,TestSamOut,'r-+',1:TestSamNum,TestNNOut,'b-o'); title('属性约简后的预测值与实际值模型'); xlabel('输出样本个数'); ylabel('预测样本值与实际样本值'); figure;
3
3
3
2
1
……
2
2
2
2
3
3
……
2
3
3
2
3
3
……
2
3
3
(2)用Rosetta软件属性约简,得出的主要因素 为表1-1
(3)八个主要因素
Loss Fe2o3 CaO KH
C3A 比表 标准 一天 面积 稠度 抗压 强度
(4)RBF网络建模:
①RBF网络结构和工作原理:(径向基函数网络的拓扑结构)
X1 y1
约简处理后建模所得模型图像
预测样本值与实际样本值
64 63 62 61 60 59 58 57 56
0
属性约简后的预测值与实际值模型
Actual value Predictive value
10
20
30
40
50
60
输出样本个数
0.07
属性约简后的样本预测值的相对误差百分数
0.06
0.05
预测样本的相对误差
% 计算各隐节点的扩展常数(宽度) AllDistances = dist(Centers',Centers); % 计算隐节点数据中心间的距离(矩阵) Maximum = max(max(AllDistances)); % 找出其中最大的一个距离 for i = 1:ClusterNum % 将对角线上的0 替换为较大的值 AllDistances(i,i) = Maximum+1;
X2
yM XL
由图对应的公式为:
y k 表示输出层第k个节点的输出。 k 表示输出层第k个节点的阈值
为径向基函数
n
Yk k wjk xcj
j1
w j k 表示第j个隐层节点连接到输出层第k个节点的权值 隐层函数一般采用高斯函数确定:对于高斯函数,其中x是n 维输入向量;c i 是第i个函数的
中心; i 是第i个感知的变量(可以自由选择的参数),它决定了该基函数围绕中心点的宽度
Ri
x
exp

xci
2i2

由高斯函数可知只要确定隐节点的数据中心,高斯 函数的值就可以确定,而隐节点的数据中心确定后 隐节点的扩展常数就可以根据公式算出,最后各隐 节点的数据中心和扩展常数确定,输出权值就可以 通过训练得到。具体步骤如下: 1)算法初始化:选择h个不同的初始聚类中心,比如,从样本输
2.方法及步骤
1.将收集到的与水泥28d强度相关的原始数据(水 泥度的 等属 )性 进包 行括 整:理l制os成s,esxioc2e,l比表表格面,积便,于一软天件抗处压理强。
2.用MATLAB软件中的FCM函数进行离散化处理 (原始数据不便于直接进行属性约简需先进行离 散化)。
3.利用Rosetta函数中的johnson’s algorithm进行属 性约简,提取出对水泥28d抗压强度有影响的主 要因素。
3
2
2
……
3
3
1
2
2
2
……
2
2
3
2
2
3
……
2
3
2
2
2
2
……
2
2
2
3
2
2
……
2
2
3
2
2
2
……
3
2
1
3
3
2
……
3
2
3
2
2
2
……223333……
3
3
1
2
1
1
……
1
1
2
3
3
1
……
2
2
3
1
1
3
……
2
2
2
3
3
3
……
3
3
2
2
2
2
……
相关主题