神經網路演算法入門
① 神經網路入門書籍推薦
《神經網路新手入門必備數學基礎》呈現神經網路任務、模型和計算的相對簡單的例子的有偏見的選擇
② 演算法入門
ROC曲線(受試者工作特徵曲線)的橫坐標為假陽性率(分錯的負樣本占所有負樣本比率),縱坐標為真陽性率(分對的正樣本占所有正樣本比率)。通過動態地調整分類模型的分類閾值,可以在ROC圖上繪制出每一個分類閾值對應的兩個坐標值,再連接所有點繪制出模型的ROC曲線。AUC指ROC曲線下面積的大小,該指標能夠量化地反映基於ROC曲線的模型性能,AUC的取值一般都在0.5~1之間,值越大,說明分類器越可能把真正的正樣本排在前面,分類性能越好。相比較P-R曲線,ROC曲線在正負樣本的分布發生變化時,形狀能夠基本保持不變,而P-R曲線一般會發生較劇烈的變化,這個特點可以使得ROC曲線能夠盡量降低不同測試集帶來的干擾,更加客觀地衡量模型本身的性能。在實際中,正負樣本數量往往不均衡,因此ROC曲線的適用場景更廣泛。
對於任意線性可分的兩組點,它們在SVM分類的超平面上的投影都是線性不可分的。由於SVM的分類超平面僅由支持向量決定,可以考慮只含有支持向量的場景:假設存在一個SVM超平面滿足投影線性可分,則樣本中分屬兩類的支持向量之間的中垂線所組成的超平面是相較於SVM超平面更優的解,這與SVM超平面為最優分類超平面的假設相違背。
SVM的KKT條件:
結合(3)和(4),當 時,必有 ,將這一結果與拉格朗日對偶優化問題的公式相比較: ,其中 。除了支持向量之外,其他系數均為0,因此SVM的分類結果僅依賴於支持向量,SVM的分類結果與僅使用支持向量的分類結果一致。
該問題也可以通過凸優化理論中的超平面分離定理解決。
高斯核SVM的預測公式為: ,固定 ,則有 。由於不存在兩個點在同一位置,則對於任意點 ,有 .
對於任意 ,取 ,有
所以,對於任意 ,預測結果 與真實標簽的距離小於1,所有樣本的類別都被正確預測,訓練誤差為0.
本題等價於找到使訓練誤差為0的參數,且是SVM模型的一個解。上述所找到的參數可以滿足 ,若想成為SVM的解,還需要滿足 。
仍然固定 ,則有 . 此時可以把每個 都選擇一個很大的值,同時取一個非常小的 ,使得核映射項 非常小,就可以滿足題意。
不一定能得到訓練誤差為0的模型,因為此時優化的目標改變了,當鬆弛變數模型目標函數參數C選取較小的值時,正則項將占據優化的較大比重,此時一個帶有訓練誤差但是參數較小的點將成為更優的結果。
如果把一個事件的幾率定義為該事件發生與該事件不發生的概率比值,根據邏輯回歸的公式 ,邏輯回歸可以看作是對於事件"y=1|x"的對數幾率的線性回歸,所以有回歸的名稱。但是邏輯回歸的因變數是離散的,處理的是分類問題;線性回歸中的因變數是連續的,處理的是回歸問題。邏輯回歸與線性回歸的相似處是:都使用了極大似然估計,線性回歸的最小二乘實際上是自變數和超參數確定、因變數服從正態分布的假設下使用極大似然估計的一個化簡,邏輯回歸中通過對似然函數的學習來得到最佳超參數;二者在求解超參數的過程中,都可以使用梯度下降法。
如果一個樣本只對應於一個標簽,可以假設每個樣本屬於不同標簽的概率服從於幾何分布,使用多項邏輯回歸(Softmax Regression)來進行分類:
當存在樣本可能屬於多個標簽的情況時,可以訓練k個二分類的邏輯回歸分類器,第i個分類器用於區分每個樣本是否可以歸為第i類。
ID3會傾向於選取取值較多的特徵,因為信息增益反應的是給定條件以後不確定性減少的程度,特徵取值越多就意味著確定性更高,也就是條件熵越小,信息增益越大,C4.5通過引入信息增益比,一定程度對取值比較多的特徵進行懲罰,避免ID3出現過擬合的特性,提升模型的泛化能力;ID3隻能處理離散變數,而C4.5和CART都可以處理連續變數;ID3和C4.5隻能用於分類任務,CART不僅可以分類也可以用於回歸;ID3和C4.5可以在每個結點上產生出多叉分支,且每個特徵在層級之間不會復用,而CART每個結點只會產生兩個分支,且每個特徵可以被重復使用;ID3和C4.5通過剪枝來權衡樹的准確性與泛化能力,而CART直接利用全部數據發現所有可能的樹結構進行對比。
對於給定的一組數據點 ,中心化後表示為 ,其中 ,目標是找到一個投影方向 (單位方向向量)使數據點在其上的投影方差盡可能大。投影之後的均值: 投影之後的方差(均值為0,直接平方): 其中, 是樣本的協方差矩陣,將其寫作 ,則有求解最大化問題: 引入拉格朗日乘子,並對 求導令其等於0,可以推出 ,此時 該值為協方差矩陣的最大特徵值
LDA的最大化目標: 其中 分別表示兩類投影後的方差: 則目標函數可以寫成: 定義類間散度矩陣 ,類內散度矩陣 ,最大化 即是對 求偏導且令其等於零: 可以得出 在簡化的二分類問題中,可以令 ,則有 這里LDA最大化的目標對應了矩陣 的特徵值,而投影方向就是這個特徵值對應的特徵向量。
PCA為無監督降維演算法,LDA為有監督降維演算法,兩種降維演算法的求解過程有很大的相似性,但是對應的原理卻有所區別:PCA選擇投影後數據方差最大的方向,由於演算法無監督,PCA假設方差越大信息量越多,用主成分來表示原始數據可以去除冗餘的維度,達到降維;LDA用到了類別標簽的信息,選擇投影後類內方差小、類間方差大的方向,使得原始數據在這些方向上投影後不同類別盡可能區分開。應用的原則是無監督任務使用PCA,有監督任務使用LDA。
優點:對於大數據集,K均值聚類演算法相對是可伸縮和高效的,它的計算復雜度是 接近於線性,其中 是數據對象的數目, 是聚類的簇數, 是迭代的輪數;盡管演算法經常以局部最優結束,但一般情況下達到局部最優已經可以滿足聚類的需求
缺點:需要人工預先確定初始K值,且該值和真實的數據分布未必吻合;受初值和離群點的影響,每次的結果不穩定;結果通常不是全局最優而是局部最優解,效果受到初始值影響;無法良好地解決數據簇分布差別比較大的情況(比如一類是另一類樣本數量的100倍);不太適用於離散分類;樣本點只能被劃分到單一的類中
SOM本質上是一個兩層的神經網路,包含模擬感知的輸入層和模擬大腦皮層的輸出層,輸出層中神經元的個數通常是聚類的個數。具有保序映射的特點,可以將任意維輸入模式在輸出層映射為一維或者二維圖形,並保持拓撲結構不變,使得輸出層神經元的空間位置對應於輸入空間的特定域或特徵。在SOM中,以獲勝神經元為中心,近鄰者相互激勵,遠鄰者相互抑制,這種交互作用的方式以曲線可視化則類似於「墨西哥帽」。
輸出層神經元數量:和樣本的類別數相關。若不清楚樣本的類別,則盡可能地設定較多的節點數,以便更好地映射樣本的拓撲結構,如果分類過細再酌情減少輸出節點。這樣可能會帶來少量從未更新過權重的「死節點」,但一般可通過重新初始化權重來解決
輸出層節點排列:排列形式應盡量直觀地反映出實際問題的物理意義。例如,對於一般的分類問題,一個輸出節點能代表一個模式類,使用一維線陣;對於顏色空間或者旅行路徑問題,二維平面則比較直觀
初始化權重:可以隨機初始化,但盡量使權值的初始位置與輸入樣本的大概分布區域充分重合,避免出現大量初始"死節點"。可以從訓練集中隨機抽取m個輸入樣本作為初始權重
拓撲領域:設計原則是使領域不斷縮小,這樣輸出平面上相鄰神經元對應的權向量之間既有區別又有相當的相似性,從而保證當獲勝節點對某一類模式產生最大響應時,其領域節點也能產生較大響應。領域的形狀可以是正方形、六邊形或者菱形。優勢領域的大小用領域的半徑表示,通常憑借經驗來選擇
學習率:學習率為遞減函數,訓練開始時,學習率可以選取較大的值,之後以較快的速度下降,有利於很快地捕捉到輸入向量的大致結構,然後學習率在較小的值上緩降為0,這樣可以精細地調整權值使之符合輸入空間的樣本分布結構。
如果數據基本隨機,那麼聚類的結果毫無意義。可以用霍普金斯統計量來判斷數據在空間上的隨機性:從樣本中隨機找 個點 ,對每一個 ,都在樣本空間中找到一個離它最近的點並計算它們之間的距離 ,從而得到距離向量 ;從樣本可能取值范圍內隨機生成 個點 ,使用同樣的原則得到距離向量 ,則霍普金斯統計量 可表示為: 。如果樣本接近隨機分布,則 的值接近於0.5,如果聚類趨勢明顯,隨機生成的樣本點距離應該遠大於實際樣本點距離,則 的值接近於1。
③ 求人工神經網路的具體演算法,數學模型,比如求一個函數最優值之類的,不要各種亂七八糟的介紹,謝謝
神經網路就像多項式或者線性模型一樣,是個看不見表達式的模型,它的表達式就是網路,它比一般模型具有更高的自由度和彈性;同時它是一個典型的黑箱模型方法;比多項式等模型還黑。優化演算法,就是尋優的演算法,所謂尋優過程,就是尋找使目標函數最小時(都是統一表示成尋找使函數具有最小值)的自變數的值。回歸或者擬合一個模型,例如用一個多項式模型去擬合一組數據,其本質就是尋找使殘差平方和最小的參數值,這就是一個尋優的過程,其實就是尋找使函數F(x)值最小時的x的值;對於這個具體的尋找過程就涉及到演算法問題,就是如何計算。所謂演算法,是數值分析的一個范疇,就是解這問題的方法;例如一個一元二次方程 x^2-3x+1=0的解法,因為簡單可以直接求解,也可以用牛頓逐個靠近的方法求解,也即是迭代,慢慢接近真實解,如此下去不斷接近真值,要注意迭代演算法是涉及演算法精度的,這些迭代演算法是基於計算機的,演算法的初衷也是用近似的演算法用一定的精度來接近真實值。 比如上面的方程也可以用遺傳演算法來解,可以從一些初始值最終迭代到最佳解。神經網路在尋找網路的參數即權值的時候,也有尋找使訓練效果最好的過程,這也是尋優的過程,這里涉及到了演算法就是所謂的神經網路演算法,這和最小二乘演算法是一樣的道理;例如做響應面的時候,其實就是二次回歸,用最小二乘得到二次模型的參數,得到一個函數,求最大產物量就是求函數模型的最大值,怎麼算呢?頂點處如果導數為0,這個地方對應的x值就是最優的,二次模型簡單可以用偏導數=0來直接解決,這過程也可以遺傳演算法等來解決。說到底所謂尋優的本質就是,尋找函數極值處對應的自變數的值。
④ 想要學習人工神經網路,需要什麼樣的基礎知識
最基礎的部分的話需要:線性代數,機器學習,微積分,優化等等。
幾乎所有操作都有矩陣運算,所以至少最基礎的線性代數需要掌握
建議從單一的感知機Perceptron出發,繼而認識到DecisionBoundary(判別邊界),以及最簡單的一些「監督訓練」的概念等,有機器學習的基礎最好。就結果而言,諸如「過擬合」之類的概念,以及對應的解決方法比如L1L2歸一,學習率等也都可以從單個感知機的概念開始入門。
從單層感知器推廣到普通的多層感知器MLP。然後推廣到簡單的神經網路(激活函數從階躍「軟化」為諸如tanh等類型的函數),然後引入特定類型的網路結構,比如最基本的全連接、前向傳播等等概念。進而學習訓練演算法,比如反向傳播,這需要微積分的知識(Chainrule),以及非線性優化的最基礎部分,比如梯度下降法。
其次至少需要具備一些適用於研究的編程語言的技能,例如python,matlab,(C++也可行)等,哪怕不自己實現最簡單的神經網路而是用API,也是需要一定計算機能力才能應用之。
超過網路工程師的決心,不要弄出個網路知道答案審批這么搓的東西。
⑤ 神經網路演算法是什麼
Introction
--------------------------------------------------------------------------------
神經網路是新技術領域中的一個時尚詞彙。很多人聽過這個詞,但很少人真正明白它是什麼。本文的目的是介紹所有關於神經網路的基本包括它的功能、一般結構、相關術語、類型及其應用。
「神經網路」這個詞實際是來自於生物學,而我們所指的神經網路正確的名稱應該是「人工神經網路(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訓練模式。
由於結構體系的不同,訓練的規則也不相同,但大部份的規則可以被分為二大類別 - 監管的及非監管的。監管方式的訓練規則需要「教師」告訴他們特定的輸入應該作出怎樣的輸出。然後訓練規則會調整所有需要的權重值(這是網路中是非常復雜的),而整個過程會重頭開始直至數據可以被網路正確的分析出來。監管方式的訓練模式包括有back-propagation及delta rule。非監管方式的規則無需教師,因為他們所產生的輸出會被進一步評估。
Architecture
--------------------------------------------------------------------------------
在神經網路中,遵守明確的規則一詞是最「模糊不清」的。因為有太多不同種類的網路,由簡單的布爾網路(Perceptrons),至復雜的自我調整網路(Kohonen),至熱動態性網路模型(Boltzmann machines)!而這些,都遵守一個網路體系結構的標准。
一個網路包括有多個神經元「層」,輸入層、隱蔽層及輸出層。輸入層負責接收輸入及分發到隱蔽層(因為用戶看不見這些層,所以見做隱蔽層)。這些隱蔽層負責所需的計算及輸出結果給輸出層,而用戶則可以看到最終結果。現在,為免混淆,不會在這里更深入的探討體系結構這一話題。對於不同神經網路的更多詳細資料可以看Generation5 essays
盡管我們討論過神經元、訓練及體系結構,但我們還不清楚神經網路實際做些什麼。
The Function of ANNs
--------------------------------------------------------------------------------
神經網路被設計為與圖案一起工作 - 它們可以被分為分類式或聯想式。分類式網路可以接受一組數,然後將其分類。例如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神經網路演算法的原理
相信每位剛接觸神經網路的時候都會先碰到BP演算法的問題,如何形象快速地理解BP神經網路就是我們學習的高級樂趣了(畫外音:樂趣?你在跟我談樂趣?)
本篇博文就是要簡單粗暴地幫助各位童鞋快速入門採取BP演算法的神經網路。
BP神經網路是怎樣的一種定義?看這句話:一種按「誤差逆傳播演算法訓練」的多層前饋網路。
BP的思想就是:利用輸出後的誤差來估計輸出層前一層的誤差,再用這層誤差來估計更前一層誤差,如此獲取所有各層誤差估計。這里的誤差估計可以理解為某種偏導數,我們就是根據這種偏導數來調整各層的連接權值,再用調整後的連接權值重新計算輸出誤差。直到輸出的誤差達到符合的要求或者迭代次數溢出設定值。
說來說去,「誤差」這個詞說的很多嘛,說明這個演算法是不是跟誤差有很大的關系?
沒錯,BP的傳播對象就是「誤差」,傳播目的就是得到所有層的估計誤差。
它的學習規則是:使用最速下降法,通過反向傳播(就是一層一層往前傳)不斷調整網路的權值和閾值,最後使全局誤差系數最小。
它的學習本質就是:對各連接權值的動態調整。
拓撲結構如上圖:輸入層(input),隱藏層(hide layer),輸出層(output)
BP網路的優勢就是能學習和儲存大量的輸入輸出的關系,而不用事先指出這種數學關系。那麼它是如何學習的?
BP利用處處可導的激活函數來描述該層輸入與該層輸出的關系,常用S型函數δ來當作激活函數。
我們現在開始有監督的BP神經網路學習演算法:
1、正向傳播得到輸出層誤差e
=>輸入層輸入樣本=>各隱藏層=>輸出層
2、判斷是否反向傳播
=>若輸出層誤差與期望不符=>反向傳播
3、誤差反向傳播
=>誤差在各層顯示=>修正各層單元的權值,直到誤差減少到可接受程度。
演算法闡述起來比較簡單,接下來通過數學公式來認識BP的真實面目。
假設我們的網路結構是一個含有N個神經元的輸入層,含有P個神經元的隱層,含有Q個神經元的輸出層。
這些變數分別如下:
認識好以上變數後,開始計算:
一、用(-1,1)內的隨機數初始化誤差函數,並設定精度ε,最多迭代次數M
二、隨機選取第k個輸入樣本及對應的期望輸出
重復以下步驟至誤差達到要求:
三、計算隱含層各神經元的輸入和輸出
四、計算誤差函數e對輸出層各神經元的偏導數,根據輸出層期望輸出和實際輸出以及輸出層輸入等參數計算。
五、計算誤差函數對隱藏層各神經元的偏導數,根據後一層(這里即輸出層)的靈敏度(稍後介紹靈敏度)δo(k),後一層連接權值w,以及該層的輸入值等參數計算
六、利用第四步中的偏導數來修正輸出層連接權值
七、利用第五步中的偏導數來修正隱藏層連接權值
八、計算全局誤差(m個樣本,q個類別)
比較具體的計算方法介紹好了,接下來用比較簡潔的數學公式來大致地概括這個過程,相信看完上述的詳細步驟都會有些了解和領悟。
假設我們的神經網路是這樣的,此時有兩個隱藏層。
我們先來理解靈敏度是什麼?
看下面一個公式:
這個公式是誤差對b的一個偏導數,這個b是怎麼?它是一個基,靈敏度δ就是誤差對基的變化率,也就是導數。
因為?u/?b=1,所以?E/?b=?E/?u=δ,也就是說bias基的靈敏度?E/?b=δ等於誤差E對一個節點全部輸入u的導數?E/?u。
也可以認為這里的靈敏度等於誤差E對該層輸入的導數,注意了,這里的輸入是上圖U級別的輸入,即已經完成層與層權值計算後的輸入。
每一個隱藏層第l層的靈敏度為:
這里的「?」表示每個元素相乘,不懂的可與上面詳細公式對比理解
而輸出層的靈敏度計算方法不同,為:
而最後的修正權值為靈敏度乘以該層的輸入值,注意了,這里的輸入可是未曾乘以權值的輸入,即上圖的Xi級別。
對於每一個權值(W)ij都有一個特定的學習率ηIj,由演算法學習完成。
⑦ 本人畢設題目是關於神經網路用於圖像識別方面的,但是很沒有頭續~我很不理解神經網路作用的這一機理
我簡單說一下,舉個例子,比如說我們現在搭建一個識別蘋果和橘子的網路模型:
我們現在得需要兩組數據,一組表示特徵值,就是網路的輸入(p),另一組是導師信號,告訴網路是橘子還是蘋果(網路輸出t):
我們的樣本這樣子假設(就是Sampledata1.txt):
p t
1 0 3 1
2 1 4 2
這兩組數據是這樣子解釋的:
我們假設通過3個特徵來識別一個水果是橘子還是蘋果:形狀,顏色,味道,第一組形狀、顏色、味道分別為:1 0 3(當然這些數都是我隨便亂編的,這個可以根據實際情況自己定義),有如上特徵的水果就是蘋果(t為1),而形狀、顏色、味道為:2 1 4的表示這是一個橘子(t為2)。
好了,我們的網路模型差不多出來了,輸入層節點數為3個(形狀、顏色,味道),輸出層節點為一個(1為蘋果2為橘子),隱藏層我們設為一層,節點數先不管,因為這是一個經驗值,還有另外的一些參數值可以在matlab里設定,比如訓練函數,訓練次數之類,我們現在開始訓練網路了,首先要初始化權值,輸入第一組輸入:1 0 3 ,網路會輸出一個值,我們假設為4,那麼根據導師信號(正確的導師信號為1,表示這是一個蘋果)計算誤差4-1=3,誤差傳給bp神經網路,神經網路根據誤差調整權值,然後進入第二輪循環,那麼我們再次輸入一組數據:2 0 4(當仍然你可以還輸入1 0 3,而且如果你一直輸入蘋果的特徵,這樣子會讓網路只識別蘋果而不會識別橘子了,這回明白你的問題所在了吧),同理輸出一個值,再次反饋給網路,這就是神經網路訓練的基本流程,當然這兩組數據肯定不夠了,如果數據足夠多,我們會讓神經網路的權值調整到一個非常理想的狀態,是什麼狀態呢,就是網路再次輸出後誤差很小,而且小於我們要求的那個誤差值。
接下來就要進行模擬預測了t_1=sim(net,p),net就是你建立的那個網路,p是輸入數據,由於網路的權值已經確定了,我們這時候就不需要知道t的值了,也就是說不需要知道他是蘋果還是橘子了,而t_1就是網路預測的數據,它可能是1或者是2,也有可能是1.3,2.2之類的數(絕大部分都是這種數),那麼你就看這個數十接近1還是2了,如果是1.5,我們就認為他是蘋果和橘子的雜交,呵呵,開玩笑的,遇到x<=0,5、x=1.5、x>=2.5,我一般都是舍棄的,表示未知。
總之就是你需要找本資料系統的看下,鑒於我也是做圖像處理的,我給你個關鍵的提醒,用神經網路做圖像處理的話必須有好的樣本空間,就是你的資料庫必須是標準的。至於網路的機理,訓練的方法什麼的,找及個例子用matlab模擬下,看看效果,自己琢磨去吧,這裡面主要是你隱含層的設置,訓練函數選擇及其收斂速度以及誤差精度就是神經網路的真諦了,想在這么小的空間給你介紹清楚是不可能的,關鍵是樣本,提取的圖像特徵必須帶有相關性,這樣設置的各個閾值才有效。OK,好好學習吧,資料去matlab中文論壇上找,在不行就去bau文庫上,你又不需要都用到,何必看一本書呢!祝你順利畢業!
⑧ 請問學bp神經網路哪本書比較好
我研究生3年學的都是這個玩意,你是本科生吧,給你推薦一本書,我和我的同學都覺得這本書非常寶貝!西安電子科技大學出版的一本關於神經網路的書,定價是20元,至少3年前的版本是20元。藍紫色皮,那本書非常好,不過是關於matlab編程神經網路的,但是大同小異吧,入門看非常合適,深入淺出!我最近太忙,有空可以幫你搜搜具體的名字,不是很好買到,你在北京的話去西單圖書大廈就能買到。
⑨ 人工神經網路的學習類型
學習是神經網路研究的一個重要內容,它的適應性是通過學習實現的。根據環境的變化,對權值進行調整,改善系統的行為。由Hebb提出的Hebb學習規則為神經網路的學習演算法奠定了基礎。Hebb規則認為學習過程最終發生在神經元之間的突觸部位,突觸的聯系強度隨著突觸前後神經元的活動而變化。在此基礎上,人們提出了各種學習規則和演算法,以適應不同網路模型的需要。有效的學習演算法,使得神經網路能夠通過連接權值的調整,構造客觀世界的內在表示,形成具有特色的信息處理方法,信息存儲和處理體現在網路的連接中。
分類
根據學習環境不同,神經網路的學習方式可分為監督學習和非監督學習。在監督學習中,將訓練樣本的數據加到網路輸入端,同時將相應的期望輸出與網路輸出相比較,得到誤差信號,以此控制權值連接強度的調整,經多次訓練後收斂到一個確定的權值。當樣本情況發生變化時,經學習可以修改權值以適應新的環境。使用監督學習的神經網路模型有反傳網路、感知器等。非監督學習時,事先不給定標准樣本,直接將網路置於環境之中,學習階段與工作階段成為一體。此時,學習規律的變化服從連接權值的演變方程。非監督學習最簡單的例子是Hebb學習規則。競爭學習規則是一個更復雜的非監督學習的例子,它是根據已建立的聚類進行權值調整。自組織映射、適應諧振理論網路等都是與競爭學習有關的典型模型。
⑩ 卷積神經網路演算法是什麼
一維構築、二維構築、全卷積構築。
卷積神經網路(Convolutional Neural Networks, CNN)是一類包含卷積計算且具有深度結構的前饋神經網路(Feedforward Neural Networks),是深度學習(deep learning)的代表演算法之一。
卷積神經網路具有表徵學習(representation learning)能力,能夠按其階層結構對輸入信息進行平移不變分類(shift-invariant classification),因此也被稱為「平移不變人工神經網路(Shift-Invariant Artificial Neural Networks, SIANN)」。
卷積神經網路的連接性:
卷積神經網路中卷積層間的連接被稱為稀疏連接(sparse connection),即相比於前饋神經網路中的全連接,卷積層中的神經元僅與其相鄰層的部分,而非全部神經元相連。具體地,卷積神經網路第l層特徵圖中的任意一個像素(神經元)都僅是l-1層中卷積核所定義的感受野內的像素的線性組合。
卷積神經網路的稀疏連接具有正則化的效果,提高了網路結構的穩定性和泛化能力,避免過度擬合,同時,稀疏連接減少了權重參數的總量,有利於神經網路的快速學習,和在計算時減少內存開銷。
卷積神經網路中特徵圖同一通道內的所有像素共享一組卷積核權重系數,該性質被稱為權重共享(weight sharing)。權重共享將卷積神經網路和其它包含局部連接結構的神經網路相區分,後者雖然使用了稀疏連接,但不同連接的權重是不同的。權重共享和稀疏連接一樣,減少了卷積神經網路的參數總量,並具有正則化的效果。
在全連接網路視角下,卷積神經網路的稀疏連接和權重共享可以被視為兩個無限強的先驗(pirior),即一個隱含層神經元在其感受野之外的所有權重系數恆為0(但感受野可以在空間移動);且在一個通道內,所有神經元的權重系數相同。