多層感知器(MLP)

2021-08-20 12:23:58 字數 1198 閱讀 8049

一. 簡述多層感知器(mlp)

1. 深度前饋網路(deep feedforward network),也叫前饋神經網路(feedforward neuarl network)或者多層感知機(multilayer perceptron,mlp),是典型的深度學習模型。這種模型被稱為前向(feedforward)的,是因為資訊流過x的函式,流經用於定義f的中間計算過程,最終到達輸出y。在模型的輸出和模型本身之間沒有反饋(feedback)連線。當前饋神經網路被擴充套件成包含反饋連線時,它們被稱為迴圈神經網路(recurrent neural network)。

2. 隱含層

隱含層是神經網路的乙個重要概念,它是指除輸入,輸出層外,中間的那些層。輸入和輸出層是對外可見的,成為可視層,而中間層不直接暴露,是模型的黑箱部分,比較難解釋,所以一般也叫隱含層。隱含層認為:f()函式為啟用函式(activation function),一般有sigmoid函式或者tanh函式。

3. 神經網路就是將許多哥單一的「神經元」連線,乙個「神經元」的輸出就是另乙個「神經元」的輸入。

4. dl常見問題

(1)過擬合(overfit)

過擬合是指模型**準確率在訓練集上提高,但在測試集上反而下降了,這通常意味著泛化性不好,model只記憶了當前資料的特徵,不具備推廣能力。

(2)dropout

dropout可以比較有效地減輕過擬合的發生,一定程度上達到了正則化的效果。大致思想是在訓練時,將神經網路某一層的輸出節點資料隨機丟掉一部分。

(3)引數難以除錯

引數難於除錯是神經網路的另一大痛點。神經網路到處充滿著區域性最優,需要反覆除錯,因此像adagrad,adam,adadelta等自適應方法可以減輕除錯引數的負擔。

(4)梯度瀰散

梯度瀰散是另乙個神經網路的問題。傳統的神經網路訓練大多用sigmoid作為啟用函式,但神經網路層數較多時,sigmoid函式在反向傳播中梯度逐漸減小,經過多層的傳遞後會呈現指數級急劇減小,因此梯度值在傳遞的前幾層就變得非常小了。這時反饋(backward)的引數更新基本不起作用。

(5)relu函式

relu函式可以解決以上問題。

模式識別 多層感知器 MLP

由前面介紹看到,單個感知器能夠完成線性可分資料的分類問題,是一種最簡單的可以 學習 的機器。但他無法解決非線性問題。比如下圖中的xor問題 即 1,1 1,1 屬於同一類,而 1,1 1,1 屬於第二類的問題,不能由單個感知器正確分類。即在minsky和 t的專著 感知器 所分析的 感知器只能解決所...

TFboy養成記 多層感知器 MLP

這裡多層感知器 寫的是乙個簡單的三層神經網路,輸入層,隱藏層,輸出層。的目的是你和乙個二次曲線。同時,為了保證資料的自然,新增了mean為0,steddv為0.05的雜訊。新增層 def addlayer inputs,insize,outsize,activ func none insize ou...

多層感知器

在介紹單層感知器的時候,我們提到對於非線性可分問題,單層感知器是很難解決的,比如下面這個例子 很簡單的乙個分布,但事實上就是無法用直線進行分類,後來就出現了多層感知器,主要改變的地方是把第一層的感知器的輸出作為第二層感知器的輸入,即使只是簡單新增一層感知器,也足以解決xor問題,關鍵的原因是,多了一...