2023年模式識別第二次上機實驗報告_第1頁
2023年模式識別第二次上機實驗報告_第2頁
2023年模式識別第二次上機實驗報告_第3頁
2023年模式識別第二次上機實驗報告_第4頁
2023年模式識別第二次上機實驗報告_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

北京科技大學計算機與通信工程學院模式分類第二次上機實驗報告姓名:XXXXXX學號:00000000班級:電信11

時間:2023-04-16一、實驗目的.掌握支持向量機(SVM)的原理、核函數(shù)類型選擇以及核參數(shù)選擇原則等;二、實驗內(nèi)容.準備好數(shù)據(jù),一方面要把數(shù)據(jù)轉(zhuǎn)換成Libsvm軟件包規(guī)定的數(shù)據(jù)格式為:labe1index1:valuelindex2:value2...其中對于分類來說1abe1為類標記,指定數(shù)據(jù)的種類;對于回歸來說label為目的值。(我重要要用到回歸)Index是從1開始的自然數(shù),va1ue是每一維的特性值。該過程可以自己使用excel或者編寫程序來完畢,也可以使用網(wǎng)絡上的FonnatDataLibsvm.x1s來完畢。FormatDataLibsvm.x1s使用說明:先將數(shù)據(jù)按照卜.列格式存放(注意label放最后面):valuelvalue21abelvaluelvalue2labe1然后將以上數(shù)據(jù)粘貼到FormaiDalaLibsvm.xls中的最左上角單元格,接著工具一〉宏執(zhí)行行FormatDataToLibsvm宏。就可以得到libsvin規(guī)定的數(shù)據(jù)格式。將該數(shù)據(jù)存放到文本文獻中進行下一步的解決。.對數(shù)據(jù)進行歸一化。該過程要用到1ibsvm軟件包中的svm—sea1e.exeSvm—scale用法:用法:svmscale[-11ower][—uupper][-yy_lowery_uppcr][-ssave_filename][-rrestore_filename]fiIename(缺省值:1ower=1,upper=1,沒有對y進行縮放)其中,-1:數(shù)據(jù)卜限標記;lower:縮放后數(shù)據(jù)下限;-u:數(shù)據(jù)上限標記;uppc亡縮放后數(shù)據(jù)上限;一y:是否對目的值同時進行縮放;y_lower為下限值,y_upper為上限值;(回歸需要對目的進行縮放,因此該參數(shù)可以設定為-y—11)-ssave_filename:表達將縮放的規(guī)則保存為文獻save_fiIename;-rrestore_filename:表達將縮放規(guī)則文獻restore_filename載入后按此縮放;filename:待縮放的數(shù)據(jù)文獻(規(guī)定滿足前面所述的格式)??s放規(guī)則文獻可以用文本瀏覽器打開,看到其格式為:ylowerupperminmaxxlowerupperindex1minimax1index2niin2max2其中的lower與upper與使用時所設立的lower與upper含義相同;index表示特性序號;min轉(zhuǎn)換前該特性的最小值;max轉(zhuǎn)換前該特性的最大值。數(shù)據(jù)集的縮放結(jié)果在此情況下通過DOS窗口輸此當然也可以通過DOS的文獻重:定向符號”/將結(jié)果另存為指定的文獻。該文件中的參數(shù)可用于最后面對目的值的反歸?化。反歸一化的公式為:(Vaiue_1ower)*(max-min)/(upper-1ower)+1ower其中value為歸一化后的值,其他參數(shù)與前面介紹的相同。建議將訓練數(shù)據(jù)集與測試數(shù)據(jù)集放在同一個文本文獻中一起歸一化,然后再將歸一化結(jié)果提成訓練集和測試集。4.訓練數(shù)據(jù),生成模型。用法:svmtrain[oplions](raining_set_file[mode其中,opti。ns(操作參數(shù)):可用的選項即表達的涵義如下所示-ssvm類型:設立SVM類型,默認值為0,可選類型有(對于回歸只能選3或4):0-C-SVC1-n-SVC2-one-class-SVM3--e-SVR4?一n-SVR-t核函數(shù)類型:設立核函數(shù)類型,默認值為2,可選類型有:0--線性核:u,*vl--多項式核:(gu**v+coefO)degree2—RBF核:e(uv2)g-3—sigmoid核:tanh(g*u,*v+coef0)—ddegree:核函數(shù)中的degree設立,默認值為3;gg:設立核函數(shù)中的g,默認值為1/k;-rcoefO:設立核函數(shù)中的coef0,默認值為0;—ccost:設立C-SVC、e—SVR、n6-SVR中從處罰系數(shù)C,默認值為l;-nn:設立n-SVC、one—class-SVM與n-SVR中參數(shù)n,默認值0.5;pe:設立n-SVR的損失函數(shù)中的e,默認值為0.1;—mcachesize:設立cache內(nèi)存大小,以MB為單位,默認值為40;-ee:設立終止準則中的可容忍偏差,默認值為0.001;-hshrinking:是否使用啟發(fā)式,可選值為0或I.默認值為l;-b概率估計:是否計算SVC或SVR的概率估計,可選值0或1,默認0;-wiweight:對各類樣本的處罰系數(shù)C加權(quán),默認值為1;-vn:n折交叉驗證模式。其中一g選項中的k是指輸入數(shù)據(jù)中的屬性數(shù)。操作參數(shù)-v隨機地將數(shù)據(jù)剖分為n部分并計算交叉檢查準確度和均方根誤差。以上這些參數(shù)設立可以按照SVM的類型和核函數(shù)所支持的參數(shù)進行任意組合,假如設立的參數(shù)在函數(shù)或SVM類型中沒有也不會產(chǎn)生影響,程序不會接受該參數(shù);假如應有的參數(shù)設立不對的,參數(shù)將采用默認值。training_sct_filc是要進行訓練的數(shù)據(jù)集;mode1.file是訓練結(jié)束后產(chǎn)生的模型文獻,該參數(shù)假如不設立將采用默認的文獻名,也可以設立成自己慣用的文獻名。本實驗中的參數(shù)一s取3,-t取2(默認)還需擬定的參數(shù)是-c,-g,-p另,實驗中所需調(diào)整的重要參數(shù)是-c和-g,-c和-g的調(diào)整除了自己根據(jù)經(jīng)驗試之外,還可以使用gridrcgrcssion.py對這兩個參數(shù)進行優(yōu)化。(需要補充)該優(yōu)化過程需要用到PythonQ.5),Gnuplot(4.2),gridregression.py(該文獻需要修改途徑)。然后在命令行下面運營:python.exegridregression.py-1og2c-10,10,1-log2g—10,10,1-iog2p—10,10,1-s3-t2-v5-svmtrainE:\1ibsvm\libsvm-2.86\windows\svm-train.exe-gnuplolE:\1ibsvmMibsvm-2.86\gnup1ot\bin\pgnuplot.exeE:\1ibsvmMibsvm-2.86\windows\train.txt>gridregression_feature.parameter以上三個途徑根據(jù)實際安裝情況進行修改。-1og2c是給出參數(shù)c的范圍和步長-1og2g是給出參數(shù)g的范圍和步長一1og2P是給出參數(shù)p的范圍和步長上面三個參數(shù)可以用默認范圍和步長-s選擇SVM類型,也是只能選3或者4-t是選擇核函數(shù)-v10將訓練數(shù)據(jù)提成10份做交叉驗證。默認為5為了方便將gridregression.py是存放在py(hon.exe安裝目錄下trian.txt為訓練數(shù)據(jù),參數(shù)存放在gridregression_feature.parameter中,可以自己命名。搜索結(jié)束后可以在gridregression_feature.parameter中最后一行看到最優(yōu)參數(shù)。其中,最后一行的第一個參數(shù)即為-c,第二個為-g,第三個為-p,最后一個參數(shù)為均方誤差。前三個參數(shù)可以直接用于模型的訓練。然后,根據(jù)搜索得到的參數(shù),重新訓練,得到模型。5.測試用法:svmprcdict[options]test_fi1cmodel_filcoutput_fileoptions(操作參數(shù)):-bprobability_eslimales:是否需要進行概率估計預測,可選值為0或者I,默認值為0。model_fi1e是由svmtrain產(chǎn)生的模型文獻;test_file是要進行預測的數(shù)據(jù)文獻;output_file是svmpredict的輸出文獻,表達預測的結(jié)果值。輸出結(jié)果涉及均方誤差(Meansquarcderror)和相關系數(shù)(Squaredcorrclationcocfficienl)o三、實驗儀器、設備PC機-系統(tǒng)最低配置512M內(nèi)存、P4CPU;Matlab仿真軟件一7.0/7.1/2023a等版本的Mallab軟件。3coi120數(shù)據(jù)庫;四、實驗原理。使用svm-scale對數(shù)據(jù)進行縮放是必要的。由于適當?shù)膕cale有助于參數(shù)的選取和建svm模型的速度。svm-scale會對value做scale。范圍用-1,-u指定,通常是[0,1],或是[―1,1]。(文本分類一般選[0,1]。輸出在std。ut。此外要注意的是testingdata和trainingdata要一起scaleo而svm-scale最難用的地方就是iS辦法指定(estingdata/trainingdata為同一文檔,然后一起scale。④因此為了后面測試,還要對測試集進行sc五、實驗數(shù)據(jù)及結(jié)果分析:6267626769.7訓練樣本辨認率1(%)測試樣本辨認$/(%)72.979.381Svmtoy輸出圖形Svm分類器matIab代碼clear;%清屏c1c;aX=1oad(*data.txt');n=1ength(X);%總樣本數(shù)量y=X(:,4);%類別標志X=X(:,1:3);aTOL=0.0001;%精度規(guī)定aC=1;%參數(shù),對損失函數(shù)的權(quán)重Ab=0;%初始設立截距gWo1d=0;%未更新a時的W(a)Wnew=0:%更新a后的W(a)fori=I:50%設立類別標志為1或者-1ay(i)end^a=zeros(n,1);%參數(shù)afori=1:n%隨機初始化a,a屬于[0,C]aa(i)=0.2;end△%為簡化計算,減少反復計算進行的計算K=ones(n,n);Afori=1:n%求出K矩陣,便于之后的計算aforj=I:nK(i,j)=k(X(i,:),X(j,:));aendAendsum=zeros(n,l);%中間變量,便于之后的計算,sum(k)=siginaa(i)*y(i)*K(k,i);fork=I:nfori=1:nsum(k)=sum(k)+a(i)*y(i)*K(i,k);end^end△whileI%迭代過程a%啟發(fā)式選點nl=I;%初始化,nl,n2代表選擇的2個點n2=2;4%nl按照第一個違反KKT條件的點選擇whi1enl<=daify(nl)*(sum(n1)4-b)==1&&a(nl)>=C&&a(n1)<=0brcak;endAify(n1)*(sum(nI)+b)>1&&a(n1)-=0abreak;end*ify(nl)*(sum(n1)+b)<1&&a(n1)?break;en^nl=nl+1;AendA%n2按照最大化|E1-E2|的原則選取aEl=0;E2=0;AmaxDiff=0;%假設的最大誤差aEI=sum(n1)+b—y(nl);%nl的誤差Afori=1:nAtempSum=sum(i)+b—y(i);aifabs(El-tempSum)>maxDif很maxDiff=abs(E1-tempSum);E2=tempSum;erxbendA%以下進行更新aIo1d=a(nl);a2old=a(n2);KK=K(nl,nl)+K(n2,n2)-2*K(nI,n2);a2new=a2old+y(n2)*(E1-E2)/KK;%計算新的Q%a2必須滿足約束條件aS-y(nl)*y(n2);ifS==-1U=max(0,a2old-a1old)V=min(C,C-alo1d+a2o1d);ae1seU=max(0,a1old+a2old—C);aV=min(C,alo1d+a2old);endifa2new>V.*a2new=V;endifa2new<a2new=U/encUalnew=alold+S*(a2o1d-a2new);%計算新的a1a(nl)=a1new;%更新aa(n2)=a2new;a%更新部分值sum=zeros(n,I);fork=1:Mfori=1:sum(k)=sum(k)+a(i)*y(i)*K(i,k);4endendWo1d=Wnew;AWnew=0;%更新a后的W(a)tempSum=0;%臨時變量Afori=1:nforj=1:ntempSum=tempSum+y(i)*y(j)*a(i)*a(j)*K(i,j)泠end

Wnew=Wnew+a(i)Wnew=Wnew+a(i);Wnew=Wnew+a(i);Wnew=Wnew+a(i);Wnew=Wnew-

溫馨提示

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

評論

0/150

提交評論