感知機——成長的煩惱

寫在前面,此文的目的只是單純地跟大家分享自己對感知機學習的一些感悟。並不是科普文,對感知機沒有認識的朋友可能並不能從此文得到清晰的概念,如果要學習感知機還是建議看經典的教材。

        ==========正文==========

想寫這樣的文章很久了。至於動機,說來話長。先允許我矯情的自我介紹一下。

我的成長環境相對來說比較封閉,傳統甚至是嚴苛。導致我性格當中有很多緊張的成分,同時不善於交往。直到碰到爲數不多的朋友前,我的人際關係包括個人感情,不出所料的“一塌糊塗”。於是某一時刻,我想結束這種自卑與尷尬。

我的選擇也許你不能理解——探索“人工智能”。

因爲我不能左右逢源,因爲不能做大衆眼中的“聰明人”,所以我想用這種方式去接近“智能”這個概念。以此探究什麼是“聰明”

因爲我總是遭遇“尷尬”,所以我想用探究“智能”的方式來理解“成長”或者說“學習”的本質。

所以我所寫的文章,我所做的思考,總在把“智能學習”投射到“人生思考”上。我不知道有沒有造成“牽強”的感覺,實際上我只是在儘量表達我的理解。

研究生我選擇模式識別和圖像處理,那一刻我覺得自己充滿了力量,不在寄託他人或他物來尋求內心的平衡。

接下來的學習並沒有令我失望。實際上當第一次接觸到“感知機”——最簡單的機器學習模型時,我有種豁然開朗的感覺。

感知機,模仿神經元,是神經網絡中的基本單元。

它有多個輸入,一個輸出。

輸入後,每個輸入Xi乘以相應權重Wi相加,其總和再通過與閾值B相減,得到一個大於等於0或小於0的值,若大於0,輸出1,否則輸出-1。

現在如果感知機被訓練“成熟”,能正確輸出“+1”、“-1”,判斷“是”、“非”。即,將所有樣本點正確分類。那麼想象它的權重向量W和偏移B,構成了一個超平面。這個超平面把這個世界一分爲二,若一邊“是”的樣本,一邊“非”的樣本,它本身,就是是非的準則。

在面對兩類樣本,要完成“是”與“非”的判斷時

感知器傻傻的伸出一條線Y=WX+B(此時W,B有隨機性),試圖探索。然而除非你是“神派來的寵兒”,否則面對新的事物,無法“一蹴而就”。

事實是這樣,感知器毫不意外地得到了錯誤的分類。即:我們在對的世界裏抽取一個樣本x給感知器就判斷,試圖得到+1。但是由於錯誤的判斷,感知器返回了-1。

也就是按照剛纔那條直線y=wx+b去探索,得到y=-1。

此時的感知器不會像人一樣陷入自責、畏懼,而是自然而然的調整方向。

怎麼調整?既然不對,我就回頭。

怎麼回頭?

首先調整“是非”判斷整體傾向,再向本次經驗“對”的方向靠攏。

如果用繪製圖像來闡述,那就是,如果“是”判斷成了“非”,超平面首先朝“是”的反方向平移,相當於降低閾值。這樣造成我們判斷的結果整體傾向於“是”。

接着,我們假設此時空間樣本點爲X0,那麼其正確結果應爲“是”,即“+1”,我們把空間點(X0,1)構成的向量稱作V,是我們期待的正確方向;現在我們的分類超平面Y=WX+B,試圖朝着方向V旋轉,以做調整。

這種調整如何得來,爲什麼它是正確的?

因爲如果我們把X0樣本點進行了錯誤歸類,產生錯誤結果-1。那麼這次錯誤的損失可以量化爲-(WX0+B)。當X0已知,我們想針對(W,B)尋求一種變化,這種變化的結果使以上損失接近最小值,那就是沿着的梯度方向走,也就是朝變化最快的方向調整。

-WX0-B分別對W,B求偏導,得出最佳調整方向(-X0,-1)

W=W-X0

B=B-1

如果直觀一點來講,如果你認爲一個人禿頂程度象徵一個人的猥瑣程度,那麼猥瑣到一定程度你把他歸類爲一個“壞人”。

直到有一天你遇到一個禿頂的程序員,你發現他很善良。這個事實對你來說,就是樣本X0。

於是你開始調整自己關於“猥瑣”這個觀念的分類線Y=WX+B。

首先你調整B,把分類爲“壞人”的閾值提高,也就是說,不再輕易把一個人定義爲“壞人”。

B=B-1。

第二步你調整W,因爲之前你認爲禿頂是猥瑣的,所以錯判了一個安分的人,所以你現在朝着相反的方向改變這個觀念,當然不是從此判定“禿頂”是不猥瑣的,而是,以前認爲“禿頂”是“猥瑣”的觀念不再那麼根深蒂固,換句話來說,你並未因爲照顧這個樣本走到另一個極端,而是背離這個帶給你一次錯誤的觀念,回頭那麼一點點。

W=W-X0。

當然人是立體的,你判斷一個人,一個事物也是立體的,所以你觀念中的維數,不止上述一維。多維情況只是一維的簡單擴展。

用簡單一點的話概括,如果產生錯誤的判斷。先調整閾值,再在每一維參與判斷的權重中,向相反的方向回頭調整

不用畏懼笨手笨腳,學習的本質就是實踐和探索,在“樣本”之間調整,而這個調整,也沒想象的那麼複雜,遇到“不對”的,回頭就是。無數次碰壁與回頭,總能找到最佳的是非狀態。

然而,回頭,是走向另一種極端嗎?不是,是在前面的經驗的調整而已

那麼,爲什麼我們自信可以用這種方法調整到最佳分類狀態。因爲感知機的收斂性早已得到了充分的證明。

感知機算法在訓練數據集上的誤分類次數k滿足不等式

這個收斂性證明是建立在兩個假設上(證明略)

(1)假設樣本是線性可分的,即存在一個最優超平面將兩類樣本分開。樣本點到最優分類面的最短距離爲

(2)假設樣本點的長度是有上界的。上界爲

誤分類的次數k是有上界的,經過有限次搜索可以找到將訓練數據完全正確分開的分離超平面。

也就是有限次嘗試,我們可以達到最佳狀態。

我們經常畏懼失敗,焦慮,強迫自己學會應對複雜的問題,多次失敗後往往把我們打擊的體無完膚。但是卻忽略了簡單的本質,感知機怎麼看起來像個傻傻的但不屈不撓的自己呢。這個世界給你帶來的痛苦,只不過是你所經歷的“樣本”罷了,take it easy,你只要學會調整,回頭,不要走到極端,你總會找到那個最佳的狀態。

當然,也可能不止這麼簡單。

比如這個世界很複雜,那麼就是說判斷的維數很高,那麼我們就提高樣本的數量使“分類器”正確,就是我們遇到的事情越複雜,我們經歷的嘗試就應該越多,才能不落入“片面”或“不成熟”的看法。

比如這個世界是非難分,那就是碰到了“線性不可分”的樣本,那麼我們就增加認識的深度,也就是給樣本增加維度去看(支持向量機),它也許,就變得清晰可分了。

總而言之,我對“智能”“學習”的粗淺感悟就是,這個世界總是客觀的,收起對它過度的情緒,置身物外,拿起理智,嘗試去認識它。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章