matlab分类器设计,简单分类器的MATLAB实现.doc
簡(jiǎn)單分類(lèi)器的MATLAB實(shí)現(xiàn).doc
簡(jiǎn)單分類(lèi)器的MATLAB實(shí)現(xiàn) 摘要:本實(shí)驗(yàn)運(yùn)用最小距離法、Fisher線形判別法、樸素貝葉斯法、K近鄰法四種模式識(shí)別中最簡(jiǎn)單的方法處理兩維兩類(lèi)別的識(shí)別問(wèn)題,最后對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行了比較。關(guān)鍵字:MATLAB 最小距離 Fisher線形判別 樸素貝葉斯 K近鄰法Matlab語(yǔ)言簡(jiǎn)介 Matlab 語(yǔ)言 (即 Matrix 和 Laboratory) 的前三位字母組合 ,意為“矩陣實(shí)驗(yàn)室”,Matlab 語(yǔ)言是一種具有面向?qū)ο蟪绦蛟O(shè)計(jì)特征的高級(jí)語(yǔ)言,以矩陣和陣列為基本編程單位。Matlab 可以被高度“向量化”,而且用戶(hù)易寫(xiě)易讀。傳統(tǒng)的高級(jí)語(yǔ)言開(kāi)發(fā)程序不僅僅需要掌握所用語(yǔ)言的語(yǔ)法,還需要對(duì)有關(guān)算法進(jìn)行深入的分析。與其他高級(jí)程序設(shè)計(jì)語(yǔ)言相比 ,Matlab 在編程的效率、可讀性以及可移植性等方面都要高于其他高級(jí)語(yǔ)言,但是執(zhí)行效率要低于高級(jí)語(yǔ)言 ,對(duì)計(jì)算機(jī)系統(tǒng)的要求比較高。例如,某數(shù)據(jù)集是m*n的二維數(shù)據(jù)組,對(duì)一般的高級(jí)計(jì)算機(jī)語(yǔ)言來(lái)說(shuō),必須采用兩層循環(huán)才能得到結(jié)果,不但循環(huán)費(fèi)時(shí)費(fèi)力 ,而且程序復(fù)雜;而用 Matlab 處理這樣的問(wèn)題就快得多,只需要一小段程序就可完成該功能,雖然指令簡(jiǎn)單 ,但其計(jì)算的快速性、準(zhǔn)確性和穩(wěn)定性是一般高級(jí)語(yǔ)言程序所遠(yuǎn)遠(yuǎn)不及的。嚴(yán)格地說(shuō) ,Matlab 語(yǔ)言所開(kāi)發(fā)的程序不能脫離其解釋性執(zhí)行環(huán)境而運(yùn)行。樣本預(yù)處理實(shí)驗(yàn)樣本來(lái)源于1996年UCI的Abalone data,原始樣本格式如下:1 2 3 4 5 6 7 8 9其中第一行是屬性代碼:1.sex 2.length 3.diameter 4.height 5.whole_weight 6.shucked_weight 7 .viscera weight 8. shell weight 9.age原始樣本是一個(gè)8維20類(lèi)的樣本集,就是根據(jù)Abalone的第一至第八個(gè)特征來(lái)預(yù)測(cè)第九個(gè)特征,即Abalone的年齡。為簡(jiǎn)單其見(jiàn),首先將原始樣本處理成兩維兩類(lèi)別問(wèn)題的樣本。選取length和weiht作為兩個(gè)特征向量,來(lái)預(yù)測(cè)第三個(gè)特征向量age.(age=6或者age=9),我們將age=6的樣本做為第一類(lèi),age=12的樣本做為第二類(lèi)。處理后的樣本:length weight age實(shí)驗(yàn)過(guò)程1.最小距離法最小距離法是事先從給定的訓(xùn)練集中為每一個(gè)類(lèi)別生成一個(gè)代表該類(lèi)的中心向量,計(jì)算新向量與每個(gè)類(lèi)別中心向量的距離,距離最小的類(lèi)別即新向量的類(lèi)別。兩類(lèi)別的分界面就是就是兩類(lèi)別中心向量終點(diǎn)連線的中垂線。圖1分界面方程可以由下式求出:(m1-m2)[x1,x2]'-(m1-m2)(m1+(m2-m1)/2)'=0其中:m1為第一類(lèi)訓(xùn)練樣本的均值,m2為第二類(lèi)樣本的均值.2.Fisher判別法最小距離判別法對(duì)于離散度相等的線性可分問(wèn)題分類(lèi)效果是令人滿(mǎn)意的,但是根據(jù)本實(shí)驗(yàn)樣本而言,由上圖可見(jiàn)第一類(lèi)與第二類(lèi)的離散度并不相等,而Fisher線性判別法較好的解決的這一問(wèn)題.Fisher判別法希望類(lèi)內(nèi)離散度與類(lèi)間離散度的比值越小越好,然后根據(jù)最小的比值將兩維空間影射的一維空間.影射方向可由以下matlab程序求出m1=mean(newtrain6)m2=mean(newtrain12)%求兩類(lèi)的均值s1=cov(newtrain6)s2=cov(newtrain12)%求兩類(lèi)的協(xié)方差s=s1+s2w=(inv(s))*(m1-m2)'%求影射方向圖2素貝葉斯法樸素貝葉斯算法以貝葉斯定理為理論基礎(chǔ),是一種在已知先驗(yàn)概率與類(lèi)條件概率情況下的模式識(shí)別方法,其基本思想是:一個(gè)向量屬于某個(gè)類(lèi)別的概率,等于詞屬于該類(lèi)別概率的綜合表達(dá)式。之所以稱(chēng)其為“樸素”,是因?yàn)樗臈l件獨(dú)立性假設(shè),即個(gè)向量在給定類(lèi)別下的條件概率分布是相互獨(dú)立的。設(shè)訓(xùn)練樣本集為m類(lèi),記作C={c1,c2,…cm},每類(lèi)的先驗(yàn)概率P(ci)=ci類(lèi)樣本數(shù)/總樣本數(shù),i=1,2,……,m,對(duì)于新樣本x,其屬于ci的條件概率為P(x|ci),根據(jù)貝葉斯定理,ci的后驗(yàn)概率為P(ci|x)為: (2-1)如果 i=1,2,……,m,則 (2-2)上式為最大后驗(yàn)概率判別準(zhǔn)則。將式子2-1代入2-2中,則有:如果 i=1,2,……,m,則 (2-3)特殊情況下,若,可以采用最大似然判別準(zhǔn)則:如果 j=1,2,……,m,則 (2-4)對(duì)本實(shí)驗(yàn)而言我們假設(shè)先驗(yàn)概率相等即P(c1)= P(c2),現(xiàn)在主要問(wèn)題就轉(zhuǎn)化為求類(lèi)條件概率密度問(wèn)題,我們假設(shè)類(lèi)條件概率密度服從正態(tài)分布,采用最大似然估計(jì)法估計(jì)參數(shù)。用最大似然估計(jì)發(fā)求參數(shù)的matla
總結(jié)
以上是生活随笔為你收集整理的matlab分类器设计,简单分类器的MATLAB实现.doc的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 通用印刷体识别 php,实战腾讯云ORC
- 下一篇: matlab中partdata,[转载]