基于SVM和sigmoid函數的字符識別自適應學習算法
手寫字符的一個突出特點就是模式具有較大的變化性,表現為模式空間的類內分布過于分散,類間交疊嚴重,這使得識別模型無法“恰當”地擬合每類模式的數據分布或類別之間的判別面。在識別模型過程中,通過自適應學習就能較好地擬合特定書寫者筆跡特征向量的空間分布,從而有利于識別率的提高。當然,自適應學習的結果只是提高了對特定書寫者的識別率,但通過為不同人的筆跡特征向量提供不同的識別模型,就能夠從總體上提高系統的識別率。
本文引用地址:http://m.butianyuan.cn/article/283720.htm任何一種自適應學習算法都基于一定的識別方法。從目前已有的文獻來看,大致有以下幾種自適應學習所依據的識別方法:HMMs(Hidden Markov Models),ANNs(Artificial Neural Networks),PDNNs(Probabilistic Decision—based Neural Networks),子空間法(Local Subspace)以及模板匹配法(Template Matching)等。這些識別方法可以分為分布擬合法(HMMs,PDNNs,LS,TM)和判別決策法(ANN);前者僅學習每一類的正例,而不學習反例,而后者是同時學習正例和反倒。顯然,在模型的一致性上,判別決策法要好于分布擬合法。
根據這種思想,本文提出了一種基于SVM分類算法和sigmoid函數的自適應學習算法。SVM分類算法是一種判別決策方法,在很多識別問題中都獲得了很好的實驗結果,SVM分類算法的輸出為距離,參數化的sigmoid函數擬合SVM輸出距離的類別后驗概率分布,使SVM的距離輸出變換為概率輸出。本文提出的算法基于這種概率化方法,通過自適應學習,修改sigmoid參數,使sigmoid函數能夠較好地擬合自適應數據輸出距離的類別后驗概率分布。由于輸出距離是基于兩類別的判別面的.因此輸出距離的類別后驗概率分布就同時學習了正例和反例。
本文以手寫數字為實驗對象,對上文提出的自適應學習算法進行了有效性驗證。
1 SVM算法及sigmoid函數
1.1 SVM分類學習算法
1.2 sigmoid函數
本文采用的方法,即利用參數化的sigmoid函數擬合SVM分類決策函數的輸出距離的類別后驗概率分布,使其距離輸出變?yōu)楦怕瘦敵?。參數化的sigmoid函數為:
1.3 求解A,B
為了避免求出的參數A,B值的偏移性,應利用不同于訓練集D1的數據集D2求解A,B的值。D2=
2 基于SVM和sigmoid函數的自適應學習算法
2.1 多類別分類器設計方法
本文依據所述SVM算法和one-verse-one原則設計多類別的分類器。設類別數是n,則共有n*(n-1)/2個分類器,每個分類器的參數依次是權值Wi,j,bi,j,Ai,j和Bi,j,i,j=1,2,……n,i
2.2 概率輸出下的多類別決策
概率輸出下的多類別決策規(guī)則是:設有未知類別數據x,將其代入(6)式中有:
依據投票法原則,若p(x)>O.5,第i類得到1票;若p(x)<0.5,第j類得到1票;若p(x)=0.5,不投票。當依次計算完n*(n-1)/2個概率值p之后,得到票數最多的類別被判別為數據x所屬的類別。
2.3 自適應學習算法
本文的自適應學習算法的核心在于通過自適應數據中的誤識樣本,對參數Ai,j,Bi,j進行自適應修正。
Milil的上腳標i1表示x被誤識為i1類,Mi1表示被誤識為i1類的樣本個數。若第i1類的自適應數據集合
將誤識樣本的正反例集合Ep,En代入(9)式并根據梯度下降法有:
Aoid,Bold是自適應修正前的參數值,Anew,Bnew是自適應修正后的參數值。
3 實驗結果
3.1 預處理及特征提取
本文以O~9十個數字作實驗。預處理及特征提取的步驟如下:
(1)首先將二值圖像作非線性歸一化,歸一化的尺寸為64*64的方陣。
(2)在非線性歸一化后的圖像上提取輪廓。
(3)對輪廓圖像提取DEF(Directional Element Feature)特征,特征的維數是1024。
(4)對1024維特征作K—L變換,特征維數壓縮到128維。
3.2 實驗結果
本實驗的樣本情況為:自行收集樣本,平均每個數字145個樣本,其中90個樣本用來學習判別面的參數W和6,設C=1000,kernel設為線性,采用的軟件是LIBSVM;其余的55個樣本用來學習參數A,B。在自適應學習和測試階段,共收集了5個人的樣本,每個人平均每個數字的樣本數為35個。表l顯示了自適應學習的結果。
本實驗只測試了線性核的識別情況。從表中的統計結果可以看出,概率輸出本身就能夠提高識別率;在采用了本文提出的自適應學習算法之后,識別率得到了進一步的提高,平均達到94.5%,比常規(guī)SVM方法提高了5.1%。同時,學習算法中的步長η對識別率也有一定程度的影響,步長為0.1的識別率要高于步長為0.2的識別率。
本文基于SVM和sigmoid函數,提出了一種字符識別自適應學習算法。本算法相對于基于HMMs,ANNs,PDNNs,模板匹配,子空間法等識別方法的自適應學習算法,是一種新的自適應學習算法,具有推廣能力好和模型一致性好等特點。今后的研究方向在于設計能夠更好地適應自適應學習數據的參數A、B的自適應學習算法,尋求更合適的擬臺距離類別后驗概率分布的函數及判別函數本身的參數W、b的自適應學習算法。
評論