導航:首頁 > 網路問題 > 神經網路怎麼進行網路學習過程

神經網路怎麼進行網路學習過程

發布時間:2024-07-12 19:48:47

① MATLAB中BP神經網路的訓練演算法具體是怎麼樣的

BP演算法的基本思想是,學習過程由信號的正向傳播與誤差的反向傳播兩個過程組成。正向傳播時,輸入樣本從輸入層傳入,經各隱層逐層處理後,傳向輸出層。若輸出層的實際輸出與期望的輸出(教師信號)不符,則轉入誤差的反向傳播階段。誤差反傳是將輸出誤差以某種形式通過隱層向輸入層逐層反傳,並將誤差分攤給各層的所有單元,從而獲得各層單元的誤差信號,此誤差信號即作為修正各單元權值的依據。這種信號正向傳播與誤差反向傳播的各層權值調整過程,是周而復始地進行的。權值不斷調整的過程,也就是網路的學習訓練過程。此過程一直進行到網路輸出的誤差減少到可接受的程度,或進行到預先設定的學習次數為止。

1)正向傳播:輸入樣本->輸入層->各隱層(處理)->輸出層
注1:若輸出層實際輸出與期望輸出(教師信號)不符,則轉入2)(誤差反向傳播過程)
2)誤差反向傳播:輸出誤差(某種形式)->隱層(逐層)->輸入層
其主要目的是通過將輸出誤差反傳,將誤差分攤給各層所有單元,從而獲得各層單元的誤差信號,進而修正各單元的權值(其過程,是一個權值調整的過程)。
注2:權值調整的過程,也就是網路的學習訓練過程(學習也就是這么的由來,權值調整)。

具體的公式和推導請參閱相關教材,這里很難表述公式。

② BP神經網路方法

人工神經網路是近幾年來發展起來的新興學科,它是一種大規模並行分布處理的非線性系統,適用解決難以用數學模型描述的系統,逼近任何非線性的特性,具有很強的自適應、自學習、聯想記憶、高度容錯和並行處理能力,使得神經網路理論的應用已經滲透到了各個領域。近年來,人工神經網路在水質分析和評價中的應用越來越廣泛,並取得良好效果。在這些應用中,縱觀應用於模式識別的神經網路,BP網路是最有效、最活躍的方法之一。

BP網路是多層前向網路的權值學習採用誤差逆傳播學習的一種演算法(Error Back Propagation,簡稱BP)。在具體應用該網路時分為網路訓練及網路工作兩個階段。在網路訓練階段,根據給定的訓練模式,按照「模式的順傳播」→「誤差逆傳播」→「記憶訓練」→「學習收斂」4個過程進行網路權值的訓練。在網路的工作階段,根據訓練好的網路權值及給定的輸入向量,按照「模式順傳播」方式求得與輸入向量相對應的輸出向量的解答(閻平凡,2000)。

BP演算法是一種比較成熟的有指導的訓練方法,是一個單向傳播的多層前饋網路。它包含輸入層、隱含層、輸出層,如圖4-4所示。

圖4-4 地下水質量評價的BP神經網路模型

圖4-4給出了4層地下水水質評價的BP神經網路模型。同層節點之間不連接。輸入信號從輸入層節點,依次傳過各隱含層節點,然後傳到輸出層節點,如果在輸出層得不到期望輸出,則轉入反向傳播,將誤差信號沿原來通路返回,通過學習來修改各層神經元的權值,使誤差信號最小。每一層節點的輸出隻影響下一層節點的輸入。每個節點都對應著一個作用函數(f)和閾值(a),BP網路的基本處理單元量為非線性輸入-輸出的關系,輸入層節點閾值為0,且f(x)=x;而隱含層和輸出層的作用函數為非線性的Sigmoid型(它是連續可微的)函數,其表達式為

f(x)=1/(1+e-x) (4-55)

設有L個學習樣本(Xk,Ok)(k=1,2,…,l),其中Xk為輸入,Ok為期望輸出,Xk經網路傳播後得到的實際輸出為Yk,則Yk與要求的期望輸出Ok之間的均方誤差為

區域地下水功能可持續性評價理論與方法研究

式中:M為輸出層單元數;Yk,p為第k樣本對第p特性分量的實際輸出;Ok,p為第k樣本對第p特性分量的期望輸出。

樣本的總誤差為

區域地下水功能可持續性評價理論與方法研究

由梯度下降法修改網路的權值,使得E取得最小值,學習樣本對Wij的修正為

區域地下水功能可持續性評價理論與方法研究

式中:η為學習速率,可取0到1間的數值。

所有學習樣本對權值Wij的修正為

區域地下水功能可持續性評價理論與方法研究

通常為增加學習過程的穩定性,用下式對Wij再進行修正:

區域地下水功能可持續性評價理論與方法研究

式中:β為充量常量;Wij(t)為BP網路第t次迭代循環訓練後的連接權值;Wij(t-1)為BP網路第t-1次迭代循環訓練後的連接權值。

在BP網路學習的過程中,先調整輸出層與隱含層之間的連接權值,然後調整中間隱含層間的連接權值,最後調整隱含層與輸入層之間的連接權值。實現BP網路訓練學習程序流程,如圖4-5所示(倪深海等,2000)。

圖4-5 BP神經網路模型程序框圖

若將水質評價中的評價標准作為樣本輸入,評價級別作為網路輸出,BP網路通過不斷學習,歸納出評價標准與評價級別間復雜的內在對應關系,即可進行水質綜合評價。

BP網路對地下水質量綜合評價,其評價方法不需要過多的數理統計知識,也不需要對水質量監測數據進行復雜的預處理,操作簡便易行,評價結果切合實際。由於人工神經網路方法具有高度民主的非線性函數映射功能,使得地下水水質評價結果較准確(袁曾任,1999)。

BP網路可以任意逼近任何連續函數,但是它主要存在如下缺點:①從數學上看,它可歸結為一非線性的梯度優化問題,因此不可避免地存在局部極小問題;②學習演算法的收斂速度慢,通常需要上千次或更多。

神經網路具有學習、聯想和容錯功能,是地下水水質評價工作方法的改進,如何在現行的神經網路中進一步吸取模糊和灰色理論的某些優點,建立更適合水質評價的神經網路模型,使該模型既具有方法的先進性又具有現實的可行性,將是我們今後研究和探討的問題。

什麼是神經網路

神經網路是機器學習的一個流派。這是現今最火的一個學派。我們在第一講中,已經知道人學習知識是通過神經元的連接,科學家通過模仿人腦機理發明了人工神經元。技術的進一步發展,多層神經元的連接,就形成了神經網路。那麼神經網路是怎麼搭建起來的呢?神經元是構建神經網路的最基本單位, 這張圖就是一個人工神經元的原理圖,非常簡單,一個神經元由一個加法器和一個門限器組成。加法器有一些輸入,代表從其他神經元來的信號,這些信號分別被乘上一個系數後在加法器里相加,如果相加的結果大於某個值,就「激活」這個神經元,接通到下個神經元,否則就不激活。原理就這么簡單,做起來也很簡單。今天所有的神經網路的基本單元都是這個。輸入信號乘上的系數,我們也叫「權重」,就是網路的參數,玩神經網路就是調整權重,讓它做你想讓它做的事。 一個神經元只能識別一個東西,比如,當你訓練給感知器會「認」數字「8」,你給它看任何一個數字,它就會告訴你,這是「8」還不是「8」。為了讓機器識別更多更復雜的圖像,我們就需要用更多的神經元。人的大腦由 1000 億個神經元構成,人腦神經元組成了一個很復雜的三維立體結構。

④ 神經網路的工作原理

「人腦是如何工作的?」
「人類能否製作模擬人腦的人工神經元?」
多少年以來,人們從醫學、生物學、生理學、哲學、信息學、計算機科學、認知學、組織協同學等各個角度企圖認識並解答上述問題。在尋找上述問題答案的研究過程中,逐漸形成了一個新興的多學科交叉技術領域,稱之為「神經網路」。神經網路的研究涉及眾多學科領域,這些領域互相結合、相互滲透並相互推動。不同領域的科學家又從各自學科的興趣與特色出發,提出不同的問題,從不同的角度進行研究。
人工神經網路首先要以一定的學習准則進行學習,然後才能工作。現以人工神經網路對於寫「A」、「B」兩個字母的識別為例進行說明,規定當「A」輸入網路時,應該輸出「1」,而當輸入為「B」時,輸出為「0」。
所以網路學習的准則應該是:如果網路作出錯誤的判決,則通過網路的學習,應使得網路減少下次犯同樣錯誤的可能性。首先,給網路的各連接權值賦予(0,1)區間內的隨機值,將「A」所對應的圖象模式輸入給網路,網路將輸入模式加權求和、與門限比較、再進行非線性運算,得到網路的輸出。在此情況下,網路輸出為「1」和「0」的概率各為50%,也就是說是完全隨機的。這時如果輸出為「1」(結果正確),則使連接權值增大,以便使網路再次遇到「A」模式輸入時,仍然能作出正確的判斷。
普通計算機的功能取決於程序中給出的知識和能力。顯然,對於智能活動要通過總結編製程序將十分困難。
人工神經網路也具有初步的自適應與自組織能力。在學習或訓練過程中改變突觸權重值,以適應周圍環境的要求。同一網路因學習方式及內容不同可具有不同的功能。人工神經網路是一個具有學習能力的系統,可以發展知識,以致超過設計者原有的知識水平。通常,它的學習訓練方式可分為兩種,一種是有監督或稱有導師的學習,這時利用給定的樣本標准進行分類或模仿;另一種是無監督學習或稱無為導師學習,這時,只規定學習方式或某些規則,則具體的學習內容隨系統所處環境 (即輸入信號情況)而異,系統可以自動發現環境特徵和規律性,具有更近似人腦的功能。
神經網路就像是一個愛學習的孩子,您教她的知識她是不會忘記而且會學以致用的。我們把學習集(Learning Set)中的每個輸入加到神經網路中,並告訴神經網路輸出應該是什麼分類。在全部學習集都運行完成之後,神經網路就根據這些例子總結出她自己的想法,到底她是怎麼歸納的就是一個黑盒了。之後我們就可以把測試集(Testing Set)中的測試例子用神經網路來分別作測試,如果測試通過(比如80%或90%的正確率),那麼神經網路就構建成功了。我們之後就可以用這個神經網路來判斷事務的分類了。
神經網路是通過對人腦的基本單元——神經元的建模和聯接,探索模擬人腦神經系統功能的模型,並研製一種具有學習、聯想、記憶和模式識別等智能信息處理功能的人工系統。神經網路的一個重要特性是它能夠從環境中學習,並把學習的結果分布存儲於網路的突觸連接中。神經網路的學習是一個過程,在其所處環境的激勵下,相繼給網路輸入一些樣本模式,並按照一定的規則(學習演算法)調整網路各層的權值矩陣,待網路各層權值都收斂到一定值,學習過程結束。然後我們就可以用生成的神經網路來對真實數據做分類。

⑤ 神經網路:卷積神經網路(CNN)

神經網路 最早是由心理學家和神經學家提出的,旨在尋求開發和測試神經的計算模擬。

粗略地說, 神經網路 是一組連接的 輸入/輸出單元 ,其中每個連接都與一個 權 相關聯。在學習階段,通過調整權值,使得神經網路的預測准確性逐步提高。由於單元之間的連接,神經網路學習又稱 連接者學習。

神經網路是以模擬人腦神經元的數學模型為基礎而建立的,它由一系列神經元組成,單元之間彼此連接。從信息處理角度看,神經元可以看作是一個多輸入單輸出的信息處理單元,根據神經元的特性和功能,可以把神經元抽象成一個簡單的數學模型。

神經網路有三個要素: 拓撲結構、連接方式、學習規則

神經網路的拓撲結構 :神經網路的單元通常按照層次排列,根據網路的層次數,可以將神經網路分為單層神經網路、兩層神經網路、三層神經網路等。結構簡單的神經網路,在學習時收斂的速度快,但准確度低。

神經網路的層數和每層的單元數由問題的復雜程度而定。問題越復雜,神經網路的層數就越多。例如,兩層神經網路常用來解決線性問題,而多層網路就可以解決多元非線性問題

神經網路的連接 :包括層次之間的連接和每一層內部的連接,連接的強度用權來表示。

根據層次之間的連接方式,分為:

1)前饋式網路:連接是單向的,上層單元的輸出是下層單元的輸入,如反向傳播網路,Kohonen網路

2)反饋式網路:除了單項的連接外,還把最後一層單元的輸出作為第一層單元的輸入,如Hopfield網路

根據連接的范圍,分為:

1)全連接神經網路:每個單元和相鄰層上的所有單元相連

2)局部連接網路:每個單元只和相鄰層上的部分單元相連

神經網路的學習

根據學習方法分:

感知器:有監督的學習方法,訓練樣本的類別是已知的,並在學習的過程中指導模型的訓練

認知器:無監督的學習方法,訓練樣本類別未知,各單元通過競爭學習。

根據學習時間分:

離線網路:學習過程和使用過程是獨立的

在線網路:學習過程和使用過程是同時進行的

根據學習規則分:

相關學習網路:根據連接間的激活水平改變權系數

糾錯學習網路:根據輸出單元的外部反饋改變權系數

自組織學習網路:對輸入進行自適應地學習

摘自《數學之美》對人工神經網路的通俗理解:

神經網路種類很多,常用的有如下四種:

1)Hopfield網路,典型的反饋網路,結構單層,有相同的單元組成

2)反向傳播網路,前饋網路,結構多層,採用最小均方差的糾錯學習規則,常用於語言識別和分類等問題

3)Kohonen網路:典型的自組織網路,由輸入層和輸出層構成,全連接

4)ART網路:自組織網路

深度神經網路:

Convolutional Neural Networks(CNN)卷積神經網路

Recurrent neural Network(RNN)循環神經網路

Deep Belief Networks(DBN)深度信念網路

深度學習是指多層神經網路上運用各種機器學習演算法解決圖像,文本等各種問題的演算法集合。深度學習從大類上可以歸入神經網路,不過在具體實現上有許多變化。

深度學習的核心是特徵學習,旨在通過分層網路獲取分層次的特徵信息,從而解決以往需要人工設計特徵的重要難題。

Machine Learning vs. Deep Learning 

神經網路(主要是感知器)經常用於 分類

神經網路的分類知識體現在網路連接上,被隱式地存儲在連接的權值中。

神經網路的學習就是通過迭代演算法,對權值逐步修改的優化過程,學習的目標就是通過改變權值使訓練集的樣本都能被正確分類。

神經網路特別適用於下列情況的分類問題:

1) 數據量比較小,缺少足夠的樣本建立模型

2) 數據的結構難以用傳統的統計方法來描述

3) 分類模型難以表示為傳統的統計模型

缺點:

1) 需要很長的訓練時間,因而對於有足夠長訓練時間的應用更合適。

2) 需要大量的參數,這些通常主要靠經驗確定,如網路拓撲或「結構」。

3)  可解釋性差 。該特點使得神經網路在數據挖掘的初期並不看好。

優點:

1) 分類的准確度高

2)並行分布處理能力強

3)分布存儲及學習能力高

4)對噪音數據有很強的魯棒性和容錯能力

最流行的基於神經網路的分類演算法是80年代提出的 後向傳播演算法 。後向傳播演算法在多路前饋神經網路上學習。 

定義網路拓撲

在開始訓練之前,用戶必須說明輸入層的單元數、隱藏層數(如果多於一層)、每一隱藏層的單元數和輸出層的單元數,以確定網路拓撲。

對訓練樣本中每個屬性的值進行規格化將有助於加快學習過程。通常,對輸入值規格化,使得它們落入0.0和1.0之間。

離散值屬性可以重新編碼,使得每個域值一個輸入單元。例如,如果屬性A的定義域為(a0,a1,a2),則可以分配三個輸入單元表示A。即,我們可以用I0 ,I1 ,I2作為輸入單元。每個單元初始化為0。如果A = a0,則I0置為1;如果A = a1,I1置1;如此下去。

一個輸出單元可以用來表示兩個類(值1代表一個類,而值0代表另一個)。如果多於兩個類,則每個類使用一個輸出單元。

隱藏層單元數設多少個「最好」 ,沒有明確的規則。

網路設計是一個實驗過程,並可能影響准確性。權的初值也可能影響准確性。如果某個經過訓練的網路的准確率太低,則通常需要採用不同的網路拓撲或使用不同的初始權值,重復進行訓練。

後向傳播演算法學習過程:

迭代地處理一組訓練樣本,將每個樣本的網路預測與實際的類標號比較。

每次迭代後,修改權值,使得網路預測和實際類之間的均方差最小。

這種修改「後向」進行。即,由輸出層,經由每個隱藏層,到第一個隱藏層(因此稱作後向傳播)。盡管不能保證,一般地,權將最終收斂,學習過程停止。

演算法終止條件:訓練集中被正確分類的樣本達到一定的比例,或者權系數趨近穩定。

後向傳播演算法分為如下幾步:

1) 初始化權

網路的權通常被初始化為很小的隨機數(例如,范圍從-1.0到1.0,或從-0.5到0.5)。

每個單元都設有一個偏置(bias),偏置也被初始化為小隨機數。

2) 向前傳播輸入

對於每一個樣本X,重復下面兩步:

向前傳播輸入,向後傳播誤差

計算各層每個單元的輸入和輸出。輸入層:輸出=輸入=樣本X的屬性;即,對於單元j,Oj = Ij = Xj。隱藏層和輸出層:輸入=前一層的輸出的線性組合,即,對於單元j, Ij =wij Oi + θj,輸出=

3) 向後傳播誤差

計算各層每個單元的誤差。

輸出層單元j,誤差:

Oj是單元j的實際輸出,而Tj是j的真正輸出。

隱藏層單元j,誤差:

wjk是由j到下一層中單元k的連接的權,Errk是單元k的誤差

更新 權 和 偏差 ,以反映傳播的誤差。

權由下式更新:

 其中,△wij是權wij的改變。l是學習率,通常取0和1之間的值。

 偏置由下式更新:

  其中,△θj是偏置θj的改變。

Example

人類視覺原理:

深度學習的許多研究成果,離不開對大腦認知原理的研究,尤其是視覺原理的研究。1981 年的諾貝爾醫學獎,頒發給了 David Hubel(出生於加拿大的美國神經生物學家) 和Torsten Wiesel,以及Roger Sperry。前兩位的主要貢獻,是「發現了視覺系統的信息處理」, 可視皮層是分級的 。

人類的視覺原理如下:從原始信號攝入開始(瞳孔攝入像素Pixels),接著做初步處理(大腦皮層某些細胞發現邊緣和方向),然後抽象(大腦判定,眼前的物體的形狀,是圓形的),然後進一步抽象(大腦進一步判定該物體是只氣球)。

對於不同的物體,人類視覺也是通過這樣逐層分級,來進行認知的:

在最底層特徵基本上是類似的,就是各種邊緣,越往上,越能提取出此類物體的一些特徵(輪子、眼睛、軀乾等),到最上層,不同的高級特徵最終組合成相應的圖像,從而能夠讓人類准確的區分不同的物體。

可以很自然的想到:可以不可以模仿人類大腦的這個特點,構造多層的神經網路,較低層的識別初級的圖像特徵,若干底層特徵組成更上一層特徵,最終通過多個層級的組合,最終在頂層做出分類呢?答案是肯定的,這也是許多深度學習演算法(包括CNN)的靈感來源。

卷積神經網路是一種多層神經網路,擅長處理圖像特別是大圖像的相關機器學習問題。卷積網路通過一系列方法,成功將數據量龐大的圖像識別問題不斷降維,最終使其能夠被訓練。

CNN最早由Yann LeCun提出並應用在手寫字體識別上。LeCun提出的網路稱為LeNet,其網路結構如下:

這是一個最典型的卷積網路,由 卷積層、池化層、全連接層 組成。其中卷積層與池化層配合,組成多個卷積組,逐層提取特徵,最終通過若干個全連接層完成分類。

CNN通過卷積來模擬特徵區分,並且通過卷積的權值共享及池化,來降低網路參數的數量級,最後通過傳統神經網路完成分類等任務。

降低參數量級:如果使用傳統神經網路方式,對一張圖片進行分類,那麼,把圖片的每個像素都連接到隱藏層節點上,對於一張1000x1000像素的圖片,如果有1M隱藏層單元,一共有10^12個參數,這顯然是不能接受的。

但是在CNN里,可以大大減少參數個數,基於以下兩個假設:

1)最底層特徵都是局部性的,也就是說,用10x10這樣大小的過濾器就能表示邊緣等底層特徵

2)圖像上不同小片段,以及不同圖像上的小片段的特徵是類似的,也就是說,能用同樣的一組分類器來描述各種各樣不同的圖像

基於以上兩個假設,就能把第一層網路結構簡化

用100個10x10的小過濾器,就能夠描述整幅圖片上的底層特徵。

卷積運算的定義如下圖所示:

如上圖所示,一個5x5的圖像,用一個3x3的 卷積核 :

   101

   010

   101

來對圖像進行卷積操作(可以理解為有一個滑動窗口,把卷積核與對應的圖像像素做乘積然後求和),得到了3x3的卷積結果。

這個過程可以理解為使用一個過濾器(卷積核)來過濾圖像的各個小區域,從而得到這些小區域的特徵值。在實際訓練過程中, 卷積核的值是在學習過程中學到的。

在具體應用中,往往有多個卷積核,可以認為, 每個卷積核代表了一種圖像模式 ,如果某個圖像塊與此卷積核卷積出的值大,則認為此圖像塊十分接近於此卷積核。如果設計了6個卷積核,可以理解為這個圖像上有6種底層紋理模式,也就是用6種基礎模式就能描繪出一副圖像。以下就是24種不同的卷積核的示例:

池化 的過程如下圖所示:

可以看到,原始圖片是20x20的,對其進行采樣,采樣窗口為10x10,最終將其采樣成為一個2x2大小的特徵圖。

之所以這么做,是因為即使做完了卷積,圖像仍然很大(因為卷積核比較小),所以為了降低數據維度,就進行采樣。

即使減少了許多數據,特徵的統計屬性仍能夠描述圖像,而且由於降低了數據維度,有效地避免了過擬合。

在實際應用中,分為最大值采樣(Max-Pooling)與平均值采樣(Mean-Pooling)。

LeNet網路結構:

注意,上圖中S2與C3的連接方式並不是全連接,而是部分連接。最後,通過全連接層C5、F6得到10個輸出,對應10個數字的概率。

卷積神經網路的訓練過程與傳統神經網路類似,也是參照了反向傳播演算法

第一階段,向前傳播階段:

a)從樣本集中取一個樣本(X,Yp),將X輸入網路;

b)計算相應的實際輸出Op

第二階段,向後傳播階段

a)計算實際輸出Op與相應的理想輸出Yp的差;

b)按極小化誤差的方法反向傳播調整權矩陣。

⑥ 什麼是神經網路學習呢

神經網路學習由稱為神經元的基本處理單元互連而成的平行工作的復雜網路系統,簡稱神經網路。當已知訓練樣本的數據加到網路輸入端時,網路的學習機制一遍又一遍地調整各神經元的權值,使其輸出端達到預定的目標。這就是訓練(學習、記憶)過程。

⑦ 人工神經網路是怎麼學習的呢

1、神經網路的結構(例如2輸入3隱節點1輸出)建好後,一般就要求神經網路里的權值和閾值。現在一般求解權值和閾值,都是採用梯度下降之類的搜索演算法(梯度下降法、牛頓法、列文伯格-馬跨特法、狗腿法等等)。 2、這些演算法會先初始化一個解,在這個解的基礎上,確定一個搜索方向和一個移動步長(各種法算確定方向和步長的方法不同,也就使各種演算法適用於解決不同的問題),使初始解根據這個方向和步長移動後,能使目標函數的輸出(在神經網路中就是預測誤差)下降。 3、然後將它更新為新的解,再繼續尋找下一步的移動方向的步長,這樣不斷的迭代下去,目標函數(神經網路中的預測誤差)也不斷下降,最終就能找到一個解,使得目標函數(預測誤差)比較小。 4、而在尋解過程中,步長太大,就會搜索得不仔細,可能跨過了優秀的解,而步長太小,又會使尋解過程進行得太慢。因此,步長設置適當非常重要。 5、學習率對原步長(在梯度下降法中就是梯度的長度)作調整,如果學習率lr = 0.1,那麼梯度下降法中每次調整的步長就是0.1*梯度, 6、而在matlab神經網路工具箱里的lr,代表的是初始學習率。因為matlab工具箱為了在尋解不同階段更智能的選擇合適的步長,使用的是可變學習率,它會根據上一次解的調整對目標函數帶來的效果來對學習率作調整,再根據學習率決定步長。

⑧ 神經網路Kohonen模型

一、Kohonen模型概述

1981年芬蘭赫爾辛基大學Kohonen教授提出了一個比較完整的,分類性能較好的自組織特徵影射(Self-Organizing Feature Map)人工神經網路(簡稱SOM網路)方案。這種網路也稱為Kohonen特徵影射網路。

這種網路模擬大腦神經系統自組織特徵影射功能,它是一種競爭式學習網路,在學習中能無監督地進行自組織學習。

二、Hohonen模型原理

1.概述

SOM網路由輸入層和競爭層組成。輸入層神經元數為N,競爭層由M=R×C神經元組成,構成一個二維平面陣列或一個一維陣列(R=1)。輸入層和競爭層之間實現全互連接。

SOM網路的基本思想是網路競爭層各神經元競爭對輸入模式的響應機會,最後僅有一個神經元成為競爭的勝者,並對那些與獲勝神經元有關的各連接權朝著更有利於它競爭的方向調整,這一獲勝神經元就表示對輸入模式的分類。

SOM演算法是一種無教師示教的聚類方法,它能將任意輸入模式在輸出層映射成一維或二維離散圖形,並保持其拓撲結構不變。即在無教師的情況下,通過對輸入模式的自組織學習,在競爭層將分類結果表示出來。此外,網路通過對輸入模式的反復學習,可以使連接權矢量空間分布密度與輸入模式的概率分布趨於一致,即連接權矢量空間分布能反映輸入模式的統計特徵。

2.網路權值初始化

因為網路輸入很可能出現在中間區,因此,如果競爭層的初始權值選擇在輸入空間的中間區,則其學習效果會更加有效。

3.鄰域距離矩陣

SOM網路中的神經元可以按任何方式排列,這種排列可以用表示同一層神經元間的Manhattan距離的鄰域距離矩陣D來描述,而兩神經元的Manhattan距離是指神經元坐標相減後的矢量中,其元素絕對值之和。

4.Kohonen競爭學習規則

設SOM網路的輸入模式為Xp=(

,…,

),p=1,2.…,P。競爭層神經元的輸出值為Yj(j=1,2,…,M),競爭層神經元j與輸入層神經元之間的連接權矢量為

Wj=(wj1,wj2,…,wjN),j=1,2,…,M。

Kohonen網路自組織學習過程包括兩個部分:一是選擇最佳匹配神經元,二是權矢量自適應變化的更新過程。

確定輸入模式Xp與連接權矢量Wj的最佳匹配的評價函數是兩個矢量的歐氏距離最小,即

,j=1,2,…,M,]]

g,確定獲勝神經元g。

dg=mjin(dj),j=1,2,…,M。

求輸入模式Xp在競爭層的獲勝神經元g及其在鄰域距離nd內的神經元的輸出。

中國礦產資源評價新技術與評價新模型

dgm為鄰域距離矩陣D的元素,為競爭層中獲勝神經元g與競爭層中其它神經元的距離。

求輸入模式Xp在競爭層的獲勝神經元g及其在鄰域距離nd內的神經元的權值修正值。

中國礦產資源評價新技術與評價新模型

式中:i=1,2,…,N;

lr為學習速率;

t為學習循環次數。

Δwjt(t+1)的其餘元素賦值為0。

進行連接權的調整

wji(t+1)=wji(t)+Δwji(t+1)。

5.權值學習中學習速率及鄰域距離的更新

(1)SOM網路的學習過程分為兩個階段

第一階段為粗學習與粗調整階段。在這一階段內,連接權矢量朝著輸入模式的方向進行調整,神經元的權值按照期望的方向在適應神經元位置的輸入空間建立次序,大致確定輸入模式在競爭層中所對應的影射位置。一旦各輸入模式在競爭層有了相對的影射位置後,則轉入精學習與細調整階段,即第二階段。在這一階段內,網路學習集中在對較小的范圍內的連接權進行調整,神經元的權值按照期望的方向在輸入空間伸展,直到保留到他們在粗調整階段所建立的拓撲次序。

學習速率應隨著學習的進行不斷減小。

(2)鄰域的作用與更新

在SOM網路中,腦神經細胞接受外界信息的刺激產生興奮與抑制的變化規律是通過鄰域的作用來體現的鄰域規定了與獲勝神經元g連接的權向量Wg進行同樣調整的其他神經元的范圍。在學習的最初階段,鄰域的范圍較大,隨著學習的深入進行,鄰域的范圍逐漸縮小。

(3)學習速率及鄰域距離的更新

在粗調整階段,

學習參數初始化

最大學習循環次數 MAX_STEP1=1000,

粗調整階段學習速率初值 LR1=1.4,

細調整階段學習速率初值 LR2=0.02,

最大鄰域距離 MAX_ND1=Dmax,

Dmax為鄰域距離矩陣D的最大元素值。

粗調階段

學習循環次數step≤MAX_STEP1,

學習速率lr從LR1調整到LR2,

鄰域距離nd 從MAX_ND1調整到1,

求更新系數r,

r=1-step/MAX_STEP1,

鄰域距離nd更新,

nd=1.00001+(MAX_ND1-1)×r。

學習速率lr更新,

lr=LR2+(LR1-LR2)×r。

在細調整階段,

學習參數初始化,

最大學習循環次數 MAX_STEP2=2000,

學習速率初值 LR2=0.02,

最大鄰域距離 MAX_ND2=1。

細調階段

MAX_STEP1<step≤MAX_STEP1+MAX_STEP2,

學習速率lr慢慢從LR2減少,

鄰域距離nd設為1,

鄰域距離nd更新,

nd=MAX_ND2+0.00001。

學習速率lr更新,

lr=LR2×(MAX_STEP1/step)。

6.網路的回想——預測

SOM網路經學習後按照下式進行回想:

中國礦產資源評價新技術與評價新模型

Yj=0,j=1,2,…,M,(j≠g)。

將需要分類的輸入模式提供給網路的輸入層,按照上述方法尋找出競爭層中連接權矢量與輸入模式最接近的神經元,此時神經元有最大的激活值1,而其它神經元被抑制而取0值。這時神經元的狀態即表示對輸入模式的分類。

三、總體演算法

1.SOM權值學習總體演算法

(1)輸入參數X[N][P]。

(2)構造權值矩陣W[M][N]。

1)由X[N][P]求Xmid[N],

2)由Xmid[N]構造權值W[M][N]。

(3)構造競爭層。

1)求競爭層神經元數M,

2)求鄰域距離矩陣D[M][M],

3)求矩陣D[M][M]元素的最大值Dmax。

(4)學習參數初始化。

(5)學習權值W[M][N]。

1)學習參數學習速率lr,鄰域距離nd更新,分兩階段:

(i)粗調階段更新;

(ii)細調階段更新。

2)求輸入模式X[N][p]在競爭層的獲勝神經元win[p]。

(i)求X[N][p]與W[m][N]的歐氏距離dm;

(ii)按距離dm最短,求輸入模式X[N][p]在競爭層的獲勝神經元win[p]。

3)求輸入模式X[N][p]在競爭層的獲勝神經元win[p]及其在鄰域距離nd內的神經元的輸出Y[m][p]。

4)求輸入模式X[N][p]在競爭層的獲勝神經元win[p]及其

在鄰域距離nd內的神經元的權值修正值ΔW[m][N],

從而得到輸入模式X[N][p]產生的權值修正值ΔW[M][N]。

5)權值修正W[M][N]=W[M][N]+ΔW[M][N]。

6)學習結束條件:

(i)學習循環到MAX_STEP次;

(ii)學習速率lr達到用戶指定的LR_MIN;

(iii)學習時間time達到用戶指定的TIME_LIM。

(6)輸出。

1)學習得到的權值矩陣W[M][N];

2)鄰域距離矩陣D[M][M]。

(7)結束。

2.SOM預測總體演算法

(1)輸入需分類數據X[N][P],鄰域距離矩陣D[M][M]。

(2)求輸入模式X[N][p]在競爭層的獲勝神經元win[p]。

1)求X[N][p]與W[m][N]的歐氏距離dm;

2)按距離dm最短,求輸入模式X[N][p]在競爭層的獲勝神經元win[p]。

(3)求獲勝神經元win[p]在競爭層排列的行列位置。

(4)輸出與輸入數據適應的獲勝神經元win[p]在競爭層排列的行列位置,作為分類結果。

(5)結束。

四、總體演算法流程圖

Kohonen總體演算法流程圖見附圖4。

五、數據流圖

Kohonen數據流圖見附圖4。

六、無模式識別總體演算法

假定有N個樣品,每個樣品測量M個變數,則有原始數據矩陣:

X=(xij)N×M,i=1,2,…,N,j=1,2,…,M。

(1)原始數據預處理

X=(xij)N×M處理為Z=(zij)N×M

分3種處理方法:

1)襯度;

2)標准化;

3)歸一化。

程序默認用歸一化處理。

(2)構造Kohonen網

競爭層與輸入層之間的神經元的連接權值構成矩陣WQ×M

WQ×M初始化。

(3)進入Kohonen網學習分類循環,用epoch記錄循環次數,epoch=1。

(4)在每個epoch循環中,對每個樣品n(n=1,2,…,N)進行分類。從1個樣品n=1開始。

(5)首先計算輸入層的樣品n的輸入數據znm(m=1,2,…,M)與競爭層Q個神經元對應權值wqm的距離。

(6)尋找輸入層的樣品n與競爭層Q個神經元的最小距離,距離最小的神經元Win[n]為獲勝神經元,將樣品n歸入獲勝神經元Win[n]所代表的類型中,從而實現對樣品n的分類。

(7)對樣品集中的每一個樣品進行分類:

n=n+1。

(如果n≤N,轉到5。否則,轉到8。)

(8)求分類後各神經元所對應的樣品的變數的重心,用對應的樣品的變數的中位數作為重心,用對應的樣品的變數的重心來更新各神經元的連接權值。

(9)epoch=epoch+1;

一次學習分類循環結束。

(10)如果滿足下列兩個條件之一,分類循環結束,轉到11;

否則,分類循環繼續進行,轉到4。

1)全部樣品都固定在某個神經元上,不再改變了;

2)學習分類循環達到最大迭代次數。

(11)輸出:

1)N個樣品共分成多少類,每類多少樣品,記錄每類的樣品編號;

2)如果某類中樣品個數超過1個,則輸出某類的樣品原始數據的每個變數的均值、最小值、最大值和均方差;

3)如果某類中樣品個數為1個,則輸出某類的樣品原始數據的各變數值;

4)輸出原始數據每個變數(j=1,2,…,M)的均值,最小值,最大值和均方差。

(12)結束。

七、無模式識別總體演算法流程圖

Kohonen無模式總體演算法流程圖見附圖5。

⑨ 深度神經網路是如何訓練的

Coursera的Ng機器學習,UFLDL都看過。沒記錯的話Ng的機器學習里是直接給出公式了,雖然你可能知道如何求解,但是即使不知道完成作業也不是問題,只要照著公式寫就行。反正我當時看的時候心裡並沒能比較清楚的明白。我覺得想了解深度學習UFLDL教程 - Ufldl是不錯的。有習題,做完的話確實會對深度學習有更加深刻的理解,但是總還不是很清晰。後來看了Li FeiFei的Stanford University CS231n: Convolutional Neural Networks for Visual Recognition,我的感覺是對CNN的理解有了很大的提升。沉下心來推推公式,多思考,明白了反向傳播本質上是鏈式法則(雖然之前也知道,但是當時還是理解的迷迷糊糊的)。所有的梯度其實都是對最終的loss進行求導得到的,也就是標量對矩陣or向量的求導。當然同時也學到了許多其他的關於cnn的。並且建議你不僅要完成練習,最好能自己也寫一個cnn,這個過程可能會讓你學習到許多更加細節和可能忽略的東西。這樣的網路可以使用中間層構建出多層的抽象,正如我們在布爾線路中做的那樣。例如,如果我們在進行視覺模式識別,那麼在第一層的神經元可能學會識別邊,在第二層的神經元可以在邊的基礎上學會識別出更加復雜的形狀,例如三角形或者矩形。第三層將能夠識別更加復雜的形狀。依此類推。這些多層的抽象看起來能夠賦予深度網路一種學習解決復雜模式識別問題的能力。然後,正如線路的示例中看到的那樣,存在著理論上的研究結果告訴我們深度網路在本質上比淺層網路更加強大。

閱讀全文

與神經網路怎麼進行網路學習過程相關的資料

熱點內容
手機扣扣顯示網路設置 瀏覽:252
移動網路信號差應該怎麼搞 瀏覽:914
菏澤互聯網網路推廣電話多少 瀏覽:915
網路延遲是負的怎麼辦 瀏覽:484
屏蔽別人網路信號 瀏覽:610
程序員如何連接無線網路 瀏覽:820
有網路電視手機怎麼連不上網 瀏覽:17
電腦網路共享數據被刪了咋辦 瀏覽:252
重慶有無線網路嗎 瀏覽:467
家裡無線網路不好 瀏覽:66
網路營銷與推廣江禮坤 瀏覽:83
感測器網路有哪些用途1000字 瀏覽:16
網路信號差問題 瀏覽:156
四川廣電網路機頂盒出廠設置密碼 瀏覽:589
怎樣設置銀行網路信息 瀏覽:558
劍俠情緣2網路版速9戒指哪裡出 瀏覽:254
換個路由器怎麼網路連不上 瀏覽:103
用流量怎樣連接網路有哪些步驟 瀏覽:860
網路安全面臨的形勢 瀏覽:608
wifi組成網路 瀏覽:867

友情鏈接