Ⅰ 什麼是H-K演算法
.其實HK演算法思想很朴實,就是在最小均方誤差准則下求得權矢量。
他相對於感知器演算法的優點在於,他適用於線性可分和非線性可分得情況,對於線性可分的情況,給出最優權矢量,對於非線性可分得情況,能夠判別出來,以退出迭代過程。
2.在程序編制過程中,我所受的最大困擾是:關於收斂條件的判決。
對於誤差矢量:e=x*w-b
若e>0 則繼續迭代
若e=0 則停止迭代,得到權矢量
若e〈0 則停止迭代,樣本是非線性可分得,
若e有的分量大於0,有的分量小於0 ,則在各分量都變成零,或者停止由負值轉變成正值時,停機。
3.在程序編制中的注意點:
1)關於0的判斷,由於計算機的精度原因,嚴格等於零是很不容易的,而且在很多情況下也沒有必要,則只要在0的一個可以接受的delta域內就可接受為零
2)關於判斷,迭代前後,變數是否發生變化
在判斷時,顯然也不能直接判斷a(i)==a(i+1)
而應該|a(i)-a(i+1)|〈err
4. HK詳細代碼如下:
unction [w,flag]=HK(data)
Iteration=20;
flag=0;
% [n,p]=size(data);
n=size(data,1);
b=ones(n,1)./10;
c=0.6;
xx=inv(data'*data)*data';
w=xx*b;
e=data*w-b;
t=0;
while (1)
temp=min(e);
temp1=max(e);
if temp>-1e-4 && temp<0
temp=0;
end
if temp>1e-3
deltab=e+abs(e);
b=b+c.*deltab;
w=w+c.*xx*deltab;
e=data*w-b;
else
if temp>=0 && temp1<1e-4
break;
else
if temp1<0
flag=1;
break;
else
deltab=e+abs(e);
b=b+c.*deltab;
w=w+c.*xx*deltab;
e=data*w-b;
t=t+1;
if t>=Iteration
break;
end
end
end
end
end
end
參考資料:http://blog.sina.com.cn/s/blog_51eea61601009f5z.html
Ⅱ 如何用BP神經網路實現預測
BP神經網路具有任意復雜的模式分類能力和優良的多維函數映射能力,解決了簡單感知器不能解決的異或(Exclusive OR,XOR)和一些其他問題。從結構上講,BP網路具有輸入層、隱藏層和輸出層;從本質上講,BP演算法就是以網路誤差平方為目標函數、採用梯度下降法來計算目標函數的最小值。
Ⅲ 什麼是BP神經網路
BP演算法的基本思想是:學習過程由信號正向傳播與誤差的反向回傳兩個部分組成;正向傳播時,輸入樣本從輸入層傳入,經各隱層依次逐層處理,傳向輸出層,若輸出層輸出與期望不符,則將誤差作為調整信號逐層反向回傳,對神經元之間的連接權矩陣做出處理,使誤差減小。經反復學習,最終使誤差減小到可接受的范圍。具體步驟如下:
1、從訓練集中取出某一樣本,把信息輸入網路中。
2、通過各節點間的連接情況正向逐層處理後,得到神經網路的實際輸出。
3、計算網路實際輸出與期望輸出的誤差。
4、將誤差逐層反向回傳至之前各層,並按一定原則將誤差信號載入到連接權值上,使整個神經網路的連接權值向誤差減小的方向轉化。
5、対訓練集中每一個輸入—輸出樣本對重復以上步驟,直到整個訓練樣本集的誤差減小到符合要求為止。
Ⅳ 多層感知器訓練樣本過多,預測不準,訓練樣本小則訓練精度好!
文檔介紹:
多層感知器學習演算法研究
中文摘要
多層感知器是一種單向傳播的多層前饋網路模型,由於具有高度的非線性映射能 力,是目前神經網路研究與應用中最基本的網路模型之一,廣泛應用於模式識別、圖 像處理、函數逼近、優化計算、最優預測和自適應控制等領域。而多層感知器採用的 是BP演算法。BP演算法的收斂速度慢是個固有的缺點,因為它是建立在基於只具有局 部搜索能力的梯度法之上的,是只具有局部搜索能力的方法,若用於多個極小點的目 標函數時,是無法避免陷入局部極小和速度慢的缺點的。因此,對BP演算法的研究一 直以來都是非常重要的課題。
畢業設計課題旨在對多層感知器的學習演算法進行研究,並提出一種新的學習算 法。由於BPWE (權值外推BP)演算法和TBP (三項BP)演算法都是基於權值調整的改 進演算法,而考慮將TBP演算法中的均衡因子融入到BPWE演算法中,從而使後者對權值 的調整由原來的兩項增加為三項,從而提出一種新的學習演算法TWEBP演算法。為了 驗證本演算法的優點,採用了三個例子,分別對異或問題、三分類問題和函數逼近問題 進行了實驗,發現其收斂速度和逃離局部極小點的能力都優於傳統演算法。
Ⅳ LMS演算法的簡介
全稱 Least mean square 演算法。中文是最小均方演算法。
感知器和自適應線性元件在歷史上幾乎是同時提出的,並且兩者在對權值的調整的演算法非常相似。它們都是基於糾錯學習規則的學習演算法。感知器演算法存在如下問題:不能推廣到一般的前向網路中;函數不是線性可分時,得不出任何結果。而由美國斯坦福大學的Widrow和Hoff在研究自適應理論時提出的LMS演算法,由於其容易實現而很快得到了廣泛應用,成為自適應濾波的標准演算法。
Ⅵ 誰能教我寫一個MATLAB實現BP神經網路預測股票價格的編碼,我要寫畢業論文,不懂,多謝啊!
網路的訓練過程與使用過程了兩碼事。
比如BP應用在分類,網路的訓練是指的給你一些樣本,同時告訴你這些樣本屬於哪一類,然後代入網路訓練,使得這個網路具備一定的分類能力,訓練完成以後再拿一個未知類別的數據通過網路進行分類。這里的訓練過程就是先偽隨機生成權值,然後把樣本輸入進去算出每一層的輸出,並最終算出來預測輸出(輸出層的輸出),這是正向學習過程;最後通過某種訓練演算法(最基本的是感知器演算法)使得代價(預測輸出與實際輸出的某范數)函數關於權重最小,這個就是反向傳播過程。
您所說的那種不需要預先知道樣本類別的網路屬於無監督類型的網路,比如自組織競爭神經網路。
Ⅶ 在看了案例二中的BP神經網路訓練及預測代碼後,我開始不明白BP神經網路究竟能做什麼了。。。 程序最後得到
網路的訓練過程與使用過程了兩碼事。
比如BP應用在分類,網路的訓練是指的給你一些樣本,同時告訴你這些樣本屬於哪一類,然後代入網路訓練,使得這個網路具備一定的分類能力,訓練完成以後再拿一個未知類別的數據通過網路進行分類。這里的訓練過程就是先偽隨機生成權值,然後把樣本輸入進去算出每一層的輸出,並最終算出來預測輸出(輸出層的輸出),這是正向學習過程;最後通過某種訓練演算法(最基本的是感知器演算法)使得代價(預測輸出與實際輸出的某范數)函數關於權重最小,這個就是反向傳播過程。
您所說的那種不需要預先知道樣本類別的網路屬於無監督類型的網路,比如自組織競爭神經網路。
Ⅷ 利用RBF神經網路做預測
在命令欄敲nntool,按提示操作,將樣本提交進去。
還有比較簡單的是用廣義RBF網路,直接用grnn函數就能實現,基本形式是y=grnn(P,T,spread),你可以用help grnn看具體用法。GRNN的預測精度是不錯的。
廣義RBF網路:從輸入層到隱藏層相當於是把低維空間的數據映射到高維空間,輸入層細胞個數為樣本的維度,所以隱藏層細胞個數一定要比輸入層細胞個數多。從隱藏層到輸出層是對高維空間的數據進行線性分類的過程,可以採用單層感知器常用的那些學習規則,參見神經網路基礎和感知器。
注意廣義RBF網路只要求隱藏層神經元個數大於輸入層神經元個數,並沒有要求等於輸入樣本個數,實際上它比樣本數目要少得多。因為在標准RBF網路中,當樣本數目很大時,就需要很多基函數,權值矩陣就會很大,計算復雜且容易產生病態問題。另外廣RBF網與傳統RBF網相比,還有以下不同:
1.徑向基函數的中心不再限制在輸入數據點上,而由訓練演算法確定。
2.各徑向基函數的擴展常數不再統一,而由訓練演算法確定。
3.輸出函數的線性變換中包含閾值參數,用於補償基函數在樣本集上的平均值與目標值之間的差別。
因此廣義RBF網路的設計包括:
1.結構設計--隱藏層含有幾個節點合適
2.參數設計--各基函數的數據中心及擴展常數、輸出節點的權值。
Ⅸ BP神經網路預測股票
感知器你知道么,如果不知道,建議你買《人工神經網路原理》馬銳著,看完70頁你就會了。里邊也有你這個問題的設計思路。用c語言matlab都能編,如果有問題,請留言,想問下你是什麼專業?