感知機與BP神經網絡

一、感知機
1、感知機簡介

在這裏插入圖片描述
感知機是用於二分類的線性分類模型,其輸入是實例的特徵向量,輸出是實例的類別,類別取+1和-1二個值,+1代表正類,-1代表負類。
上圖的圓圈就代表一個感知器。它接受多個輸入(x1,x2,x3…),產生一個輸出(output),好比神經末梢感受各種外部環境的變化,最後產生電信號。
2、感知機模型
感知機是二分類的線性分類模型,兩類的分離超平面。感知機旨在求出該超平面,爲求得超平面導入了基於誤分類的損失函數,利用梯度下降法對損失函數進行最優化(最優化)。
定義(感知機):
假設輸入空間(特徵向量)是 χ⊆Rn,輸出空間爲Y={+1,−1},輸入x⊆χ表示實例的特徵向量,對應於輸入空間的點;輸出 y⊆Y表示實例的類別,則由輸入空間到輸出空間的表達形式爲:

在這裏插入圖片描述
稱爲感知機,其中w叫作權值,b叫作偏置。sign是符號函數,即:
在這裏插入圖片描述

損失函數
假設訓練數據線性可分,爲了找到這個平面需要確定一個學習策略,即定義(經驗)損失函數並將損失函數極小化。爲此,我們首先計算任意一點x0到超平面S的距離:

在這裏插入圖片描述
這裏,||w||是w的L2範數。
其次,對於誤分類數據來說,
在這裏插入圖片描述
損失函數是所有誤分類點的集合:

在這裏插入圖片描述

感知機學習算法是誤分類驅動的,具體採用隨機梯度下降法。首先任意選取一個超平面w0,b0,然後用梯度下降法不斷地極小化目標函數.感知機模型選擇的是採用隨機梯度下降,這意味着我們每次僅僅需要使用一個誤分類的點來更新梯度。
在這裏插入圖片描述
原始形式
輸入:訓練數據集T={(x1,y1),(x2,y2),…,(xN,yN)}

其中,xi∈χ=R n, yi∈γ={+1,−1}, i=1,2,…,N,學習率η(0<η≤1)
輸出:w,b,感知機模型f(x)=sign(w*x+b)
1.選出初值w0,b0
2.在訓練集中選取數據(xi,yi)
3.如果yi(w⋅xi+b)≤0
w←w+ηyixi
b←b+ηyi

4.轉至2,直到訓練集中沒有誤分類點。
二、BP神經網絡
1、概念
BP神經網絡是一種按照誤差逆向傳播算法訓練的多層前饋神經網絡,其算法稱爲BP算法,即每次根據訓練得到的結果與預想結果進行誤差分析,進而修改權值和閾值,一步一步得到能輸出和預想結果一致的模型。
下面是一個簡單的BP神經網絡示意圖。其擁有一個輸入層,一個隱含層,一個輸出層。
在這裏插入圖片描述
2、神經網絡的特點

  1. 神經元按照層來佈局。最左邊的層叫做輸入層,負責接收輸入數據;最右邊的層叫輸出層,我們可以從這層獲取神經網絡輸出數據。輸入層和輸出層之間的層叫做隱藏層,因爲它們對於外部來說是不可見的;
  2. 同一層的神經元之間沒有連接;
  3. 第N層的每個神經元和第N-1層的所有神經元相連,第N-1層神經元的輸出就是第N層神經元的輸入;
  4. 每個連接都有一個權值。

參考:https://blog.csdn.net/daaikuaichuan/article/details/81135802blog.csdnimg.cn/20190930192633523.png) https://www.cnblogs.com/jin-liang/p/9713118.html https://blog.csdn.net/daaikuaichuan/article/details/81135802