第一篇:神經網絡心得[定稿]
人工神經網絡學習心得
時間如白馬過隙,很快八周的人工神經網絡學習即將結束,仿佛昨天才剛剛開始學習這門課程,在這段時間的學習中,我有起初對神經網絡的不了解到現在的熟悉和掌握,這其中的變化,是我知識提高的過程。我在這個過程中有一些自己的體會和感想。
我是一名學習控制科學和工程的研究生,起初對于神經網絡的認識很膚淺,由于我相應知識的欠缺,想要理解神經網絡的結構會很不容易。在開始的幾節課中,老師給我們講了神經網絡的發展史、結構和原理,當時感覺有壓力、緊張。因為我感覺和生物的神經學差不多,一開始接觸覺得它不是一門智能控制學,而是一門生物學,所以只能慢慢學習和理解,最終完成課程的學習。雖然相比于其他學過的課程,我對這門學科的了解稍微遜色點,但我還不是一個害怕困難的人,越是困難我越是會迎頭前進的,不會倒下,去努力掌握這些知識。
接下來的幾周,是老師的授課過程,說實話老師講的論文我聽的不太懂,講的軟件的應用也是一知半解……有種痛苦的感覺,好像什么也沒學到,問了其他同學,他們也有同樣的感覺,哦,原來都一樣啊,沒事,那就繼續堅持吧……
過了這個彷徨期,該是吶喊的時候了,該寫期末作業了,開始做題的時候還挺緊張,害怕題很難做,找了很多資料,照葫蘆畫瓢,硬著頭皮寫,寫完了之后有一點小小的成就感,我終于給做出來了,可當時我們還是不知道如RBF網絡和BP網絡怎么應用,只是有那么點熟悉,有那么點感覺。最重要的時刻到了,在課堂中老師提的問題,我顯得是那么生疏,滿臉的惆悵,對問題不知所措,迷茫與疲憊纏繞著我的身心。每次上課之前我都要花上一段時間去預習課程內容,但是每次看的都是一臉迷茫,一知半解。老師所說的每一句話,我要想半天才會明白過來。這事我猜知道,基礎是多么的重要,而且我知道學習知識最重要的是要學會應用和實踐。不然就只能只上談兵,但是一到應用我就不知從何下手。因此,我知道我還有很長的路要走。
其中的辛酸與樂趣大概也只有一塊學習的學友們了解。在這近兩個月中我們體會到了堅持的力量。遇到問題,不能退縮,只能前進。堅持就是勝利。問題只有在不斷的思考和學習中才能解決。同時,也能是自己得到提高。
經過幾周的的學習我對神經網絡的理解能力明顯有所提高。在神經網絡中我們可以用跳躍性的思維去思考問題,這鍛煉了我們的跨越式思維,提高了我們的能力,增強了我們的自信心,在人生道路上選擇的關鍵時刻起了很大的作用,讓我們明白了獨立思考,開闊眼界,在科研方面所發揮的重要作用,使我們“學以致用,終生受益。
在此,我們要感謝授課的李曉強老師,謝謝李老師在這近兩個月來對我們的關心。通過這八周的學習,鍛煉了我的能力;增加了對人工神經網絡知識的了解;提高了創新意識和解決問題的能力。
第二篇:神經網絡應用
神經網絡是新技術領域中的一個時尚詞匯。很多人聽過這個詞,但很少人真正明白它是什么。本文的目的是介紹所有關于神經網絡的基本包括它的功能、一般結構、相關術語、類型及其應用。
“神經網絡”這個詞實際是來自于生物學,而我們所指的神經網絡正確的名稱應該是“人工神經網絡(ANNs)”。在本文,我會同時使用這兩個互換的術語。
一個真正的神經網絡是由數個至數十億個被稱為神經元的細胞(組成我們大腦的微小細胞)所組成,它們以不同方式連接而型成網絡。人工神經網絡就是嘗試模擬這種生物學上的體系結構及其操作。在這里有一個難題:我們對生物學上的神經網絡知道的不多!因此,不同類型之間的神經網絡體系結構有很大的不同,我們所知道的只是神經元基本的結構。
The neuron
雖然已經確認在我們的大腦中有大約50至500種不同的神經元,但它們大部份都是基于基本神經元的特別細胞。基本神經元包含有synapses、soma、axon及dendrites。Synapses負責神經元之間的連接,它們不是直接物理上連接的,而是它們之間有一個很小的空隙允許電子訊號從一個神經元跳到另一個神經元。然后這些電子訊號會交給soma處理及以其內部電子訊號將處理結果傳遞給axon。而axon會將這些訊號分發給dendrites。最后,dendrites帶著這些訊號再交給其它的synapses,再繼續下一個循環。
如同生物學上的基本神經元,人工的神經網絡也有基本的神經元。每個神經元有特定數量的輸入,也會為每個神經元設定權重(weight)。權重是對所輸入的資料的重要性的一個指標。然后,神經元會計算出權重合計值(net value),而權重合計值就是將所有輸入乘以它們的權重的合計。每個神經元都有它們各自的臨界值(threshold),而當權重合計值大于臨界值時,神經元會輸出1。相反,則輸出0。最后,輸出會被傳送給與該神經元連接的其它神經元繼續剩余的計算。
Learning
正如上述所寫,問題的核心是權重及臨界值是該如何設定的呢?世界上有很多不同的訓練方式,就如網絡類型一樣多。但有些比較出名的包括back-propagation, delta rule及Kohonen訓練模式。
由于結構體系的不同,訓練的規則也不相同,但大部份的規則可以被分為二大類別它們可以被分為分類式或聯想式。分類式網絡可以接受一組數,然后將其分類。例如ONR程序接受一個數字的影象而輸出這個數字。或者PPDA32程序接受一個坐標而將它分類成A類或B類(類別是由所提供的訓練決定的)。更多實際用途可以看Applications in the Military中的軍事雷達,該雷達可以分別出車輛或樹。
聯想模式接受一組數而輸出另一組。例如HIR程序接受一個?臟?圖像而輸出一個它所學過而最接近的一個圖像。聯想模式更可應用于復雜的應用程序,如簽名、面部、指紋識別等。
The Ups and Downs of Neural Networks
神經網絡在這個領域中有很多優點,使得它越來越流行。它在類型分類/識別方面非常出色。神經網絡可以處理例外及不正常的輸入數據,這對于很多系統都很重要(例如雷達及聲波定位系統)。很多神經網絡都是模仿生物神經網絡的,即是他們仿照大腦的運作方式工作。神經網絡也得助于神經系統科學的發展,使它可以像人類一樣準確地辨別物件而有電腦的速度!前途是光明的,但現在...是的,神經網絡也有些不好的地方。這通常都是因為缺乏足夠強大的硬件。神經網絡的力量源自于以并行方式處理資訊,即是同時處理多項數據。因此,要一個串行的機器模擬并行處理是非常耗時的。
神經網絡的另一個問題是對某一個問題構建網絡所定義的條件不足-有太多因素需要考慮:訓練的算法、體系結構、每層的神經元個數、有多少層、數據的表現等,還有其它更多因素。因此,隨著時間越來越重要,大部份公司不可能負擔重復的開發神經網絡去有效地解決問題。
NN 神經網絡,Neural Network
ANNs 人工神經網絡,Artificial Neural Networks
neurons 神經元
synapses 神經鍵
self-organizing networks 自我調整網絡
networks modelling thermodynamic properties 熱動態性網絡模型
網格算法我沒聽說過
好像只有網格計算這個詞
網格計算是伴隨著互聯網技術而迅速發展起來的,專門針對復雜科學計算的新型計算模式。這種計算模式是利用互聯網把分散在不同地理位置的電腦組織成一個“虛擬的超級計算機”,其中每一臺參與計算的計算機就是一個“節點”,而整個計算是由成千上萬個“節點”組成的“一張網格”,所以這種計算方式叫網格計算。這樣組織起來的“虛擬的超級計算機”有兩個優勢,一個是數據處理能力超強;另一個是能充分利用網上的閑置處理能力。簡單地講,網格是把整個網絡整合成一臺巨大的超級計算機,實現計算資源、存儲資源、數據資源、信息資源、知識資源、專家資源的全面共享。
第三篇:BP神經網絡實驗報告
BP神經網絡實驗報告
一、實驗目的1、熟悉MATLAB中神經網絡工具箱的使用方法;
2、通過在MATLAB下面編程實現BP網絡逼近標準正弦函數,來加深對BP網絡的了解和認識,理解信號的正向傳播和誤差的反向傳遞過程。
二、實驗原理
由于傳統的感知器和線性神經網絡有自身無法克服的缺陷,它們都不能解決線性不可分問題,因此在實際應用過程中受到了限制。而BP網絡卻擁有良好的繁泛化能力、容錯能力以及非線性映射能力。因此成為應用最為廣泛的一種神經網絡。
BP算法的基本思想是把學習過程分為兩個階段:第一階段是信號的正向傳播過程;輸入信息通過輸入層、隱層逐層處理并計算每個單元的實際輸出值;第二階段是誤差的反向傳遞過程;若在輸入層未能得到期望的輸出值,則逐層遞歸的計算實際輸出和期望輸出的差值(即誤差),以便根據此差值調節權值。這種過程不斷迭代,最后使得信號誤差達到允許或規定的范圍之內。
基于BP算法的多層前饋型網絡模型的拓撲結構如上圖所示。
BP算法的數學描述:三層BP前饋網絡的數學模型如上圖所示。三層前饋網中,輸入向量為:;隱層輸入向量為:;輸出層輸出向量為:;期望輸出向量為:。輸入層到隱層之間的權值矩陣用V表示,其中列向量為隱層第j個神經元對應的權向量;隱層到輸出層之間的權值矩陣用W表示,其中列向量為輸出層第k個神經元對應的權向量。
下面分析各層信號之間的數學關系。
對于輸出層,有
對于隱層,有
以上兩式中,轉移函數f(x)均為單極性Sigmoid函數:
f(x)具有連續、可導的特點,且有
以上共同構成了三層前饋網了的數學模型。
當網絡輸出和期望輸出不相等時,存在輸出誤差E如下:
將以上誤差定義式展開至隱層,有
進一步展開至輸入層,有
由上式可以看出,網絡輸入誤差是兩層權值W和V的函數,因此調整權值可以改變誤差E。
顯然,調整權值的原則是使誤差不斷的減小,因此應使權值的調整量與誤差的負梯度成正比,即:
式中負號表示梯度下降,常數表示比例系數,在訓練中反映了學習速率。
容易看出,BP學習算法中,各層權值調整公式形式上都是一樣的,均有3個因素決定,即:學習速率、本層誤差信號和本層輸入信號X/Y。其中輸出層誤差信號同網絡的期望輸出與實際輸出之差有關,直接反映了輸出誤差,而各隱層的誤差信號與前面各層的誤差信號都有關,是從輸出層開始逐層反傳過來的。
三、程序
clc
clear
all
k=1;
n=10;
P=[-1:0.05:1];
T=sin(k*pi*P);
plot(P,T,'-');
title('要逼近的非線性函數');
xlabel('輸入向量');
ylabel('非線性函數目標輸出向量');
net=newff(minmax(P),[n,1],{'tansig','purelin'},'trainlm');
y1=sim(net,P);
net.trainParam.epochs=50;
net.trainParam.goal=0.01;
net=train(net,P,T);
y2=sim(net,P);
figure;
plot(P,T,'-',P,y1,'--',P,y2,'*');
title('訓練前后的網絡仿真結果對比');
xlabel('輸入向量');
ylabel('輸出向量');
legend('目標函數輸出向量','未訓練BP網絡輸出','已訓練BP網絡輸出');
仿真結果如下圖:
由仿真結果圖可以看出,未經訓練的BP網絡輸出與目標函數差距很大,逼近效果不理想,而對BP網絡訓練之后的輸出可以較精確的逼近目標函數,并且BP網絡的訓練迭代次數僅約1.2次,網絡的輸出目標誤差就達到了精度要求,收斂速度很快。函數逼近效果、網絡訓練的收斂速度與原始非線性函數的頻率、BP網絡隱含層單元神經元的數目以及BP網絡訓練函數有關。
四、實驗結論
通過編程實現使用BP網絡對函數進行逼近,對BP網絡的信號和誤差傳遞的原理以及隱層、輸出層權值調整的規則有了充分的理解和認識。
BP網絡是一個強大的工具,它是應用最為廣泛的網絡。用于文字識別、模式分類、文字到聲音的轉換、圖像壓縮、決策支持等。
但是,通過實驗看出,它還是存在一定的不足。由于本實驗中采用的學習率是固定不變的,從而使得在函數逼近的時候在有些地方出現了偏離,如果能自適應的調整學習率,使網絡在學習初期具有較大的學習率,以快速逼近函數,當已經逼近理想輸出時再使用較小的學習率,來更加精準的去逼近函數,這樣會得到更好的逼近效果和更小的錯誤率。
另外,BP網絡還具有收斂速度慢、容易陷入局部極小值的問題。這些問題通過對標準BP算法的改進能得到一定程度的解決。
第四篇:BP神經網絡優缺點
多層前向BP網絡是目前應用最多的一種神經網絡形式, 但它也不是非常完美的, 為了更好的理解應用神經網絡進行問題求解, 這里對它的優缺點展開討論: 多層前向BP網絡的優點:
①網絡實質上實現了一個從輸入到輸出的映射功能,而數學理論已證明它具有實現任何復雜非線性映射的功能。這使得它特別適合于求解內部機制復雜的問題;
②網絡能通過學習帶正確答案的實例集自動提取“合理的”求解規則,即具有自學習能力; ③網絡具有一定的推廣、概括能力。多層前向BP網絡的問題:
①BP算法的學習速度很慢,其原因主要有:
a 由于BP算法本質上為梯度下降法,而它所要優化的目標函數又非常復雜,因此,必然會出現“鋸齒形現象”,這使得BP算法低效;
b 存在麻痹現象,由于優化的目標函數很復雜,它必然會在神經元輸出接近0或1的情況下,出現一些平坦區,在這些區域內,權值誤差改變很小,使訓練過程幾乎停頓;
c 為了使網絡執行BP算法,不能用傳統的一維搜索法求每次迭代的步長,而必須把步長的更新規則預先賦予網絡,這種方法將引起算法低效。
②網絡訓練失敗的可能性較大,其原因有:
a 從數學角度看,BP算法為一種局部搜索的優化方法,但它要解決的問題為求解復雜非線性函數的全局極值,因此,算法很有可能陷入局部極值,使訓練失敗;
b 網絡的逼近、推廣能力同學習樣本的典型性密切相關,而從問題中選取典型樣本實例組成訓練集是一個很困難的問題。
③難以解決應用問題的實例規模和網絡規模間的矛盾。這涉及到網絡容量的可能性與可行性的關系問題,即學習復雜性問題;
④網絡結構的選擇尚無一種統一而完整的理論指導,一般只能由經驗選定。為此,有人稱神經網絡的結構選擇為一種藝術。而網絡的結構直接影響網絡的逼近能力及推廣性質。因此,應用中如何選擇合適的網絡結構是一個重要的問題;
⑤新加入的樣本要影響已學習成功的網絡,而且刻畫每個輸入樣本的特征的數目也必須相同; ⑥網絡的預測能力(也稱泛化能力、推廣能力)與訓練能力(也稱逼近能力、學習能力)的矛盾。一般情況下,訓練能力差時,預測能力也差,并且一定程度上,隨訓練能力地提高,預測能力也提高。但這種趨勢有一個極限,當達到此極限時,隨訓練能力的提高,預測能力反而下降,即出現所謂“過擬合”現象。此時,網絡學習了過多的樣本細節,而不能反映樣本內含的規律。優點——
神經網絡有很強的非線性擬合能力,可映射任意復雜的非線性關系,而且學習規則簡單,便于計算機實現。具有很強的魯棒性、記憶能力、非線性映射能力以及強大的自學習能力,因此有很大的應用市場。
缺點——
(1)最嚴重的問題是沒能力來解釋自己的推理過程和推理依據。
(2)不能向用戶提出必要的詢問,而且當數據不充分的時候,神經網絡就無法進行工作。
(3)把一切問題的特征都變為數字,把一切推理都變為數值計算,其結果勢必是丟失信息。
(4)理論和學習算法還有待于進一步完善和提高。
第五篇:自組織競爭神經網絡
自組織神經網絡簡介
神經網絡 2010-01-25 20:09:15 閱讀84 評論0 字號:大中小
自組織神經網絡SOM(self-organization mapping net)是基于無監督學習方法的神經網絡的一種重要類型。自組織映射網絡理論最早是由芬蘭赫爾辛基理工大學Kohen于1981年提出的。此后,伴隨著神經網絡在20世紀80年代中
后期的迅速發展,自組織映射理論及其應用也有了長足的進步。
自組織神經網絡是神經網絡最富有魅力的研究領域之一,它能夠通過其輸入樣本學會檢測其規律性和輸入樣本相互之間的關系,并且根據這些輸入樣本的信息自適應調整網絡,使網絡以后的響應與輸入樣本相適應。競爭型神經網絡的神經元通過輸入信息能夠識別成組的相似輸入向量;自組織映射神經網絡通過學習同樣能夠識別成組的相似輸入向量,使那些網絡層中彼此靠得很近的神經元對相似的輸入向量產生響應。與競爭型神經網絡不同的是,自組織映射神經網絡不但能學習輸入向量的分布情況,還可以學習輸入向量的拓撲結構,其單個神經元對模式分類不起決定性作用,而要靠多個神經元的協同作用才能完成模式分類。學習向量量化LVQ(learning vector quantization)是一種用于訓練競爭層的有監督學習(supervised learning)方法。競爭層神經網絡可以自動學習對輸入向量模式的分類,但是競爭層進行的分類只取決于輸入向量之間的距離,當兩個輸入向量非常接近時,競爭層就可能把它們歸為一類。在競爭層的設計中沒有這樣的機制,即嚴格按地區判斷任意兩個輸入向量是屬于同一類還是屬于不同類。而對于LVQ網絡用戶指定目標分類結果,網絡可以通過監督學習,完成對
輸入向量模式的準確分類。
MATLAB的神經網絡工具箱實現競爭型神經網絡
神經網絡 2010-01-25 12:22:49 閱讀32 評論0 字號:大中小
%競爭型神經網絡具有明顯分類特征的模式分類。其MATLAB仿真程序設計主
要包括:
%(1)創建競爭型神經網絡。首先根據給定的問題確定訓練樣本的輸入向量,當不足以區分各類模式時,應想辦法增加特征值;其次根據模式分類數確定神經
元的數目。
%(2)訓練網絡。訓練最大次數的默認值為100,當訓練結果不能滿足分類的要求時,可嘗試增加訓練的最大次數。
%(3)以測試樣本進行仿真。
%兩類模式分類的matlab程序設計
%Example71Tr
clear all
%定義輸入向量
p=[0 0 0 1 1 1-1-1-1;0 1-1 0 1-1 0 1-1;1 1 10 10 1 1 1 10 1];
%創建競爭型神經網絡
net=newc([-1 1;-1 1;1 10], 2);
%訓練神經網絡
net=train(net,p);
%存儲訓練好的神經網絡
save net71 net
%Example71Sim
clear all
%定義待測試的樣本輸入向量
p=[0 0 0 1 1 1-1-1-1;0 1-1 0 1-1 0 1-1;1 1 10 10 1 1 1 10 1];
%加載訓練好的神經網絡
load net71 net;
%網絡仿真
y=sim(net,p)
yc=vec2ind(y)%輸出仿真結果
MATLAB的神經網絡工具箱實現競爭型神經網絡
(一)神經網絡 2010-01-25 12:24:21 閱讀22 評論0 字號:大中小
%%以競爭型神經網絡完成三類模式的分類。
%Example72Tr
clear all;
%定義輸入向量
p=[-0.1961 0.1961 0.9806 0.9806-0.5812-0.8137;0.9806 0.9806 0.1961
-0.1961-0.8137-0.5812];
%創建競爭型神經網絡
net=newc([-1 1;-1 1],3);
%訓練神經網絡
net=train(net,p);
%存儲訓練后的神經網絡
save net72 net;
%Example72Sim
clear all;
%定義待測試的樣本輸入向量
p=[-0.1961 0.1961 0.9806 0.9806-0.5812-0.8137;0.9806 0.9806 0.1961
-0.1961-0.8137-0.5812];
%加載訓練好的神經網絡
load net72 net;
%網絡仿真
y=sim(net,p);
yc=vec2ind(y)%輸出仿真結果
MATLAB的神經網絡工具箱實現競爭型神經網絡
(二)神經網絡 2010-01-25 12:25:57 閱讀20 評論0 字號:大中小
%%以競爭型神經網絡完成四類模式的分類。
%Example73Tr
clear all;
%定義輸入向量
%p=[5.2 8 8.2 5.8;7.3 8 5.8 9.7];
p=[1 8 1 1;1 8 15 21];
%創建競爭型神經網絡
net=newc([0 10;0 25],4);
%訓練神經網絡
net=train(net,p);
%存儲訓練后的神經網絡
save net72 net;
%Example72Sim
clear all;
%定義待測試的樣本輸入向量
%p=[5.2 8 8.2 5.8;7.3 8 5.8 9.7];
p=[1 8 1 1;1 8 15 21];
%加載訓練好的神經網絡
load net72 net;
%網絡仿真
y=sim(net,p);
yc=vec2ind(y)%輸出仿真結果