中科大模式識別大作業(yè)miniproject_第1頁
中科大模式識別大作業(yè)miniproject_第2頁
中科大模式識別大作業(yè)miniproject_第3頁
中科大模式識別大作業(yè)miniproject_第4頁
中科大模式識別大作業(yè)miniproject_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、模式識別 miniproject實驗報告 報告人: 李南云學(xué) 號:SA16173027日 期:2016.12.23數(shù)據(jù)分析在此簡要的說明一下數(shù)據(jù)情況,給定數(shù)據(jù)集分為train和test兩個data文件,train.data是11列8285行,意味著有8285個樣本,矩陣的最后一列是該列所對應(yīng)的樣本類別。根據(jù)統(tǒng)計,train數(shù)據(jù)前466個樣本均為1類,而后7819個樣本均為-1類,所以該分類器為二分類問題。MATLAB中用importdata()讀取數(shù)據(jù),并將樣本和其所屬類別分開來,樣本為trnset,所屬類別為trnclass,train數(shù)據(jù)用于訓(xùn)練分類器。Test.data是11列2072行

2、,同樣也意味著有2072個樣本,最后一列為該列所對應(yīng)樣本類別,test數(shù)據(jù)前117為1類,后1955個數(shù)據(jù)為-1類。同樣讀取數(shù)據(jù)后,分為tstset和tstclass兩個矩陣,前者代表2072個樣本,后者代表所對應(yīng)樣本的類別,我們需要將train所訓(xùn)練好的分類器應(yīng)用在tstset樣本上,輸出分類結(jié)果tstclass1,將其與tstclass相比較,計算每個類別的正確率和總的正確率。算法介紹本次實驗采用了SVM(support vector machines)分類模型,由于數(shù)據(jù)線性不可分而且在實際問題中數(shù)據(jù)也大都線性不可分,所以本次試驗采取的線性不可分SVM方法,即將數(shù)據(jù)向高維空間映射,使其變得

3、線性可分。本實驗選取的二分類算法,SVC_C。下面先以線性分類器為例,來引入SVM算法的一些概念和處理流程,如圖1所示,假設(shè)C1和C2是需要區(qū)分的類別,而在二維平面中它們的樣本如圖,中間的一條直線就是一個線性分類函數(shù),由圖中可以看出,這個線性分類函數(shù)可以完全的將兩類樣本區(qū)分開來,我們就稱這樣的數(shù)據(jù)是線性可分的,否則則為線性不可分,本實驗中所采用的數(shù)據(jù)在二維空間里分布如圖2和圖3所示(紅色標(biāo)注分類為1的樣本,藍(lán)色標(biāo)注為分類為-1的樣本),明顯線性不可分。圖1圖2圖3設(shè)圖1中線性函數(shù)為g(x)=wx+b(x是樣本的向量表示),那么當(dāng)有一個樣本xi需要判別的時候,就可以看g(xi)的值,若g(xi)

4、>0就判別為C1類,若g(xi)<0就判別為C2類(等于的時候就拒絕判斷)。此時也等價與給函數(shù)g(x)附加一個符號函數(shù)sgn(),即f(x)=sgng(x)是我們真正的判別函數(shù),中間那條線的表達(dá)式是g(x)=0,即wx+b=0,我們也把這個函數(shù)叫做分類面。在此我們就不對幾何間隔、二次規(guī)劃問題、支持向量等做詳細(xì)的介紹了。SVM在線性分類器上做了重大改進(jìn),即為核函數(shù)!線性分類器只能對線性可分的樣本進(jìn)行處理,但是實際中很多樣本都是線性不可分的,那么這種線性可分的分類器就不適用了,是否有某種辦法,讓線性不可分的數(shù)據(jù)變得線性可分呢?實際上是有的!我們可以用一個二維平面中的分類問題作為例子,如

5、圖4圖4橫軸短點a和b之間紅色的部分里的所有點為正類,兩邊的黑色點為負(fù)類,我們明顯找不到符合要求的線性函數(shù)將兩類數(shù)據(jù)區(qū)分開來,但是可以找到一條曲線例如圖5中的曲線來判斷所屬類別,它的函數(shù)表達(dá)式可以寫為g(x)=c0+ c1x+ c2x2。圖5明顯它不是一個線性函數(shù),但是我們可以新建一個向量a和y1y=y1y2y3=1xx2 , a=a1a2a3=c0c1c2這樣g(x)就可以轉(zhuǎn)化為f(y)=<a,y>,即:g(x)=f(y)=a*y在任意維度的空間中,這種形式的函數(shù)都是一個線性函數(shù),因為自變量y的次數(shù)不大于1.這樣原來在二維空間中線性不可分的問題映射到四維空間中,就變成了線性可分的

6、,這也就形成了我們最初想解決線性不可分問題的基本思路向高維空間轉(zhuǎn)化,使其變得線性可分。而轉(zhuǎn)化的最關(guān)鍵部分就是找打x對于y的映射方法,遺憾的是假設(shè)x是由x變換得到的高維變量,在此維度下,問題線性可分,那么只需要計算f(x)=<w,x>+b的值來進(jìn)行分類,即只關(guān)心高維空間里內(nèi)積<w,x>的值。而從理論上來說x是由x變換得來的,因此廣義上可以吧它叫做x的函數(shù),而w是常量,它是一個低維空間向量里的常量w經(jīng)過x與x之間相同的變換得到的,所以給定了一個w和w的值,我們就可以有一個確定的f(x)的值與其對應(yīng)。那么是否能有這樣一種的函數(shù)K(w,x),它接受低維空間的輸入值,卻能夠計算出

7、高維空間的內(nèi)積<w,x>?如果真的有這種函數(shù),那么當(dāng)給定了一個低維空間的輸入x之后,使g(x)=K(w,x)+b和f(x)=<w,x>+b這兩個函數(shù)的計算結(jié)果就完全一樣,我們就不用費力的去找映射關(guān)系了。而上述的K(w,x)卻是存在,它被稱為核函數(shù)(核,kernel),而且只要是滿足了Mercer條件的函數(shù),就可以作為核函數(shù)。核函數(shù)的基本作用就是接受兩個低維空間里的向量,能夠計算出經(jīng)過某個變換后在高維空間里的向量內(nèi)積值。那么就有兩個問題:1 既然有很多核函數(shù),針對具體問題我們應(yīng)該怎么選擇呢?2 如果使用核函數(shù)向高維空間映射后,問題仍然是線性不可分的,那怎么辦呢?對于第一個

8、問題核函數(shù)的選擇我不太了解它選擇中所需要的指導(dǎo)原則通常而言,徑向基核函數(shù)(RBF)是比較合理的選擇,本次實驗也是采用的徑向基核函數(shù),這個核函數(shù)將樣本非線性地映射到一個更高維的空間,與線性核不同,它能夠處理分類標(biāo)注和屬性的非線性關(guān)系,并且,線性核是RBF的一個特例,同時,sigmoid核的表現(xiàn)很想一定參數(shù)的RBF核。第二個原因,超參數(shù)的數(shù)量會影響到模型選擇的復(fù)雜度,而多項式核比RBF核具有更多的超參數(shù)。最后,RBF核有更少的數(shù)值復(fù)雜度。當(dāng)然也存在一些情形RBF核是不適用的。特別的,當(dāng)特征維數(shù)非常大的時候,很可能只能適用線性核。本實驗采用RBF作為核函數(shù),并使用了boxconstraint參數(shù),這

9、是SVM的懲罰系數(shù),一般是按···,0.1,1,10,···這樣的規(guī)律調(diào)節(jié)嘗試。實驗1 評價標(biāo)準(zhǔn)當(dāng)然是使用正確率作為評價標(biāo)準(zhǔn)啦!我們統(tǒng)計了對于正類即1的誤判率和對于負(fù)類-1的誤判率,因為所給數(shù)據(jù)中,正類較少,負(fù)類較多,我們嘗試對讀取的數(shù)據(jù)多少進(jìn)行調(diào)節(jié),并計算時間,后續(xù)分析結(jié)果,總結(jié)問題。2. 整體實驗方法和步驟 將train和test數(shù)據(jù)讀取,并分別將其分成set和class; 訓(xùn)練并得到分類器; 測試輸出; 計算評價指標(biāo); 減少讀取的train數(shù)據(jù)的負(fù)類,并重復(fù)上述過程; 總結(jié);3. 分類器訓(xùn)練算法的參數(shù)調(diào)整步驟: 隨機(jī)生成多個參數(shù)

10、(解); 在目標(biāo)函數(shù)上驗證解的質(zhì)量; 根據(jù)解的質(zhì)量由好到壞進(jìn)行排序,取出其中較好的一部分,在這些解的每個元素上加上一個隨機(jī)數(shù),從而得到一些新的解; 把新解和老解比較,取出最好的一部分,作為下一次迭代的初始解;實驗結(jié)果得到測試輸出后,將其與test數(shù)據(jù)的第11列進(jìn)行比較,相同即為判斷正確,并計算正確率。Excel中我用test數(shù)據(jù)的第11列減去輸出結(jié)果,即結(jié)果為0即為正確,結(jié)果不為0 ,即為錯誤。下圖6為正類和負(fù)類部分excel數(shù)據(jù)截圖 圖6經(jīng)統(tǒng)計總的正確率為74.81%,對于正類數(shù)據(jù)的判別正確率為61.54%,負(fù)類數(shù)據(jù)的判別率為75.60%,負(fù)類數(shù)據(jù)的正確判別率明顯更高一些,這可能是由于訓(xùn)練數(shù)

11、據(jù)中負(fù)類數(shù)據(jù)占大多數(shù)的原因,所以負(fù)類的判別正確率明顯的更好一些。整個訓(xùn)練外加測試時間為24.8980秒。下面我們只讀取的train數(shù)據(jù)的前932個,即訓(xùn)練數(shù)據(jù)中正類和負(fù)類的數(shù)目相同,這時我們可以看到結(jié)果,總的正確率有所降低為69.16%,其中分類器判別正類的正確率為70.94%,負(fù)類為69.05%。兩相差減小,此時負(fù)類的判別率比起全部讀取數(shù)據(jù)時降低了大約5%,而正類的卻增加了近10%!此時明顯對正類比較敏感,當(dāng)然總體還是降低了····當(dāng)我再次把讀取train的負(fù)類的數(shù)據(jù)量增加到正類的2倍時,即正類樣本為466個,副類樣本為932個,此時總的正確率為74.47%,test正類數(shù)據(jù)判斷的正確率為62.39%,負(fù)類數(shù)據(jù)為75.19%,可以看到此時已經(jīng)與將8285個訓(xùn)練樣本全部放進(jìn)去的結(jié)果大抵相同。后來我又嘗試了讀取的train與test數(shù)據(jù)量相等,此時的總的正確率為72.78%,正類為63.25%,負(fù)類為73.35%。沒有提升,反而降低了,不過并沒有太大的改變。下面表格整理了一下結(jié)果:Train(1)Train(-1)Test總正確率正類正確率負(fù)類正確率46678192072

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論