多層感知器的機器學習之討論
多層感知器機器的學習過程是用反向傳播誤差算法(backpropagation)來迭代調整網絡參數這個算法由最小二乘法導出使得輸入樣本的標記與對應的輸出節點類別判斷的平均誤差最小通過多次迭代的實驗準確率可以達到預期的精度用這個調整好參數的神經網絡來識別新輸入的手寫體數字也能夠取得了超過90%的預測準確率值得注意的是這個數學模型即它所描述的神經網絡功能是通用的同一個神經網絡的機器可以用它來學習識別手寫體字也可以用來區分債券的等級對債券需要的是描述債券屬性的訓練樣本來供給機器學習債券的知識同一個算法的機器可以用不同的樣本數據賦予機器不同的知識和智能機器的學習能力即智商只受數學模型對數據不同模式的表達能力所限參數越多表達能力越強
通常用多元線性函數和非線性作用函數的簡單組合來表示數值規律和劃分類別模式實用中的線性函數參數是以萬計到百億計的數量這樣的數學模型雖然很簡單卻因參數數量的巨大能夠實現復雜的功能從而足以涵蓋各種預測和辨識情況在數學上這類通過調整模型參數來減少誤差和應用模型預測的算法都是精確有效的但也因變量個數的巨大難以分析由輸入到輸出每一步的變化規則無從歸納成像物理規律那樣簡單明晰的因果性機制無法用人腦跟蹤邏輯推演的角度來直觀地理解它的功能
也許有人認為既然計算機里的軟件是人寫的機器不過是實現人給予的功能怎么算是機器學習
這種想法混淆了人賦予的功能和機器自己獲得的功能20世紀50年代的感知器(perceptron)是純粹用硬件實現的機器學習當時用不上計算機更談不上軟件那時用了400個光學傳感器以及電動機滑動電阻和控制電路等來實現感知器它學會辨識貓狗和魚等的簡單圖像這個感知器相當于神經網絡中的一個神經元現代神經網絡具有千萬個神經元可以實現非常復雜的辨識問題計算機和軟件只是方便地用來模擬神經網絡的硬件功能的手段現在的訓練樣本也同樣是人供給的但機器能通過傳感器和網絡自己收集樣本數據在原則上并沒有什么不可克服的障礙例如自動駕駛汽車的機器學習就是機器通過記錄車速油門剎車方向盤轉角和路況的視頻等作為訓練機器的樣本數據盡管如此機器的學習功能確實是人給予的但給予的只是學習的能力機器通過訓練的樣本自己獲得相關的專門知識和由此而來的智能這就像人類小孩是父母生養的但知識和能力卻是自己通過學習獲得的