深度學習0—感知機+BP神經網絡

感知機模型

基本原理

感知機的思想很簡單,比如我們在一個平臺上有很多的男孩女孩,感知機的模型就是嘗試找到一條直線,能夠把所有的男孩和女孩隔離開。放到三維空間或者更高維的空間,感知機的模型就是嘗試找到一個超平面,能夠把所有的二元類別隔離開。當然你會問,如果我們找不到這麼一條直線的話怎麼辦?找不到的話那就意味着類別線性不可分,也就意味着感知機模型不適合你的數據的分類。使用感知機一個最大的前提,就是數據是線性可分的。這嚴重限制了感知機的使用場景。它的分類競爭對手在面對不可分的情況時,比如支持向量機可以通過核技巧來讓數據在高維可分,神經網絡可以通過激活函數和增加隱藏層來讓數據可分。
在這裏插入圖片描述
在這裏插入圖片描述
一條記錄一條記錄的實驗,修正參數,直到所有的數據集都通過,此時的w即爲最終的參數。

實例分析

在這裏插入圖片描述
解答:
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

不同隱層數感知器的分類能力

在這裏插入圖片描述

BP神經網絡模型與學習算法

BP算法基本原理

簡單的說:
利用輸出後的誤差來估計輸出層的直接前導層的誤差,
再用這個誤差估計更前一層的誤差,如此一層一層的反
傳下去,就獲得了所有其他各層的誤差估計。
詳細一點:
基本BP算法包括信號的前向傳播和誤差的反向傳播兩個過程。即計算誤差輸出時按從輸入到輸出的方向進行,而調整權值和閾值則從輸出到輸入的方向進行。正向傳播時,輸入信號通過隱含層作用於輸出節點,經過非線性變換,產生輸出信號,若實際輸出與期望輸出不相符,則轉入誤差的反向傳播過程。誤差反傳是將輸出誤差通過隱含層向輸入層逐層反傳,並將誤差分攤給各層所有單元,以從各層獲得的誤差信號作爲調整各單元權值的依據。通過調整輸入節點與隱層節點的聯接強度和隱層節點與輸出節點的聯接強度以及閾值,使誤差沿梯度方向下降,經過反覆學習訓練,確定與最小誤差相對應的網絡參數(權值和閾值),訓練即告停止。此時經過訓練的神經網絡即能對類似樣本的輸入信息,自行處理輸出誤差最小的經過非線形轉換的信息。

BP神經網絡模型

在這裏插入圖片描述

優劣勢

BP神經網絡無論在網絡理論還是在性能方面已比較成熟。其突出優點就是具有很強的非線性映射能力和柔性的網絡結構。網絡的中間層數、各層的神經元個數可根據具體情況任意設定,並且隨着結構的差異其性能也有所不同。但是BP神經網絡也存在以下的一些主要缺陷。
學習速度慢,即使是一個簡單的問題,一般也需要幾百次甚至上千次的學習才能收斂。
容易陷入局部極小值
網絡層數、神經元個數的選擇沒有相應的理論指導
網絡推廣能力有限。 對於上述問題,已經有了許多改進措施,研究最多的就是如何加速網絡的收斂速度和儘量避免陷入局部極小值的問題。