機器學習之神經網路簡介:剖析

Lois發表於2020-06-28

如果您還記得特徵組合這一單元的話,就會發現以下分類問題屬於非線性問題:

圖 1.非線性分類問題。

“非線性”意味著您無法使用形式為

b + w_1x_1 +w_2x_2

的模型準確預測標籤。也就是說,“決策面”不是直線。之前,我們瞭解了對非線性問題進行建模的一種可行方法-特徵組合
現在,請考慮以下資料集;

圖 2.更難的非線性分類問題

圖 2 所示的資料集問題無法用線性模型解決。
為了瞭解神經網路可以如何幫組解決非線性問題,我們首先用圖表呈現一個線性模型:

圖 3.用圖表呈現的線性模型

每個藍色圓圈均表示一個輸入特徵,綠色圓圈表示各個輸入的加權和。
要提高此模型處理非線性問題的能力,我們可以如何更改它?

隱藏層

在下圖所示的模型中,我們新增了一個表示中間值的“隱藏層”。隱藏層中的每個黃色節點均是藍色輸入節點值的加權和。

圖 4.兩層模型的圖表。

此模型是線性的嗎?是的,其輸出仍是其輸入的線性組合。
在下圖所示的模型中,我們有新增了一個表示加權和的“隱藏層”。

圖 5.三層模型的圖表

此模型仍是線性的嗎?是的,沒錯。當您將輸出表示為輸入的函式並進行簡化時,您只是獲得輸入的另一加權和而已。該加權和無法對圖 2 中的非線性問題進行有效建模。

啟用函式

要對非線性問題進行建模,我們可以直接引入非線性函式。我們可以用非線性函式將每個隱藏層節點像管道一樣連線起來。
在下圖所示的模型中,在隱藏層 1 中的各個節點的值傳遞到下一層進行加權求和之前,我們採用一個非線性函式對其進行轉換。這種非線性函式稱為啟用函式。

圖 6.包含啟用函式的三層模型的圖表

現在,我們已將新增了啟用函式,如果新增層,將會產生更多的影響。通過在非線性上堆疊非線性,我們能夠對輸入和預測輸出之間及其複雜的關係進行建模。簡而言之,每一層均可通過原始輸入有效學習更復雜、更高階別的函式。

常見啟用函式

以下 S 型啟用函式將加權和轉換為介於 0 和 1 之間的值。

F(x) = \dfrac{1}{1 + e^{-x} }

曲線圖如下:

圖 7.S型啟用函式

相較於 S 型函式等平滑函式,以下修正線性單元啟用函式(簡稱 *ReLU *)的效果通常要好一點,同時還非常易於計算。

F(x) = max(0,x)

ReLU 的優勢在於它基於實證發現(可能由 ReLU 驅動),擁有更實用的響應範圍。S 型函式的響應性在兩端相對較快地減少。

本作品採用《CC 協議》,轉載必須註明作者和本文連結

Hacking

相關文章