【超詳細】深度學習原理與算法第1篇---前饋神經網絡,感知機,BP神經網絡

前饋神經網絡(FNN)

前饋神經網路是一種單向多層的網絡結構,信息從輸入層開始,逐層向一個方向傳遞,即單向傳遞,一直到輸出層結束。前饋的意思就是指傳播方向指的是前向。前饋神經網絡由三部分組成:輸入層(第0層),輸出層(最後一層),中間部分稱爲隱藏層,隱藏層可以是一層,也可以是多層 。FNN如下圖所示,其中圓圈是神經元。
在這裏插入圖片描述

學習神經網絡前向傳播與反向傳播推導過程必須瞭解,這是許多網絡的基礎,推薦下面的up主視頻,用案例來講解底層傳播與機理,並做出了推導,跟着推一遍,理解會更深刻,不然後面學習就可能一知半解了
地址如下:https://space.bilibili.com/49109393/channel/detail?cid=36482

FNN舉例:如果要機器判斷某人信用卡是否會透支?x1,x2,…,xn表示的就是造成透支的可能因素,包括年齡,家庭人數,性別,家庭住址,生活開銷等,這個作爲輸入,然後經過一系列訓練計算,最後到輸出層輸出透支,還是不透支

感知機(感知器)

感知機是一種最簡單的前饋神經網絡,只有一個神經元,不同權值w1,w2,… ,wn表示不同特徵xi的權重,即不同特徵xi影響結果的重要程度不同,如圖

在這裏插入圖片描述

補充:感知機只能做十分簡單的分類問題,如去解決and-與,or-或問題,這兩個都是線性問題,都能用直線分開類別,但是異或問題,感知機就解決不了,因爲是非線性問題,而BP神經網絡就能很好解決非線性問題,我們生活中問題絕大部分都是非線性問題,所以最早的感知機十分侷限,但它的出現在當時意義巨大。
在這裏插入圖片描述

BP神經網絡

BP神經網絡是前饋神經網絡的一種,是指用反向傳播算法(BP算法)進行訓練的多層前饋神經網絡,它包括信號的前向傳播和誤差的反向傳播兩個過程,即計算誤差輸出時(預測與真實的誤差)按從輸入到輸出的方向進行,而調整權值w和偏置b,則從輸出到輸入的方向進行(在輸出層不能得到期望的輸出或者說與真實差別較大,才轉入反向傳播進行調整)。通過不斷的前向計算誤差輸出,再反向調整權值w和偏置b,讓它預測出新的輸出y’,不斷迭代重複,最終能得到誤差十分小的輸出,如誤差爲0.01、0.001,與真實的值十分接近。如圖所示
在這裏插入圖片描述

注:BP算法基本思想是梯度下降(求偏導,每次找到梯度下降最快的方向),上面推薦up主視頻推導部分,權值w - 學習率α*偏導數,可以理解成調整的過程,偏導數指每次梯度下降多少,學習率α大小能決定要下降多少次才能逼近最小誤差,所以實際開發中學習率太大,每次迭代下降(減去的數)就很快,太小下降就慢。好比人走路去商場,步子跨的小,走的步數多,步子跨的大,走的步數就少。如圖,每次找梯度下降最快的方向下降,最終到最低點,也是誤差最小點

在這裏插入圖片描述

總結

神經網絡就是訓練出一個模型,能將輸入進入模型後輸出一個和真實需要的輸出十分接近的輸出,只要輸入一個x,輸出的y’與真實想得到的y十分接近,這也叫函數擬合的十分成功,擬合就是模擬出與真實想要輸出十分接近的預測輸出,這樣預測的輸出就可以代替真實的輸出。我們可以通過大量數據訓練出模型,用於預測未知情況走勢,如從前幾年的房價變化預測未來房價變化。
在這裏插入圖片描述