網路中的基本單元為神經元,每個神經元收到n個來自其他神經元的輸入訊號,這些輸入訊號通過帶權重的連線進行傳遞。
每個神經元收到的總的輸入值與神經元的閾值相比較,若高於閾值,則該神經元被啟用並通過啟用函式產生神經元的輸出。
(為什麼要用啟用函式:使得神經網路由簡單的線性變換延伸到非線性變換,可獲得更強大的表示能力;同時將輸入值對映後更利於反向傳播時計算梯度)
將多個這樣的神經元按一定的層次結構連線起來,即得到神經網路。
1) 階躍函式sg
n(x)
={1,
x≥00
,x<
0 sgn
(x)=
{1,x
≥00,
x<
0階躍函式為理想的啟用函式,然而,階躍函式既不光滑亦不連續,需要尋找數學性質更好的啟用函式做替代。
2) sigmoid函式si
gmoi
d(x)
=11+
e−x sig
moid
(x)=
11+e
−x
sigmoid函式的特點:
a. 輸出介於(0, 1)之間,便於處理概率相關的問題。
b. 易導致梯度飽和/梯度瀰散。若輸入稍遠離座標原點,梯度就會變得很小,趨近於零。由於反向傳播過程中,權重需通過微分的鏈式法則進行更新,使用sigmoid函式會導致權重對損失函式幾乎無影響,不利於權重的優化。
c. 函式的輸出不是以0為中心,使得權重的更新效率降低
d. 需進行指數運算,速度慢
3)tanh函式ta
nh(x
)=si
nh(x
)cos
h(x)
=ex−
e−xe
x+e−
x tan
h(x)
=sin
h(x)
cosh
(x)=
ex−e
−xex
+e−x
tanh函式的特點:
a. 輸出介於(-1, 1)之間,以零為中心
b. 輸入較大/較小時,梯度較小,不利於權重的優化
4)relu函式f(
x)=m
ax(0
,x) f(x
)=ma
x(0,
x)
relu函式特點:
a. 輸入為正時,不存在梯度飽和問題
b. 只有線性關係,計算速度快
c. 輸入為負時,完全不被啟用,反向傳播過程中使得梯度為0,不利於權重優化
d. 不以0為輸出中心
感知機為兩層神經元模型,可進行的運算:與、或、非(線性可分問題)
若要解決非線性可分問題,需使用多層神經元
0)隨機初始化所有權重(閾值可看作啞變數對應的權重,這樣可將權重和閾值的學習統一為權重的學習)
1)根據當前引數計算當前樣本的輸出
2)計算輸出層神經元的梯度
3)計算隱層神經元的梯度
4)更新權重
重複1)~4)至達到停止條件
1)早停(early stopping)
將資料分為訓練集和驗證集,訓練集用來計算梯度、更新權重,驗證集用來計算誤差。若訓練集誤差降低而驗證集誤差公升高時,即終止訓練過程。
2)正則化
在目標函式中加入正則項,限制模型複雜度。正則項係數
λ λ
由交叉驗證得到。
引數尋優方法:梯度下降法——沿著負梯度方向搜尋最優解,梯度為0時,達到區域性極小
若誤差函式只有乙個區域性極小點,則該點為全域性最小點;若誤差函式有多個區域性極小點,則可採取的方法:
1)採用多組不同的引數值初始化神經網路
2)模擬退火
3)隨機梯度下降
機器學習 神經網路
神經網路中最基本的成分是 神經元 模型,在生物神經網路中,每個神經元與其他神經元相連,當他 興奮 時,就會向相連的神經元傳送化學物質,從而改變這些神經元類的電位 如果某神經元的電位超過乙個 閾值 那麼他就會被啟用。將上述描述當成乙個數學模型 m p神經元模型,神經元接收來自n個神經元傳遞過來的輸入訊...
機器學習 神經網路
序列模型屬於通用模型的一種,因為很常見,所以這裡單獨列出來進行介紹,這種模型各層之間是依次順序的線性關係,在第k層合第k 1層之間可以加上各種元素來構造神經網路這些元素可以通過乙個列表來制定,然後作為引數傳遞給序列模型來生成相應的模型。01 keras model sequential.py fro...
機器學習 神經網路
人工神經網路被用於處理大量輸入以及非線性問題。與回歸方法不同,回歸方法只能處理未知數組成的多項式構成的線性問題,即只能處理簡單的關於未知數多項式的非線性問題。而神經網路利用多層網路這一優勢,能夠處理複雜的非線性問題。theta 的維數為s times s j 1 如上圖所示,分類問題分為兩種 對於這...