這篇文章我將從感知機與神經網絡的聯系與差異進行小結。
感知機是一個二分類器,能夠根據輸入的特征將數據劃分為兩個類別,其過程就是使用一個直線或超平面將兩類數據分開。它的基本結構包括輸入、權重和激活函數。但是,感知機只能處理線性可分的問題。它依賴于一個全局最優解,可能會陷入局部最優解的困境。當我們處理復雜的分類問題時,需借助多層感知機。比如采用與電路,或、與非電路組合構成異或電路。多層感知機由多個隱藏層構成,每個隱藏層包含多個神經元。而從多層感知機到神經網絡,只需將激活函數從階躍函數修改為ReLU函數。相較于早期使用的sigmoid函數,ReLU函數更簡單,求導的復雜度更低,而且能緩解梯度消失的問題。
我們為什么要引進神經網絡呢?即使是計算機進行的復雜處理,理論上感知機也可以將其表示出來,但是設定權重的工作需由人工進行。而神經網絡可以自動地從數據中學習到合適的權重參數。常見的有兩種算法,前向傳播和反向傳播。前向傳播指從輸入層開始,通過每一層的加權和激活函數,將信號傳遞到下一層,每個神經元會接收上一層的輸出,并根據權重和激活函數計算自己的輸出,這個過程一直持續到輸出層,產生最終的預測結果。反向傳播是一種訓練多層感知機的常用方法,通過計算預測結果與真實結果之間的誤差,然后沿著網絡反向調整權重,以最小化誤差。