學習非線性規律 深度神經網絡
- 在傳統線性模型中,每一個模型有一些輸入x 特征 每個輸入都有權重w值,這些權重以線性方式組合到一起 產生輸出
如果我們想要獲得非線性規律,我們可能需要向該模型再添加一個層
這樣,你可以通過良好的線性組合,將這些輸入添加到第二層。
第二層再以線性方式相結合,但我們尚未實現任何非線性規律。 - 線性函數的組合,依然還是線性
因此 我們需要從其他方向著手,也就是說,我們需要添加非線性函數 - 這種常用的非線性函數可以位于任何小的隱藏式節點的輸出中,其中一種常用的非線性激活函數,叫做ReLU
- 當我們在訓練這些神經網絡時,很顯然,我們面臨的是非凸優化問題,因此可能需要初始化(??
- 我們訓練這些神經網絡時所使用的方法叫做反向傳播,他是梯度下降算法的變形,通過反響傳播,我們能夠以高效合理的方式,對非凸優化問題執行梯度下降
神經網絡處理非線性問題
image.png
-
藍色代表一個輸入特征,綠色圓圈表示各個輸入的加權和(y)
目前還只是一個線性模型,要處理非線性問題,可以增加表示中間值的隱藏層。輸入的是,藍色輸入節點值的加權和,輸出的是黃色節點的加權和。
image.png
但是到目前為止,模型還是線性的,只不過多加了幾層表示加權和的隱藏層,隱藏層作為下一層的輸入。
-
要對非線性問題進行建模,我們可以直接引入非線性函數,用非線性函數將每個隱藏節點像管道一樣連接起來
image.png
- 實際上,所有數學函數都可以作為激活函數,假設??表示我們的激活函數,因此,網絡中節點的值由以下公式指定
??(w·x + b)
現在,我們的模型擁有了人們通常所說的“神經網絡”的所有標準組件:
- 一組節點,類似于神經元,位于層中。
- 一組權重,表示每個神經網絡層與其下方的層之間的關系。下方的層可能是另一個神經網絡層,也可能是其他類型的層。
- 一組偏差,每個節點一個偏差。
- 一個激活函數,對層中每個節點的輸出進行轉換。不同的層可能擁有不同的激活函數。
同一層的轉化函數相同?