神經網路原理

2021-08-27 18:55:17 字數 1638 閱讀 6046

一、應用情況

神經網路在機器學習中應用比較廣泛,比如函式逼近,模式識別,分類,特徵提取、影象處理等方面。

二、原理

(1)神經元模型

神經元模型基本上包括多個輸入(類似突觸),這些輸入分別被不同的權值相乘(收到的訊號強度不同),然後被乙個數學函式用來計算決定是否激發神經元。還有乙個函式(也許是不變,就是複製)計算人工神經元的輸出(有時依賴於某個門限)。

權值越大表示輸入的訊號對神經元影響越大。權值可以為負值,意味著輸入訊號收到了抑制。權值不同那麼神經元的計算也不同。通過調整權值可以得到固定輸入下需要的輸出值。某個神經元過程如下圖:

主要構成為:輸入、權重(其實還有偏置)、啟用函式、輸出

(2)一般的神經網路結構

假設神經網路有l層,第一層為輸入層,第2~l-層為隱層,第l層為輸出層;第l層(2<=l<=l-1)的神經元個數為s(l),第一層維度為輸入特徵的維度(x的維度),第l層的維度為輸出的維度(y的維度)。基本框架為:

具體地,我以地l-3層到l-2層的傳輸作為例子,寫出詳細的過程(實在是作圖麻煩,就手寫了):

對上面的幾個符號進行說明:

三、公式推導

四、優點與不足以及優化五、演算法收斂性的優化

(1).利用動量方法進行迭代更新

(2).根據誤差大小更改為變學習因子,學習因子a=b+b*(error(t)-error(t-1))/error(t-1)(b為步長)

(3)由於bp演算法採用的是剃度下降法,因而易陷於區域性最小並且訓練時間較長。用基於生物免疫機制地既能全域性搜尋又能避免未成熟收斂的免疫遺傳演算法iga取代傳統bp演算法來克服此缺點。

r語言實現:

包:nnet包中nnet函式、amore包中netff函式、mlr包涵蓋了機器學習在r語言中所有演算法,很值得一學。

神經網路原理

神經網路是一種模擬人腦的神經網路以期能夠實現類人工智慧的機器學習技術。人腦中的神經網路是乙個非常複雜的組織。的大腦中估計有1000億個神經元。神經網路的發展背後的外在原因可以被總結為 更強的計算效能,更多的資料,以及更好的訓練方法。只有滿足這些條件時,神經網路的函式擬合能力才能得已體現。神經元分為三...

BP神經網路原理

一,什麼是bp bp back propagation 網路是1986年由rumelhart和mccelland為首的科學家小組提出,是一種按誤差逆傳播演算法訓練的多層前饋網路,是目前應用最廣泛的神經網路模型之一。bp網路能學習和存貯大量的輸入 輸出模式對映關係,而無需事前揭示描述這種對映關係的數學...

競爭神經網路原理

競爭學習神經網路原理 生物學原理 在人眼的視網膜中存在一種側抑制現象,即乙個神經細胞興奮後,會對周圍的神經細胞產生抑制作用。這種側抑制使神經細胞之間呈現出競爭,開始可能多個細胞同時興奮,但興奮程度最強的神經細胞對周圍的神經細胞的抑制作用也越強,其結果使周圍神經細胞的興奮度減弱,從而該神經細胞是這次競...