基于RBF神經(jīng)網(wǎng)絡(luò)的水泥強度預(yù)測模型.ppt_第1頁
基于RBF神經(jīng)網(wǎng)絡(luò)的水泥強度預(yù)測模型.ppt_第2頁
基于RBF神經(jīng)網(wǎng)絡(luò)的水泥強度預(yù)測模型.ppt_第3頁
基于RBF神經(jīng)網(wǎng)絡(luò)的水泥強度預(yù)測模型.ppt_第4頁
基于RBF神經(jīng)網(wǎng)絡(luò)的水泥強度預(yù)測模型.ppt_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、題目:基于RBF神經(jīng)網(wǎng)絡(luò)的水泥強度預(yù)測模型,學(xué)生: 學(xué)號: 指導(dǎo)老師:,1.研究內(nèi)容,首先收集水泥的一些屬性,測定不同屬性的參數(shù)。然后根據(jù)RBF神經(jīng)網(wǎng)絡(luò)的進(jìn)行建模,預(yù)測水泥強度參數(shù),判定是否合格。最后驗證所得到的預(yù)測模型是否可以實際應(yīng)用。(一般會收集對水泥28d抗壓強度有影響的屬性,因為水泥的抗壓強度在28d左右會定型,如果滿足28d抗壓強度值將可以進(jìn)行實際應(yīng)用),2.方法及步驟,1.將收集到的與水泥28d強度相關(guān)的原始數(shù)據(jù)(水泥的屬性包括:loss,sio2 ,比表面積,一天抗壓強度等)進(jìn)行整理制成excel表格,便于軟件處理。 2.用MATLAB軟件中的FCM函數(shù)進(jìn)行離散化處理(原始數(shù)據(jù)不

2、便于直接進(jìn)行屬性約簡需先進(jìn)行離散化)。 3.利用Rosetta函數(shù)中的johnsons algorithm進(jìn)行屬性約簡,提取出對水泥28d抗壓強度有影響的主要因素。 4.利用MATLAB中的RBF神經(jīng)網(wǎng)絡(luò)建模,得出預(yù)測模型,并比較此模型的實際誤差,3過程及實現(xiàn),(1)fcm離散化程序: load shuini28dkyqd.mat;load data.mat B=; N1,N2=size(data); for idy=1:N2; a=data(:,idy) %原始數(shù)據(jù) k=3; %離散區(qū)間為3; center,U,obj_fcn=fcm(a(:,1),k); %將數(shù)據(jù)進(jìn)行模糊C-均值聚類,n為

3、數(shù)據(jù)untitled的列數(shù), n=1,2,3,4,center為迭代后的聚類中心,U為所有數(shù)據(jù)點對聚類中心的隸屬度函數(shù)矩陣,obj_fcn為目標(biāo)函數(shù)值; c1=sort(center); %將得到的聚類中心排序; newU=; %生成一個新的隸屬度矩陣newU;按照聚類中心的排序重新排序; for idx=1:k; a1=find(center=c1(idx); newU1=U(a1,:); newU=newU;newU1 ; end; a,b=max(newU); % b 是離散化所得的結(jié)果,b為將b轉(zhuǎn)置后的結(jié)果 b=b ; % b為將b轉(zhuǎn)置后的結(jié)果 B=B b; end; 得出結(jié)果為離散化

4、好的數(shù)據(jù),(2)用Rosetta軟件屬性約簡,得出的主要因素為表1-1,(3)八個主要因素,(4)RBF網(wǎng)絡(luò)建模: RBF網(wǎng)絡(luò)結(jié)構(gòu)和工作原理:(徑向基函數(shù)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)),由圖對應(yīng)的公式為: 表示輸出層第k個節(jié)點的輸出。 表示輸出層第k個節(jié)點的閾值 為徑向基函數(shù) 表示第j個隱層節(jié)點連接到輸出層第k個節(jié)點的權(quán)值 隱層函數(shù)一般采用高斯函數(shù)確定:對于高斯函數(shù),其中x是n 維輸入向量; 是第i個函數(shù)的 中心; 是第i個感知的變量(可以自由選擇的參數(shù)),它決定了該基函數(shù)圍繞中心點的寬度,由高斯函數(shù)可知只要確定隱節(jié)點的數(shù)據(jù)中心,高斯 函數(shù)的值就可以確定,而隱節(jié)點的數(shù)據(jù)中心確定后 隱節(jié)點的擴(kuò)展常數(shù)就可以根據(jù)

5、公式算出,最后各隱 節(jié)點的數(shù)據(jù)中心和擴(kuò)展常數(shù)確定,輸出權(quán)值就可以 通過訓(xùn)練得到。具體步驟如下: 1)算法初始化:選擇h個不同的初始聚類中心,比如,從樣本輸 入中隨機(jī)選取,或者選擇前h個樣本輸入,但這h個初始數(shù)據(jù)中心必 須取不同值。 2)計算所有樣本輸入與聚類中心的距離,3)對樣本輸入 ,按最小距離原則對其進(jìn)行分類: 即當(dāng) 時, 即 被當(dāng)歸為第i類,即。 4)重新計算各類的新的聚類中心:,5)如果 轉(zhuǎn)到步驟(2),否則聚類結(jié)束,轉(zhuǎn)到步驟(6)。,6)根據(jù)各聚類中心之間的距離確定個隱節(jié)點的擴(kuò) 展常數(shù)。隱節(jié)點的擴(kuò)展常數(shù)取 ,其中 為第 i 個數(shù)據(jù)中心與其他最近的數(shù)據(jù)中心之間 的距離,即 di= ,k

6、稱 重疊系數(shù)。,一旦各隱節(jié)點的數(shù)據(jù)中心和擴(kuò)展常數(shù)確定了,輸出權(quán)值 就可以通過訓(xùn)練得到,最后就可以建立RBF網(wǎng)絡(luò)了,建模: 本文用了兩種建模方法: 1)數(shù)據(jù)中心從樣本輸入中選取(隨機(jī)選取中心) 2)數(shù)據(jù)中心動態(tài)調(diào)節(jié)方法(k均值聚類方法),隨機(jī)選取數(shù)據(jù)中心程序如下:,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),data(1:

7、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),data(2:2:119,7),data(2:2:119,8); yuceyangbenjieguo=data(2:2:119,9); %歸一化處理 x1 =ceshiyangben; guiyihuaceshiyangben,PS = mapminmax(x

8、1);%進(jìn)行行列轉(zhuǎn)換做 x2 =ceshiyangbenjieguo; guiyihuaceshiyangbenjieguo,PS = mapminmax(x2);%進(jìn)行行列轉(zhuǎn)換做 x3 =yuceyangben; guiyihuayuceyangben,PS = mapminmax(x3);%進(jìn)行行列轉(zhuǎn)換做 x4 =yuceyangbenjieguo; guiyihuayuceyangbenjieguo,PS = mapminmax(x4);%進(jìn)行行列轉(zhuǎn)換做 SamNum = 119; % 訓(xùn)練樣本數(shù) TestSamNum = 59; % 測試樣本數(shù) InDim = 8; % 樣本輸入維數(shù)

9、ClusterNum = 10; % 隱節(jié)點數(shù),即聚類樣本數(shù) Overlap = 1.0; % 隱節(jié)點重疊系數(shù) % 根據(jù)目標(biāo)函數(shù)獲得樣本輸入輸出 SamIn = ceshiyangben; SamOut = ceshiyangbenjieguo; TestSamIn = yuceyangben; TestSamOut = yuceyangbenjieguo; Centers = SamIn(:,1:ClusterNum);%所有行的前十個作為聚類中心,% 計算各隱節(jié)點的擴(kuò)展常數(shù)(寬度) AllDistances = dist(Centers,Centers); % 計算隱節(jié)點數(shù)據(jù)中心間的距離(

10、矩陣) Maximum = max(max(AllDistances); % 找出其中最大的一個距離 for i = 1:ClusterNum % 將對角線上的0 替換為較大的值 AllDistances(i,i) = Maximum+1; end Spreads = Overlap*min(AllDistances); % 以隱節(jié)點間的最小距離作為擴(kuò)展常數(shù) % 計算各隱節(jié)點的輸出權(quán)值 Distance = dist(Centers,SamIn); % 計算各樣本輸入離各數(shù)據(jù)中心的距離 SpreadsMat = repmat(Spreads,1,SamNum); HiddenUnitOut =

11、 radbas(Distance./SpreadsMat); % 計算隱節(jié)點輸出陣 HiddenUnitOutEx = HiddenUnitOut ones(SamNum,1); % 考慮偏移 W2Ex = SamOut*pinv(HiddenUnitOutEx); % 求廣義輸出權(quán)值 W2 = W2Ex(:,1:ClusterNum); % 輸出權(quán)值 B2 = W2Ex(:,ClusterNum+1); % 偏移 % 測試 TestDistance = dist(Centers,TestSamIn); TestSpreadsMat = repmat(Spreads,1,TestSamNum)

12、; TestHiddenUnitOut = radbas(TestDistance./TestSpreadsMat); TestNNOut = W2*TestHiddenUnitOut+B2; plot(1:TestSamNum,TestSamOut,r-+,1:TestSamNum,TestNNOut,b-o); title(屬性約簡后的預(yù)測值與實際值模型); xlabel(輸出樣本個數(shù)); ylabel(預(yù)測樣本值與實際樣本值); figure; f=abs(TestSamOut-TestNNOut)./TestSamOut; plot(f); title(屬性約簡后的樣本預(yù)測值的相對誤差

13、百分?jǐn)?shù)); xlabel(輸出樣本個數(shù)); ylabel(預(yù)測樣本的相對誤差); W2 B2 average1=abs(sum(TestNNOut-(sum(TestSamOut)./59)./TestSamOut)./59%平均相對誤差絕對值,約簡處理后建模所得模型圖像,基于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,

14、5),data(1:2:238,6),data(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),data(2:2:119,7),data(2:2:119,8); yuceyangbenjieguo=data(2:2:119,9); %歸一化處理 x1 =ceshiyangben; guiyihuaces

15、hiyangben,PS = mapminmax(x1);%進(jìn)行行列轉(zhuǎn)換做 x2 =ceshiyangbenjieguo; guiyihuaceshiyangbenjieguo,PS = mapminmax(x2);%進(jìn)行行列轉(zhuǎn)換做 x3 =yuceyangben; guiyihuayuceyangben,PS = mapminmax(x3);%進(jìn)行行列轉(zhuǎn)換做 x4 =yuceyangbenjieguo; guiyihuayuceyangbenjieguo,PS = mapminmax(x4);%進(jìn)行行列轉(zhuǎn)換做 SamNum = 119; % 訓(xùn)練樣本數(shù) TestSamNum = 59; %

16、測試樣本數(shù) InDim = 8; % 樣本輸入維數(shù) ClusterNum = 10; % 隱節(jié)點數(shù),即聚類樣本數(shù) Overlap = 1.0; % 隱節(jié)點重疊系數(shù) % 根據(jù)目標(biāo)函數(shù)獲得樣本輸入輸出 SamIn = ceshiyangben; SamOut = ceshiyangbenjieguo; TestSamIn = yuceyangben; TestSamOut = yuceyangbenjieguo; 數(shù)據(jù)中心 Centers,class, obj_fcn,centers0 = hcm(SamIn; SamOut,ClusterNum); Centers=Centers; Number

17、InClusters = zeros(ClusterNum,1); % 各類中的樣本數(shù),初始化為零 IndexInClusters = zeros(ClusterNum,SamNum); % 各類所含樣本的索引號 while 1, NumberInClusters = zeros(ClusterNum,1); % 各類中的樣本數(shù),初始化為零 IndexInClusters = zeros(ClusterNum,SamNum); % 各類所含樣本的索引號,%基于k均值的聚類方法確定% 按最小距離原則對所有樣本進(jìn)行分類 for i = 1:SamNum AllDistance = dist(Cen

18、ters,SamIn(:,i); MinDist,Pos = min(AllDistance); NumberInClusters(Pos) = NumberInClusters(Pos) + 1; IndexInClusters(Pos,NumberInClusters(Pos) = i; end % 保存舊的聚類中心 OldCenters = Centers; for i = 1:ClusterNum Index = IndexInClusters(i,1:NumberInClusters(i); Centers(:,i) = mean(SamIn(:,Index); end % 判斷新舊

19、聚類中心是否一致,是則結(jié)束聚類 EqualNum = sum(sum(Centers=OldCenters); if EqualNum = InDim*ClusterNum, break, end end % 計算各隱節(jié)點的擴(kuò)展常數(shù)(寬度) AllDistances = dist(Centers,Centers); % 計算隱節(jié)點數(shù)據(jù)中心間的距離(矩陣) Maximum = max(max(AllDistances); % 找出其中最大的一個距離 for i = 1:ClusterNum % 將對角線上的0 替換為較大的值 AllDistances(i,i) = Maximum+1; end

20、Spreads = Overlap*min(AllDistances); % 以隱節(jié)點間的最小距離作為擴(kuò)展常數(shù) % 計算各隱節(jié)點的輸出權(quán)值 Distance = dist(Centers,SamIn); % 計算各樣本輸入離各數(shù)據(jù)中心的距離 SpreadsMat = repmat(Spreads,1,SamNum); HiddenUnitOut = radbas(Distance./SpreadsMat); % 計算隱節(jié)點輸出陣 HiddenUnitOutEx = HiddenUnitOut ones(SamNum,1); % 考慮偏移 W2Ex = SamOut*pinv(HiddenUni

21、tOutEx); % 求廣義輸出權(quán)值 W2 = W2Ex(:,1:ClusterNum); % 輸出權(quán)值 B2 = W2Ex(:,ClusterNum+1); % 偏移 % 測試 TestDistance = dist(Centers,TestSamIn); TestSpreadsMat = repmat(Spreads,1,TestSamNum); TestHiddenUnitOut = radbas(TestDistance./TestSpreadsMat); TestNNOut = W2*TestHiddenUnitOut+B2; plot(1:TestSamNum,TestSamOut

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論