單層感知器演算法是神經網路演算法中結構最簡單的模型,作為一種線性分類器,它可以對兩種型別進行線性分類。感知器是生物神經細胞的簡單抽象,是神經網路的原型,是以最簡單的方式模擬人類神經元的演算法。
神經元圖示:
演算法模型圖示:
xi表示輸入訊號,是根據預先定義的特徵工程的非線性轉換,w
iw_i
wi表示每一種輸入訊號對應的權重,y表示輸出訊號。f是啟用函式,σ
\varsigma
σ表示的是對所有輸入資料的求和。
這樣一來就有如下等式:
z =w
1∗x1
+w2∗
x2+w
3∗x3
....
..wn
∗xn=
wt∗x
\begin z&=w_1*x_1+w_2*x_2+w_3*x_3... ...w_n*x_n\\ &=\bold^t*\bold \end
z=w1
∗x1
+w2
∗x2
+w3
∗x3
....
..wn
∗xn
=wt
∗x其中
w t=
[w1w
2w3.
..wn
]t\bold^t=\begin w_1 \\ w_2\\ w_3\\ ...\\ w_n \end^t
wt=⎣⎢⎢
⎢⎢⎡
w1w
2w3
...
wn
⎦⎥⎥⎥
⎥⎤t
,x =[
x1x2
x3..
.xn]
\bold=\begin x_1\\x_2\\x_3\\...\\x_n \end
x=⎣⎢⎢⎢
⎢⎡x
1x2
x3
...x
n⎦
⎥⎥⎥⎥
⎤.那麼感知器的輸出表示為:
y (x
)=f(
z)=f
(wtx
)y(x)=f(z)=f(\bold^t\bold)
y(x)=f
(z)=
f(wt
x)而f (z
)=+1, &z\geq0 \\ -1 &z<0 \end
f(z)
=^t\boldy_n>0
wtxny
n>
0對於錯誤的分類,那麼也就有−wt
xnyn
>
0-\bold^t\boldy_n>0
−wtxn
yn>0,
因此可以通過最小化下面的函式來增大感知器的準確度(因為當函式值最小時,表示符合錯誤分類的點也就越少):
e (w
)=−∑
nϵmw
txny
ne(w)=- \sum_\bold^t\boldy_n
e(w)=−
nϵm∑
wtx
nyn
其中m為誤分類點的集合,這個損失函式就是感知器學習的經驗風險函式。感知器學習的策略就是在假設空間中選取損失函式式最小的模型引數w,即感知器模型。(k
+1)=
w(k)
−n∇e
(w)=
w(k)
+αxn
ynw^=w^-n\nabla e(w)=w^+\alpha \boldy_n
w(k+1)
=w(k
)−n∇
e(w)
=w(k
)+αx
nyn
其中k表示演算法中的步驟數,α
\alpha
α是學習速率,是乙個調整學習速率的通用演算法優化引數。α不能太大也不能太小,太小的話,可能導致遲遲找不到最低點,太大的話,會導致錯過最低點!
∇
\nabla
∇讀作nabla,是梯度的表示符號,梯度就是分別對每個變數進行微分,然後用逗號分割開,梯度是用<>包括起來,也就是乙個向量,所以∇e(
w)\nabla e(w)
∇e(w
)就等於對w1,
w2..
.wnw_1,w_2...w_n
w1,w2
...
wn進行微分,又由於幾個向量的加權和,等於這些向量中每個元素的加權和組成的向量,最後結果就是−xn
yn-\boldy_n
−xnyn
簡單模擬一下單層感知器,可以加深對演算法的印象。
場景:假設週末即將到來,你聽說在週末有部大片即將上映–《花木蘭》,我的女神劉亦菲主演的,在這裡表白一下女神,順便幫她宣傳一波,雖然訪問少的可伶,哈哈。回到正題,我們要**你是否會決定去看。首先電影院很遠,附近沒有近的影院,所以坐地鐵要很久,而且你女朋友吃醋了,聽說你要去支援劉亦菲,所以不想陪你去,但是天氣很好,陰天。也就是說有3個因素會影響你的決定,這3個因素就可以看作是3個輸入特徵。那你到底會不會去呢?你的個人喜好——你對上面3個因素的重視程度——會影響你的決定。這3個重視程度就是3個權重。
但是這個結果**不對,雖然天氣很好,但是我覺得女朋友的意見也是很重要的,所以我是不想去的。那麼這個時候怎麼辦呢?機器的學習的過程就是訓練-》測試-》更新引數-》訓練-》測試。。。直到模型最佳。所以這個時候,我們用梯度下降演算法更新權重,公式如下這同樣可以用我們的公式來表示。
w (1
)=w(
0)−n
∇e(w
)w^=w^-n\nabla e(w)
w(1)=w
(0)−
n∇e(
w)w
0w^0
w0就是(2,2,7),在這裡我們就不算了,我們假設通過公式算的新的權重是(2,7,-1),中間是7表示你挺在乎女朋友的感受的,她不去你也不去,-1表示天氣什麼的已經不重要了。那麼就有z = (x1 * w1 + x2 * w2 + x3 * w3) + b = (0 * 2 + 0 * 7 + 1 * (-1) = -1。**結果z是-1,-1小於0,所以**你不會去,會呆在家裡陪女朋友,但是心裡還在想著花木蘭,哈哈。
實際過程肯定不會這麼簡單的,這個例項就是忽略一些其他的因素,突出主要的內容,加深大家對這個演算法的理解。
學習筆記 感知器 單層感知器舉例
在人體神經網路中,神經細胞是有著基本處理訊號功能的基本單元,單層感知器就是人工神經網路中模擬人體神經細胞的基本單元。單層感知器 單層感知器是最簡單的神經網路,它包含輸入層和輸出層,訊號先經過線性組合器處理然後再經過啟用函式,最後輸出結果。1 輸入節點 input 輸入節點是訊號的輸入端,感知器可以有...
單層感知器python 深度學習之單層感知器(一)
當我們最初學習機器學習時候,了解到最簡單的神經網路可能便是單層感知器,他也是監督學習的最簡單一種。本文章就通過 人工神經網路理論 設計及應用 書中介紹的單層感知器一節,進行python的 實現。單層感知器的網路結構如下 上圖便是乙個單層感知器,很簡單的乙個結構,圖中說明我們有個3維的輸入值分別是x1...
單層感知器(附demo)
一 引言 感知器神經網路是一種典型的前饋神經網路,具有分層結果,資訊叢輸入層進入網路,逐層向前傳遞至輸出層。根據感知器神經元轉移函式 隱層數以及權值調整規則的不同,可以形成具有各種功能特點的神經網路 二 定義與理解 單層感知器 1958年,美國心理學家frank rosenblatt 提出一種具有單...