神經網絡之非線性分類器——神經網絡


1.單一神經元

  神經網絡是由許許多多的單一神經元構成的,那每一個神經元的實質是什么呢?神經元就干一件事情,叫做非線性變換。如下圖所示:

  

2.神經網絡

  sigmod激活函數的作用是什么呢?它把一個數從負無窮到正無窮映射為0到1的部分,它只干這么一件事。那什么是神經網絡呢?神經元是一個函數吧,那么神經網絡是一個超級超級復雜的復合函數。

      

  上圖中的神經網絡實際上與線性分類器如出一轍。你看看啊,上圖中有三層網絡,每兩層之間有權重,這些權重相當於線性分類器中的W矩陣。換句話說,這個神經網絡實際上是由兩個線性分類器構成的,只不過這里的分類器輸出還要做一個非線性變換,當然了,靠近輸出的那一層沒有做非線性變換。

  上圖中這里的z是非線性變換之前的結果,而a(activation)是經過非線性變換之后的結果.

3.目標函數

    

  這里的Sc是分類錯誤的分數,S是分類正確的分數,Xc是輸出錯誤的對應的輸入,X是輸出正確的對應的輸入。Δ的作用是用來增強自信心的,通常取為1.

4.反向傳播算法

    

  如上圖所示,Wjkl 這里的L代表第幾層,j代表后邊那一層的第j個節點,k代表前邊那一層的第K個節點。如果改變圖中紅色線的權重,那1號神經元的輸出結果會受影響,而2,3,4號神經元的輸出結果不會受影響。那第三層的神經元都會受變化,因為第二層的第一個神經元受變化了,它跟后邊的神經元都連接了。

    

  如上圖所示,第二層第一個神經元的受到的變化為ΔajL,它一受變化,最終會導致他后邊的所有神經元都要受變化,最終會導致損失函數受變化。

    

  那么第二層第一個神經元受的變化為多少呢?可用上圖中的公式計算,可類比為一次函數求變化。求導相當與求斜率,如下圖所示:

                

  

      接下來,以此類推,求下一層的變化情況,如下圖所示:

    

   直到最后一層,導致損失函數的變化:

  

     因為可能改變的不止一個權重,如果有多個權重發生了改變,如上圖所示,用累加求和的辦法求出最后損失函數的變化就可以了。

      

  上圖中,最后一項,δjk是損失函數對第K層第j個神經元的輸入求導。為什么要定義這個呢?這是因為后邊的反向傳播算法要用到。

   


免責聲明!

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



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