資源描述:
《模式識(shí)別關(guān)于男女生身高和體重BP算法.docx》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、模式識(shí)別實(shí)驗(yàn)報(bào)告(二)學(xué)院:專業(yè):學(xué)號(hào):姓名:XXXX教師:目錄1實(shí)驗(yàn)?zāi)康?2實(shí)驗(yàn)內(nèi)容13實(shí)驗(yàn)平臺(tái)14實(shí)驗(yàn)過程與結(jié)果分析14.1基于BP神經(jīng)網(wǎng)絡(luò)的分類器設(shè)計(jì)14.2基于SVM的分類器設(shè)計(jì)44.3基于決策樹的分類器設(shè)計(jì)74.4三種分類器對(duì)比85.總結(jié)81實(shí)驗(yàn)?zāi)康耐ㄟ^實(shí)際編程操作,實(shí)現(xiàn)對(duì)課堂上所學(xué)習(xí)的BP神經(jīng)網(wǎng)絡(luò)、SVM支持向量機(jī)和決策樹這三種方法的應(yīng)用,加深理解,同時(shí)鍛煉自己的動(dòng)手實(shí)踐能力。2實(shí)驗(yàn)內(nèi)容本次實(shí)驗(yàn)提供的樣本數(shù)據(jù)有149個(gè),每個(gè)數(shù)據(jù)提取5個(gè)特征,即身高、體重、是否喜歡數(shù)學(xué)、是否喜歡文學(xué)及是否喜歡運(yùn)動(dòng),分別將樣本數(shù)據(jù)用于對(duì)BP神經(jīng)網(wǎng)絡(luò)分類器、SVM支持向量機(jī)和決策樹訓(xùn)練,用測(cè)
2、試數(shù)據(jù)測(cè)試分類器的效果,采用交叉驗(yàn)證的方式實(shí)現(xiàn)對(duì)于性能指標(biāo)的評(píng)判。具體要求如下:BP神經(jīng)網(wǎng)絡(luò)--自行編寫代碼完成后向傳播算法,采用交叉驗(yàn)證的方式實(shí)現(xiàn)對(duì)于性能指標(biāo)的評(píng)判(包含SE,SP,ACC和AUC,AUC的計(jì)算可以基于平臺(tái)的軟件包);SVM支持向量機(jī)--采用平臺(tái)提供的軟件包進(jìn)行分類器的設(shè)計(jì)以及測(cè)試,嘗試不同的核函數(shù)設(shè)計(jì)分類器,采用交叉驗(yàn)證的方式實(shí)現(xiàn)對(duì)于性能指標(biāo)的評(píng)判;決策樹--采用平臺(tái)提供的軟件包進(jìn)行分類器的設(shè)計(jì)以及測(cè)試,采用交叉驗(yàn)證的方式實(shí)現(xiàn)對(duì)于性能指標(biāo)的評(píng)判(包含SE,SP,ACC和AUC,AUC的計(jì)算基于平臺(tái)的軟件包)。3實(shí)驗(yàn)平臺(tái)專業(yè)研究方向?yàn)閳D像處理,用的較多的編程語言為
3、C++,因此此次程序編寫用的平臺(tái)是VisualStudio及opencv,其中的BP神經(jīng)網(wǎng)絡(luò)為自己獨(dú)立編寫,SVM支持向量機(jī)和決策樹通過調(diào)用Opencv3.0庫中相應(yīng)的庫函數(shù)并進(jìn)行相應(yīng)的配置進(jìn)行實(shí)現(xiàn)。將Excel中的119個(gè)數(shù)據(jù)作為樣本數(shù)據(jù),其余30個(gè)作為分類器性能的測(cè)試數(shù)據(jù)。4實(shí)驗(yàn)過程與結(jié)果分析4.1基于BP神經(jīng)網(wǎng)絡(luò)的分類器設(shè)計(jì)BP神經(jīng)網(wǎng)絡(luò)能學(xué)習(xí)和存貯大量的輸入-輸出模式映射關(guān)系,而無需事前揭示描述這種映射關(guān)系的數(shù)學(xué)方程。其學(xué)習(xí)規(guī)則是使用梯度下降法,通過反向傳播來不斷調(diào)整網(wǎng)絡(luò)的權(quán)值和閾值,使網(wǎng)絡(luò)的誤差平方和最小。BP神經(jīng)網(wǎng)絡(luò)模型拓?fù)浣Y(jié)構(gòu)包括輸入層(input)、隱層(hidden
4、layer)和輸出層(outputlayer)。在獨(dú)自設(shè)計(jì)的BP神經(jīng)中,激勵(lì)函數(shù)采用sigmod函數(shù),輸入層節(jié)點(diǎn)個(gè)數(shù)為5,一個(gè)隱層并且節(jié)點(diǎn)數(shù)為5,輸出節(jié)點(diǎn)數(shù)為1個(gè),通過讀取excel中相應(yīng)的特征數(shù)據(jù),進(jìn)行訓(xùn)練,再用測(cè)試數(shù)據(jù)進(jìn)行測(cè)試。如圖4-1為所設(shè)計(jì)的BP類。圖4-1BP類的設(shè)計(jì)源碼如圖4-1,其中重要的兩個(gè)函數(shù)便是神經(jīng)網(wǎng)絡(luò)的訓(xùn)練train和識(shí)別函數(shù)recognize,具體的源碼如圖4-2,圖4-3,圖4-4。其中訓(xùn)練函數(shù)包括了前向傳播以及后向傳播的權(quán)值修正,而識(shí)別函數(shù)只包括了前向傳播后輸出計(jì)算結(jié)果。圖4-2BP分類器的訓(xùn)練函數(shù)一圖4-3BP分類器的訓(xùn)練函數(shù)二圖4-4BP分類器的識(shí)
5、別函數(shù)輸入119個(gè)樣本數(shù)據(jù)進(jìn)行訓(xùn)練后,輸入30個(gè)測(cè)試數(shù)據(jù)進(jìn)行測(cè)試,測(cè)試結(jié)果如圖4-5所示。通過數(shù)據(jù)可以看出共30個(gè)測(cè)試數(shù)據(jù),其中有兩個(gè)正樣本被分為負(fù)樣本,即男生分類成了女生。其中ROC曲線(受試者工作特性曲線)如圖4-6,可見該曲線的AUC值為0.96表示分類器的效果是較好的,從敏感性(SE)、特異性(SP)和準(zhǔn)確率(ACC)也可以看出分類器的效果還是不錯(cuò)的。圖4-5BP測(cè)試結(jié)果圖4-6BP測(cè)試結(jié)果的ROC曲線4.2基于SVM的分類器設(shè)計(jì)SVM即支持向量機(jī)。SVM的主要思想可以概括為兩點(diǎn):第一是針對(duì)線性可分情況進(jìn)行分析,對(duì)于線性不可分的情況,通過使用非線性映射算法將低維輸入空間線性
6、不可分的樣本轉(zhuǎn)化為高維特征空間使其線性可分,從而使得高維特征空間采用線性算法對(duì)樣本的非線性特征進(jìn)行線性分析成為可能。通常在線性不可分的情況下,通過核函數(shù)進(jìn)行非線性映射達(dá)到線性可分的效果。其中核函數(shù)的類型包括線型、多項(xiàng)式型和RBF高斯核等,采用不同的核函數(shù)可能造成的分類效果有所區(qū)別,在本實(shí)驗(yàn)中分別利用三種核函數(shù)對(duì)測(cè)試數(shù)據(jù)進(jìn)行測(cè)試。SVM調(diào)用Opencv3.0中的庫函數(shù)來實(shí)現(xiàn),Opencv3.0所集成的SVM為libsvm。源碼如圖4-7。圖4-7SVM調(diào)用源碼由圖4-7可以看到,首先對(duì)SVM進(jìn)行了參數(shù)設(shè)置,接著調(diào)用訓(xùn)練函數(shù),接著進(jìn)行測(cè)試數(shù)據(jù)測(cè)試,分別采用高斯核、線型核和SIGMOD核
7、測(cè)試結(jié)果如圖4-8到4-10,所對(duì)應(yīng)的ROC曲線如圖4-11到4-13所示。圖4-8高斯核分類結(jié)果圖4-9線型核分類結(jié)果圖4-10SIGMOD核分類結(jié)果圖4-11高斯核分類ROC曲線圖4-12線型核分類ROC曲線圖4-13SIGMOD核分類ROC曲線由上面的圖4-8到圖4-13可以看出,高斯核出現(xiàn)2個(gè)分類錯(cuò)誤,線性核出現(xiàn)3個(gè)分類錯(cuò)誤,而sigmod核未出現(xiàn)分類錯(cuò)誤,再結(jié)合ROC曲線及AUC值,可以看出對(duì)于測(cè)試數(shù)據(jù),sigmod核函數(shù)具有最高的分類效果,可以實(shí)現(xiàn)完全的正