分類:版權(quán)聲明:本文為博主原創(chuàng)文章,未經(jīng)博主允許不得轉(zhuǎn)載。
感知機(jī)(perceptron)由Rosenblatt于1957年提出,是神經(jīng)網(wǎng)絡(luò)與支持向量機(jī)的基礎(chǔ)。
感知機(jī)是最早被設(shè)計(jì)并被實(shí)現(xiàn)的人工神經(jīng)網(wǎng)絡(luò)。感知機(jī)是一種非常特殊的神經(jīng)網(wǎng)絡(luò),它在人工神經(jīng)網(wǎng)絡(luò)的發(fā)展史上有著非常重要的地位,盡管它的能力非常有限,主要用于線性分類。
感知機(jī)還包括多層感知機(jī),簡單的線性感知機(jī)用于線性分類器,多層感知機(jī)(含有隱層的網(wǎng)絡(luò))可用于非線性分類器。本文中介紹的均是簡單的線性感知機(jī)。

圖 1
感知機(jī)工作方式:
(1)、學(xué)習(xí)階段:修改權(quán)值和偏置,根據(jù)”已知的樣本”對權(quán)值和偏置不斷修改----有監(jiān)督學(xué)習(xí)。當(dāng)給定某個樣本的輸入/輸出模式對時,感知機(jī)輸出單元會產(chǎn)生一個實(shí)際輸出向量,用期望輸出(樣本輸出)與實(shí)際輸出之差來修正網(wǎng)絡(luò)連接權(quán)值和偏置。
(2)、工作階段:計(jì)算單元變化,由響應(yīng)函數(shù)給出新輸入下的輸出。
感知機(jī)學(xué)習(xí)策略:
感知機(jī)學(xué)習(xí)的目標(biāo)就是求得一個能夠?qū)⒂?xùn)練數(shù)據(jù)集中正負(fù)實(shí)例完全分開的分類超平面,為了找到分類超平面,即確定感知機(jī)模型中的參數(shù)w和b,需要定義一個基于誤分類的損失函數(shù),并通過將損失函數(shù)最小化來求w和b。
(1)、數(shù)據(jù)集線性可分性:在二維平面中,可以用一條直線將+1類和-1類完美分開,那么這個樣本空間就是線性可分的。因此,感知機(jī)都基于一個前提,即問題空間線性可分;
(2)、定義損失函數(shù),找到參數(shù)w和b,使得損失函數(shù)最小。
損失函數(shù)的選取:
(1)、損失函數(shù)的一個自然選擇就是誤分類點(diǎn)的總數(shù),但是這樣的點(diǎn)不是參數(shù)w,b的連續(xù)可導(dǎo)函數(shù),不易優(yōu)化;
(2)、損失函數(shù)的另一個選擇就是誤分類點(diǎn)到劃分超平面S(w*x+b=0)的總距離。

以上理論部分主要來自: http://staff.ustc.edu.cn/~qiliuql/files/DM2013/2013SVM.pdf
以下代碼根據(jù)上面的描述實(shí)現(xiàn):
perceptron.hpp:
[cpp] view plain copyGitHub:https://github.com/fengbingchun/NN
新聞熱點(diǎn)
疑難解答
圖片精選