資源描述:
《線性分類器規(guī)劃設(shè)計(jì)與非線性分類器規(guī)劃設(shè)計(jì).doc》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、作業(yè)1:線性分類器設(shè)計(jì)1、問(wèn)題描述將4個(gè)輸入矢量分為兩類,其中兩個(gè)矢量對(duì)應(yīng)的目標(biāo)值為1,另兩個(gè)矢量對(duì)應(yīng)的目標(biāo)值為0。輸入矢量為P=[-0.5-0.50.30-0.50.5-0.31]目標(biāo)分類矢量為T(mén)=[1100]2、算法描述采用單一感知器神經(jīng)元來(lái)解決這個(gè)簡(jiǎn)單的分類問(wèn)題。感知器(perceptron)是由美國(guó)學(xué)者F.Rosenblatt于1957年提出的,它是一個(gè)具有單層計(jì)算神經(jīng)元的神經(jīng)網(wǎng)絡(luò),并由線性閾值單元組成。當(dāng)它用于兩類模式的分類時(shí),相當(dāng)于在高維樣本空間中,用一個(gè)超平面將兩類樣本分開(kāi)。兩類樣本線性情況下,線性判別函數(shù)可描述為,其中是
2、權(quán)向量,是閾值。假設(shè)兩類樣本線性可分,則一定存在一個(gè)由定義的超平面,滿足,其中。定義感知器代價(jià)函數(shù)為,其中Y是訓(xùn)練向量的子集,是權(quán)向量w定義的超平面錯(cuò)誤分類的部分。變量;。為了計(jì)算出代價(jià)函數(shù)的最小迭代值,利用梯度下降法設(shè)計(jì)迭代方案,即其中,代入得這種算法稱為感知器算法。這個(gè)算法從任意權(quán)向量w(0)開(kāi)始初始化,通過(guò)錯(cuò)誤分類特征形成修正向量。如此重復(fù)到算法收斂于解,即所有的特征向量都正確的分類??梢宰C明,如果兩類模式是線性可分的,則算法一定收斂。感知器特別適合用于簡(jiǎn)單的模式分類問(wèn)題。3、算法的實(shí)現(xiàn)Matlab源程序如下:0.50.30;-0
3、.50.5-0.51];t=[1100];[w,b]=initp(p,t)%初始化感知器plotpv(p,t)%繪制輸入矢量plotpc(w,b)%繪制分類線pause[w,b,epochs,errors]=trainp(w,b,p,t,-1)%訓(xùn)練感知器pauseploterr(errors);%繪制誤差圖4、分類結(jié)果和討論圖1為分類結(jié)果,圖中的實(shí)線將兩類分開(kāi)。經(jīng)過(guò)6步達(dá)到誤差要求,訓(xùn)練結(jié)束。誤差變化曲線如圖2所示。圖1圖2經(jīng)過(guò)訓(xùn)練后,網(wǎng)絡(luò)的權(quán)值和閾值分別為w=-2.9871-0.4630b=-0.3572訓(xùn)練結(jié)束后,驗(yàn)證p=[-0.
4、5;-0.2];a=simup(p,w,b)運(yùn)行結(jié)果為a=1屬1類可見(jiàn),單層感知器算法可用于簡(jiǎn)單的線性分類問(wèn)題。作業(yè)2:非線性分類器設(shè)計(jì)1、問(wèn)題描述設(shè)計(jì)分類器實(shí)現(xiàn)同或運(yùn)算。同或問(wèn)題的真值表為X1X2同或運(yùn)算結(jié)果類0011010010001111用一條直線是不能將這兩類分開(kāi)的,可考慮非線性分類算法設(shè)計(jì)分類器。2、算法描述(1)雙層感知器算法單層感知器神經(jīng)網(wǎng)絡(luò)不能解決線性不可分的輸入矢量的分類問(wèn)題,解決這一問(wèn)題的辦法是輸入的線性不可分矢量進(jìn)行預(yù)處理。雙層感知器算法就是采用兩層感知器神經(jīng)元,先將線性不可分問(wèn)題轉(zhuǎn)化為線性可分問(wèn)題,再進(jìn)行分類的。
5、算法分為兩個(gè)階段,第一階段的映射將非線性可分問(wèn)題轉(zhuǎn)換為線性可分問(wèn)題,通過(guò)第一層的神經(jīng)元完成第一階段的計(jì)算,它們構(gòu)成隱層(hiddenlayer),將輸入向量x映射到新向量y,即第二階段是基于轉(zhuǎn)換數(shù)據(jù)實(shí)現(xiàn)分類,通過(guò)第二層神經(jīng)元實(shí)現(xiàn)運(yùn)算,構(gòu)成輸出層(outputlayer),得出決策方程。即(2)徑向基函數(shù)算法若定義函數(shù)變量為從中心點(diǎn)ci與輸入向量的歐式距離,即,則稱該函數(shù)為徑向基函數(shù)(RadialBasisFunction,RBF)。函數(shù)f可有多種形式,例如高斯形式被廣泛使用。徑向基函數(shù)網(wǎng)絡(luò)的結(jié)構(gòu)包括兩層,即隱層和輸出層,隱層為徑向基層(
6、radbas),利用徑向基函數(shù)將非線性問(wèn)題轉(zhuǎn)換為線性問(wèn)題,輸出層為線性層(pureline),將轉(zhuǎn)換后的樣本用線性分類方法進(jìn)行分類。3、算法的實(shí)現(xiàn)與分類結(jié)果(1)雙層感知器算法Matlab源程序?yàn)椋簆=[0011;0101];t=[1001];s1=2;[w1,b1]=initp(p,s1)[w2,b2]=initp(s1,t)plotpv(p,t)plotpc(w1,b1)pausea1=simup(p,w1,b1);[w2,b2,epochs,errors]=trainp(w2,b2,a1,t,[-1]);ploterr(error
7、s);運(yùn)行結(jié)果:圖3為分類結(jié)果,誤差變化曲線如圖4所示。圖3圖4訓(xùn)練結(jié)束后,,兩層網(wǎng)絡(luò)的權(quán)值和閾值分別為w1=[11;11];b1=[-0.5;-1.5]w2=[1-1];b2=-0.5;(2)徑向基函數(shù)算法Matlab源程序?yàn)椋簆=[00;01;10;11];t=[1001];c=[10;10];n=dist(p,c)a=radbas(n)a1=a'[w,b]=initp(a1,t)subplot(211)plotpv(a1,t)plotpc(w,b)[w,b,epochs,errors]=trainp(w,b,a1,t,-1)sub
8、plot(212)ploterr(errors)運(yùn)行結(jié)果:分類結(jié)果和誤差變化曲線如圖5所示。圖5訓(xùn)練結(jié)束后,網(wǎng)絡(luò)的權(quán)值和閾值分別為w=[1.69731.9886]b=-1.7863作業(yè)3:非線性分類器設(shè)計(jì)1