文章目錄
- 前言
- 一、生物神經元與感知器的類比
- 二、感知器
- 1、簡單感知器
- 2、多層感知器
- (1)多層感知機結構
- 3、神經網絡結構
- 總結
- 1、感知器的局限性
- 如何突破感知器的局限性?
- 2、感知器的應用
前言
感知器(Perceptron)是神經網絡發展歷程中的基礎模型,由美國科學家 Frank Rosenblatt 在 1957 年提出。它模擬了生物神經元的工作方式,是構建更復雜神經網絡的基石。
一、生物神經元與感知器的類比
生物神經元是神經系統的基本單元,主要由樹突、細胞體和軸突組成。樹突接收來自其他神經元的信號,細胞體對這些信號進行整合,當信號強度超過一定閾值時,軸突會將處理后的信號傳遞給其他神經元。
感知器借鑒了生物神經元的工作機制,它接收多個輸入信號,對這些輸入進行加權求和,然后通過一個激活函數進行處理,當輸出超過一定閾值時,感知器輸出一個信號。
二、感知器
1、簡單感知器
由兩層神經元組成的神經網絡–“感知器”(Perceptron),感知器只能線性劃分數據。
公式是線性代數方程組,因此可以用矩陣乘法來表達這兩個公式
輸出的結果與訓練集標簽進行損失函數計算,與邏輯回歸基本一致。
神經網絡的本質:通過參數與激活函數來擬合特征與目標之間的真實函數關系。但在一個神經網絡的程序中,不需要神經元和線,本質上是矩陣的運算,實現一個神經網絡最需要的是線性代數庫。
2、多層感知器
(1)多層感知機結構
增加了一個中間層。即隱含層
神經網絡可以做非線性分類的關鍵–隱藏層。
假設我們的預測目標是一個向量,那么與前面類似,只需要在“輸出層”再增加節點即可。
(2)多層感知器偏置結點
在神經網絡中需要默認增加偏置神經元(節點),這些節點是默認存在的。它本質上是一個只含有存儲功能,且存儲值永遠為1的單元。在神經網絡的每個層次中,除了輸出層以外,都會含有這樣一個偏置單元。
偏置節點沒有輸入(前一層中沒有箭頭指向它)。一般情況下,我們都不會明確畫出偏置節點。
3、神經網絡結構
輸入層的節點數:與特征的維度匹配
輸出層的節點數:與目標的維度匹配。
中間層的節點數:目前業界沒有完善的理論來指導這個決策。一般是根據經驗來設置。較好的方法就是預先設定幾個可選值,通過切換這幾個值來看整個模型的預測效果,選擇效果最好的值作為最終選擇。
1、設計一個神經網絡時,輸入層與輸出層的節點數往往是固定的,中間層則可以自由指定;
2、神經網絡結構圖中的拓撲與箭頭代表著預測過程時數據的流向,跟訓練時的數據流有一定的區別;
3、結構圖里的關鍵不是圓圈(代表“神經元”),而是連接線(代表“神經元”之間的連接)。每個連接線對應一個不同的權重(其值稱為權值),這是需要訓練得到的。
總結
1、感知器的局限性
感知器雖然是神經網絡的基礎,但它存在一定的局限性:
只能處理線性可分問題:感知器只能對線性可分的數據進行分類,對于線性不可分的數據(如異或問題),感知器無法收斂到一個正確的解。
缺乏隱藏層:簡單感知器沒有隱藏層,這限制了它的表達能力,無法處理復雜的非線性映射。
如何突破感知器的局限性?
(1) 多層感知器(MLP)與非線性激活函數
引入隱藏層:通過疊加多個感知器層(輸入層→隱藏層→輸出層),形成多層網絡,能夠學習非線性決策邊界。例如,XOR問題可以通過一個包含隱藏層的網絡解決。
激活函數升級:用Sigmoid、ReLU等非線性函數替代階躍函數,使網絡具備非線性表達能力。例如:
Sigmoid函數:
?ReLU函數:
(2) 反向傳播算法
通過鏈式法則計算梯度,逐層調整權重,使多層網絡的訓練成為可能。這是感知器無法實現的。
(3) 多分類擴展
使用Softmax激活函數和交叉熵損失函數,將輸出擴展到多類別概率分布。
2、感知器的應用
盡管存在局限性,感知器在一些簡單的分類問題中仍然有應用,例如:
二分類問題:可以用于區分兩個不同類別的數據,如判斷郵件是否為垃圾郵件、判斷圖像中是否包含特定物體等。
早期神經網絡的基礎:感知器為后續更復雜神經網絡的發展奠定了基礎,許多神經網絡的訓練算法和結構都是在感知器的基礎上發展而來的。