神經網絡算法——解決非線性分類復雜問題


神經網絡的定義 

把神經元模擬成一個邏輯單元,在神經網絡的模型中,神經元收到來自n個其他神經元傳遞過來的輸入信號,這些輸入信號通過帶權重的連接進行傳遞,神經元收到的總輸入值將與神經元的閾值進行比較,然后通過激活函數(activation funciton)處理以產生神經元的輸出。

把許多個這樣的神經元按一定的層次結構連接起來,就得到了神經網絡。

 一個神經元可以看成包含兩個部分,一個是對輸入的加權求和加上偏置,一個是激活函數對求和后的激活或者抑制。

與神經網絡有關的幾個重要術語:

閾值(threshhold)

閾值邏輯單元(Threshold Logic Unit,TLU),它可以輸入一組加權系數的量,對它們進行求和,如果這個和達到或者超過了某個閾值,輸出一個量。

激勵函數(activation function)

所謂激活函數,就是在神經網絡的神經元上運行的函數,負責將神經元的輸入映射到輸出端。

一個前饋神經網絡如果具有線性層和至少一層具有 "擠壓" 性質的激活函數(如 signmoid 等),給定網絡足夠數量的隱藏單元,它可以以任意精度來近似任何從一個有限維空間到另一個有限維空間的  可測函數。

要相符上面的定理,也就是想擬合任意函數,一個必須點是 “要有帶有 “擠壓” 性質的激活函數”。這里的 “擠壓” 性質是因為早期對神經網絡的研究用的是 sigmoid 類函數,所以對其數學性質的研究也主要基於這一類性質:將輸入數值范圍擠壓到一定的輸出數值范圍。

權重

連接是神經元中最重要的東西。每一個連接上都有一個權重。

一個神經網絡的訓練算法就是讓權重的值調整到最佳,以使得整個網絡的預測效果最好。

例如:我們使用a來表示輸入,用w來表示權值。一個表示連接的有向箭頭可以這樣理解:在初端,傳遞的信號大小仍然是a,端中間有加權參數w,經過這個加權后的信號會變成a*w,因此在連接的末端,信號的大小就變成了a*w。

如果我們將神經元圖中的所有變量用符號表示,並且寫出輸出的計算公式的話,就是下圖。

 

輸入層、輸出層、隱藏層

  • 輸入層(input layer)輸入層各神經元負責接收來自外界的輸入信息,並傳遞給中間層各神經元;
  • 隱藏層(Hidden Layer):中間層是內部信息處理層,負責信息變換,根據信息變化能力的需求,中間層可以設計為單隱層或者多隱層結構;最后一個隱層傳遞到輸出層各神經元的信息,經進一步處理后,完成一次學習的正向傳播處理過程
  • 輸出層(Output Layer):顧名思義,輸出層向外界輸出信息處理結果

偏置單元( bias unit)

它本質就是函數的截距,與線性方程 y=wx+b 中的 b 的意義是一致的。在 y=wx+b中,b表示函數在y軸上的截距,控制着函數偏離原點的距離,其實在神經網絡中的偏置單元也是類似的作用。 
因此,神經網絡的參數也可以表示為:(W, b),其中W表示參數矩陣,b表示偏置項或截距項。

 bias的計算方式

 神經網絡結構中對偏置單元的計算處理方式有兩種, 
 (1)設置偏置單元=1,並在參數矩陣 Θ 中設置第 0 列對應偏置單元的參數,對應的神經網絡如下: 
 神經網絡架構 
 其中,x0 是第一層的偏置單元(設置為1),Θ(1)10 是對應該偏置單元 x0 的參數;a(2)0 是第二層的偏置單元,Θ(2)10 是對應的參數。 
 在計算激活值時按照(以a(2)1為例): 
 激活值計算公式

   相當於bias本身值為1,但它連接各個神經元的權重不為1,即---整個神經網絡只有1個bias,對應有多個不同的權重(權重個數等於hide層和out層神經元的個數)

 

2)設置偏置單元,不在參數矩陣中設置對應偏置單元的參數,對應的神經網絡如下: 
 神經網絡架構 
 其中,b(1) 是 W(1) 對應的偏置單元向量,b(2) 是 W(2) 對應的偏置單元向量,b(1)1 是對應 a(2)1 的偏置單元。注意,此時神經網絡的參數表示更改為:(W, b) 
 在計算激活值時按照: 
 激活值計算公式 

   相當於bias連接各個神經元的所有權重都為1,但bias本身不為1,即---有多個bias,但所有的bias對應的權重都為1(bias的個數等於hide層和out層神經元的個數)

 偏置的大小度量了神經元產生正 (負) 激勵的難易程度

 

感知器

定義: 感知器就是神經網絡中的神經元

 

圖示:
 
 

輸入:x1-xn

權值:w1-wn
偏置 :w0

激活函數 :跳躍函數
 
 

 

 

輸出
 
 

用途:可以擬合所有的線性函數(線性分類、線性回歸) 線性分類:可用一條線對目標進行分類。
感知器的訓練訓練方法:將權重項和偏置項初始化為0,利用感知器規則迭代的修改w 和b,直到完成。

 

關於神經網絡,最后提煉了幾條要點:

  1. 設計一個神經網絡時,輸入層與輸出層的節點數往往是固定的,中間層則可以自由指定;
  2. 神經網絡結構圖中的拓撲與箭頭代表着預測過程時數據的流向,跟訓練時的數據流有一定的區別;
  3. 結構圖里的關鍵不是圓圈(代表“神經元”),而是連接線(代表“神經元”之間的連接)。每個連接線對應一個不同的權重(其值稱為權值),這是需要訓練得到的。  

 之前我們一直學習線性回歸問題和神經網絡之間的聯系:

比如基礎的邏輯回歸,結合上面的神經元知識,可以發現,邏輯回歸就是激活函數是sigmoid 的單層簡單神經網絡。也就是說,只要在神經元的輸出端有一個合適的損失函數,就能讓單個神經元變成一個線性分類器。因此說,那些線性的分類器本身就是一個單層神經網絡。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM