在學習了機器學習十大算法之后,我決定將目光投向神經網絡,從而攀登深度學習的高峰。這條險路的第一個攔路虎就是Rosenblatt感知器。為什么這么說呢?不僅是因為它開拓性的貢獻——感知器是第一個從算法上完整描述的神經網絡,而Rosenblatt感知器是感知器作為監督學習的第一個模型。還因為學習Rosenblatt感知器能夠幫助了解神經元的結構、信息流的傳遞以及知識的學習和存儲,從而打開看待問題的全新視角——模擬人腦解決問題。當然,僅僅如此的話,它只能說是可口的羔羊,談不上攔路的猛虎。自然是在理解這一問題時遇到了難處:1)Rosenblatt感知器為什么能收斂?《神經網絡與機器學習》中的證明並不理想,它忽略了學習率和初始權重向量的影響;2)學習率和初始權重向量對迭代次數的影響是什么?3)它的更新過程與梯度下降法如此相似,不禁想問兩者之間有何聯系?4)線性可分兩類問題通常在尋找一個分割超平面,Rosenblatt感知器也不例外,能否將這個超平面可視化,從而幫助理解?看!這真的是一個威風凜凜的猛虎,但它嚇不倒人。下面開始我們的打虎過程。
認識這只虎——Rosenblatt感知器的結構
介紹感知器就不得不談神經元的結構。神經元由突觸、響應器、激活函數組成,順序響應輸入信號,最終獲得輸出結果。如圖1所示,首先,輸入信號的每一個分量由突觸加權,再與偏置一起由響應器求和,之后通過激活函數獲得輸出。
響應器對突觸加權后的信號和偏置求和,得到響應值:

常用的激活函數有閾值函數,Sigmoid函數和tanh函數。為紀念McCulloch和Pitts(1943)的開拓性工作,激活函數為閾值函數的神經元也被稱為McCulloch-Pitts模型,此時:


圖1 神經元結構
Rosenblatt感知器建立在McCulloch-Pitts神經元模型上,以解決線性可分的兩類問題。兩類記為{+1,-1},此時:

在神經元進行學習分類問題時,每一個樣本都將作為一個刺激傳入神經元。輸入信號是每一個樣本的特征,期望的輸出是該樣本的類別。當輸出與類別不同時,我們將調整突觸權值,直到每個樣本的輸出與類別相同。
老虎要發威——Rosenblatt感知器的更新過程
到目前為止,我們了解了Rosenblatt感知器的工作流程,但還沒有解釋它如何對於誤分類的刺激調整權重值。在此之前,我們先定義輸入的數據,方便后續的描述及推導。假設我們的樣本采自m維空間Rm,每個樣本由特征值和類別組成,記為X,於是:

當我們挑選樣本x(k)(第k個刺激並不等於第k個樣本,同一個樣本可能反復成為刺激)刺激神經元時,有:



為了讓上式更為簡潔,我們將x(k)和wk增加一維:

此時:

神經元對刺激x^(k)的輸出為:


到這里,我們完成了對Rosenblattt感知器的推導,其偽代碼為:

老虎會防御——謎一樣的感知器收斂原理
Rosenblatt感知器對於線性可分的兩類問題總是有效的,但采用的方式與高斯分類器、邏輯回歸、決策樹還有SVM截然不同。那么能否保證它對所有線性可分的兩類問題都能收斂?下面將利用夾逼定理對收斂性進行證明。
下界

上界

不等式左邊是一個開口向上的一元二次方程,因此必存在,使等式不成立,因此該方法收斂。
老虎慫了——初始權重向量和學習率的影響


老虎搬救兵——感知器背后的隨機梯度下降法
如果學習過隨機梯度下降法的話,我們就會發現Rosenblatt感知器與隨機梯度下降法間的相似度。

如果我們對Rosenblatt感知器構造損失函數



因此,Rosenblatt感知器的迭代過程實際上是隨機梯度下降法的一個簡化。由於隨機梯度下降法依期望收斂,Rosenblatt感知器也是收斂的。
老虎被參觀——Rosenblatt感知器的可視化過程

因此,Rosenblatt感知器可理解為:1)將特征增加一維,新的一維為1,對應神經元中的偏置;2)增維后的特征與樣本類別相乘,得到校正后的特征向量;3)尋找一個權重向量,其與所有校正后的特征向量的夾角小於90度。以一維空間的樣本為例,

圖2 對特征空間進行升維和標簽校正

圖3 權重向量的更新過程
當權重向量與特征向量夾角大於90度時,調整權重向量,減少兩者夾角。最終使其對所有的特征向量夾角都小於90度,實現對樣本的正確分類。
打虎心得——最后的總結
最開始學Rosenblatt感知器時,只是想把收斂原理搞清楚,但搞懂之后,有兩點是之前沒有預料到的:1)它隱含一個損失函數,而這個損失函數不需要像邏輯回歸一樣由一個logit函數進行轉換;2)之前對線性可分停留在可以找到一個超平面,左邊一類,右邊一類。但對於超平面與樣本之間有何聯連並不清楚,現在明白兩者對應m+1維空間兩個夾角小於90度的超平面。
好了,打虎到此結束,有緣再會。
