從線性回歸、感知機到神經(jīng)網(wǎng)絡

線性回歸、機器學習、感知機到神經(jīng)網(wǎng)絡

線性回歸和機器學習


線性回歸

首先簡單介紹一下機器學習是什么。從二維圖像上取一些點,盡可能繪出一條擬合這些點的直線。你剛才做的就是從幾對輸入值(x)和輸出值(y)的實例中概括出一個一般函數(shù),任何輸入值都會有一個對應的輸出值。這叫做線性回歸,一個有著兩百年歷史從一些輸入輸出對組中推斷出一般函數(shù)的技巧。這就是它很棒的原因:很多函數(shù)難以給出明確的方程表達,但是,卻很容易在現(xiàn)實世界搜集到輸入和輸出值實例——比如,將說出來的詞的音頻作為輸入,詞本身作為輸出的映射函數(shù)。

線性回歸對于解決語音識別這個問題來說有點太無用,但是,它所做的基本上就是監(jiān)督式機器學習:給定訓練樣本,「學習」一個函數(shù),每一個樣本數(shù)據(jù)就是需要學習的函數(shù)的輸入輸出數(shù)據(jù)。尤其是,機器學習應該推導出一個函數(shù),它能夠很好地泛化到不在訓練集中的輸入值上,既然我們真的能將它運用到尚未有輸出的輸入中。例如,谷歌的語音識別技術(shù)由擁有大量訓練集的機器學習驅(qū)動,但是,它的訓練集也不可能大到包含你手機所有語音輸入。

泛化能力機制如此重要,以至于總會有一套測試數(shù)據(jù)組(更多的輸入值與輸出值樣本)這套數(shù)據(jù)組并不包括在訓練組當中。通過觀察有多少個正確計算出輸入值所對應的輸出值的樣本,這套單獨數(shù)據(jù)組可以用來估測機器學習技術(shù)有效性。概括化的克星是過度擬合——學習一個對于訓練集有效但是卻在測試數(shù)據(jù)組中表現(xiàn)很差的函數(shù)。既然機器學習研究者們需要用來比較方法有效性的手段,隨著時間的推移,標準訓練數(shù)據(jù)組以及測試組可被用來評估機器學習算法。

感知機

事實上線性回歸和機器學習一開始的方法構(gòu)想,弗蘭克· 羅森布拉特(Frank Rosenblatt)的感知機, 有些許相似性。


感知機

心理學家Rosenblatt構(gòu)想了感知機,它作為簡化的數(shù)學模型解釋大腦神經(jīng)元如何工作:它取一組二進制輸入值(附近的神經(jīng)元),將每個輸入值乘以一個連續(xù)值權(quán)重(每個附近神經(jīng)元的突觸強度),并設立一個閾值,如果這些加權(quán)輸入值的和超過這個閾值,就輸出1,否則輸出0(同理于神經(jīng)元是否放電)。對于感知機,絕大多數(shù)輸入值不是一些數(shù)據(jù),就是別的感知機的輸出值。

這一關于神經(jīng)元的模型是建立在沃倫·麥卡洛克(Warren McCulloch)和沃爾特·皮茲(Walter Pitts)工作上的。他們曾表明,把二進制輸入值加起來,并在和大于一個閾值時輸出1,否則輸出0的神經(jīng)元模型,可以模擬基本的或/與/非邏輯函數(shù)。這在人工智能的早期時代可不得了——當時的主流思想是,計算機能夠做正式的邏輯推理將本質(zhì)上解決人工智能問題。

麥卡洛克-皮茲模型缺乏一個對AI而言至關重要的學習機制。這就是感知機更出色的地方所在——羅森布拉特受到唐納德·赫布(Donald Hebb) 基礎性工作的啟發(fā),想出一個讓這種人工神經(jīng)元學習的辦法。赫布提出了一個出人意料并影響深遠的想法,稱知識和學習發(fā)生在大腦主要是通過神經(jīng)元間突觸的形成與變化,簡要表述為赫布法則:

當細胞A的軸突足以接近以激發(fā)細胞B,并反復持續(xù)地對細胞B放電,一些生長過程或代謝變化將發(fā)生在某一個或這兩個細胞內(nèi),以致A作為對B放電的細胞中的一個,效率增加。

感知機并沒有完全遵循這個想法,但通過調(diào)輸入值的權(quán)重,可以有一個非常簡單直觀的學習方案:給定一個有輸入輸出實例的訓練集,感知機應該「學習」一個函數(shù):對每個例子,若感知機的輸出值比實例低太多,則增加它的權(quán)重,否則若設比實例高太多,則減少它的權(quán)重。

羅森布拉特用定制硬件的方法實現(xiàn)了感知機的想法(在花哨的編程語言被廣泛使用之前),展示出它可以用來學習對20×20像素輸入中的簡單形狀進行正確分類。自此,機器學習問世了——建造了一臺可以從已知的輸入輸出對中得出近似函數(shù)的計算機。

很重要的是,這種方法還可以用在多個輸出值的函數(shù)中,或具有多個類別的分類任務。這對一臺感知機來說是不可能完成的,因為它只有一個輸出,但是,多輸出函數(shù)能用位于同一層的多個感知機來學習,每個感知機接收到同一個輸入,但分別負責函數(shù)的不同輸出。實際上,神經(jīng)網(wǎng)絡(準確的說應該是「人工神經(jīng)網(wǎng)絡(ANN,Artificial Neural Networks)」)就是多層感知機(今天感知機通常被稱為神經(jīng)元)而已,只不過在這個階段,只有一層——輸出層。所以,神經(jīng)網(wǎng)絡的典型應用例子就是分辨手寫數(shù)字。輸入是圖像的像素,有10個輸出神經(jīng)元,每一個分別對應著10個可能的數(shù)字。在這個案例中,10個神經(jīng)元中,只有1個輸出1,權(quán)值最高的和被看做是正確的輸出,而其他的則輸出0。


多感知機層

感知機的缺點

感知機是線性的模型,其不能表達復雜的函數(shù),不能出來線性不可分的問題,其連異或問題(XOR)都無法解決,因為異或問題是線性不可分的,怎樣解決這個問題呢,通常有兩種做法。

其一:用更多的感知機去進行學習,這也就是人工神經(jīng)網(wǎng)絡的由來。

其二:用非線性模型,核技巧,如SVM進行處理。

神經(jīng)網(wǎng)絡

神經(jīng)網(wǎng)絡實際上就是將大量之前講到的感知機進行組合,用不同的方法進行連接并作用在不同的激活函數(shù)上。

我們簡單介紹下前向神經(jīng)網(wǎng)絡,其具有以下屬性:

1. 一個輸入層,一個輸出層,一個或多個隱含層。上圖所示的神經(jīng)網(wǎng)絡中有一個四神經(jīng)元的輸入層、一個三神經(jīng)元的隱含層、一個二神經(jīng)元的輸出層。

2. 每一個神經(jīng)元都是一個上文提到的感知機。

3.輸入層的神經(jīng)元作為隱含層的輸入,同時隱含層的神經(jīng)元也是輸出層神經(jīng)元的輸入。

4. 每條建立在神經(jīng)元之間的連接都有一個權(quán)重w(與感知機中提到的權(quán)重類似)。

5. 在t層的每個神經(jīng)元通常與前一層(t - 1層)中的每個神經(jīng)元都有連接(但你可以通過將這條連接的權(quán)重設為0來斷開這條連接)。

6. 為了處理輸入數(shù)據(jù),將輸入向量賦到輸入層中。然后這些值將被傳播到隱含層,通過加權(quán)傳遞函數(shù)傳給每一個隱含層神經(jīng)元(這就是前向傳播),隱含層神經(jīng)元再計算輸出(激活函數(shù))。

7. 輸出層和隱含層一樣進行計算,輸出層的計算結(jié)果就是整個神經(jīng)網(wǎng)絡的輸出。

如果每一個感知機都只能使用一個線性激活函數(shù)會怎么樣?整個網(wǎng)絡的最終輸出也仍然是將輸入數(shù)據(jù)通過一些線性函數(shù)計算過一遍,只是用一些在網(wǎng)絡中收集的不同權(quán)值調(diào)整了一下。換名話說,再多線性函數(shù)的組合還是線性函數(shù)。如果我們限定只能使用線性激活函數(shù)的話,前饋神經(jīng)網(wǎng)絡其實比一個感知機強大不到哪里去,無論網(wǎng)絡有多少層。正是這個原因,大多數(shù)神經(jīng)網(wǎng)絡都是使用的非線性激活函數(shù),如對數(shù)函數(shù)、雙曲正切函數(shù)、階躍函數(shù)、整流函數(shù)等。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 寫下“我是誰”這個標題時想起兩句話“我思故我在”,“我從來處來,到去處去?!蓖蝗挥X得這是一個很大的哲學命題,好像還...
    行云流水joy閱讀 322評論 0 3
  • 版權(quán)信息 文章版權(quán)更好時代原創(chuàng)出品 執(zhí)筆作者蘇溪(已簽約) 正文字數(shù)1540字 閱讀時間5分鐘 首發(fā)日期2017年...
    更好時代閱讀 294評論 0 1

友情鏈接更多精彩內(nèi)容