摘 要:科技的不斷發(fā)展進(jìn)步使得數(shù)字識別在越來越多的技術(shù)領(lǐng)域得以采用:大到辦公自動(dòng)化、車牌識別、文獻(xiàn)檢索,小到表格錄入、郵政編碼、銀行或超市票據(jù)、個(gè)人名片信息等,都與數(shù)字識別技術(shù)密不可分。 作為最熱門的智能算法,機(jī)器學(xué)習(xí)極大地促進(jìn)了數(shù)字識別技術(shù)的發(fā)展。 本文介紹了機(jī)器學(xué)習(xí)中的一種支持向量機(jī)算法,將其應(yīng)用到數(shù)字識別技術(shù)中并利用該算法成功地進(jìn)行了樣本訓(xùn)練和測試,取得了較好的效果。
關(guān)鍵詞:支持向量機(jī);數(shù)字識別;機(jī)器學(xué)習(xí);
一、數(shù)字識別技術(shù)
字符信息處理一般來說分為兩大類:文字信息處理和數(shù)字信息處理,前者主要是處理各種文本信息,目前這方面的技術(shù)已經(jīng)比較成熟并推出了不少產(chǎn)品, 例如具有文字識別功能的知網(wǎng)閱讀器等各種軟件; 后者主要是阿拉伯?dāng)?shù)字等。距離商業(yè)應(yīng)用還有很大的差距。
(一)數(shù)字識別技術(shù)常用方法
數(shù)字識別技術(shù)在學(xué)科上屬于模式識別和人工智能的范疇,人們主要是通過獲取數(shù)字的關(guān)鍵特征來進(jìn)行識別。提取數(shù)字特征的手段主要分為兩大類:全局分析和結(jié)構(gòu)分析,二者的主要區(qū)別在于所采用的數(shù)字特征不同。
(二)數(shù)字識別技術(shù)研究現(xiàn)狀
2004年,王永乾等利用BP神經(jīng)網(wǎng)絡(luò)技術(shù)進(jìn)行手寫字體識別,首先對數(shù)字字符進(jìn)行分割、細(xì)化等預(yù)處理來生成數(shù)字樣本,隨后再利用大量的樣本進(jìn)行樣本訓(xùn)練,最后利用訓(xùn)練好的模型進(jìn)行識別,取得95%的正確率 [2]。2005年,周開利等人采用MATLAB提供的神經(jīng)網(wǎng)絡(luò)工具箱,詳細(xì)闡述了各種模型的結(jié)構(gòu)、原理、有關(guān)算法,以實(shí)例說明了各種神經(jīng)網(wǎng)絡(luò)模型的MATLAB仿真程序設(shè)計(jì)方法[3]。
二、支持向量機(jī)
支持向量機(jī)方法是建立在統(tǒng)計(jì)學(xué)習(xí)理論的VC維理論和結(jié)構(gòu)風(fēng)險(xiǎn)最小原理基礎(chǔ)上的,根據(jù)有限的樣本信息在模型的復(fù)雜性和學(xué)習(xí)能力之間尋求最佳折中,以求獲得最好的推廣能力。
假設(shè)有非線性映射 將輸入空間的樣本映射到高維的特征空間H中。無需知道變換Φ的具體形式。這些特殊的函數(shù) 稱為核函數(shù)。此時(shí),目標(biāo)函數(shù)可以寫為
判別函數(shù)為
支持向量機(jī)實(shí)現(xiàn)步驟分為訓(xùn)練和分類兩部進(jìn)行,具體步驟如下:
(1)支持向量機(jī)訓(xùn)練
1.輸入兩類訓(xùn)練樣品向量
2.指定核函數(shù)類型
3.利用二次規(guī)劃的方法求解目標(biāo)函數(shù)式(1)的最優(yōu)解(拉格朗日乘子)
4.利用樣本庫中的一個(gè)支持向量代入式(2),左值為其類別值,得到偏差值
(2)支持向量機(jī)分類
1.輸入待測樣品
2.利用訓(xùn)練好的模型(拉格朗日乘子,偏差值以及核函數(shù))求解判別函數(shù)的值
3.根據(jù)判別函數(shù)的值,輸出類別
三、支持向量機(jī)數(shù)字識別實(shí)例
由于支持向量機(jī)是針適用于小樣本訓(xùn)練,同時(shí)為了簡單敘述,本實(shí)例只針對數(shù)字1和9進(jìn)行識別。本實(shí)例采用該算法對402張?jiān)紙D像(其中1的圖像198張,9的圖像204張)數(shù)據(jù)進(jìn)行訓(xùn)練。模型訓(xùn)練結(jié)束之后,利用另外隨機(jī)的186張數(shù)字圖像(其中1的圖像97張,9的圖像89張)作為測試樣本測試模型的準(zhǔn)確性。將圖像1的判別函數(shù)值定義為1,圖像9的判別函數(shù)值定義為-1。
首先進(jìn)行樣本訓(xùn)練,采用支持向量機(jī)對402張?jiān)紙D像數(shù)據(jù)進(jìn)行訓(xùn)練得到訓(xùn)練模型,最優(yōu)解拉格朗日乘子向量,然后利用另外隨機(jī)的186張數(shù)字圖像作為測試樣本對訓(xùn)練模型進(jìn)行測試,訓(xùn)練樣本如圖2所示:
測試結(jié)果圖像1 和圖像9分別出現(xiàn)一個(gè)錯(cuò)誤數(shù)字,即總共出現(xiàn)2個(gè)錯(cuò)誤,模型正確率高達(dá)98.9%,很好地實(shí)現(xiàn)了數(shù)字識別的目的。
四、結(jié)論
基于數(shù)字識別的發(fā)展需求,本文介紹了機(jī)器學(xué)習(xí)中的一種支持向量機(jī)算法,通過利用輸入空間的核函數(shù)取代高維特征空間的內(nèi)積運(yùn)算,解決了算法可能導(dǎo)致的“維數(shù)災(zāi)難”問題;并利用該算法成功地進(jìn)行數(shù)字識別的樣本訓(xùn)練和樣本測試,取得了正確率98.4%的良好效果。
參考文獻(xiàn):
[1]鄔建瓴 .數(shù)字識別及其應(yīng)用 [D]. 華中科技大學(xué), 2006. DOI:10.7666/d.d047270.
[2]王永乾 .基于BP網(wǎng)絡(luò)的手寫體數(shù)字識別方法 [J]. 山東電子,2004,3:24-26.
[3]周開利 .神經(jīng)網(wǎng)絡(luò)模型及其MATLAB仿真程序設(shè)計(jì) [M]. 北京:清華大學(xué)出版社,2005.
作者簡介:
劉曉紅,女,山東煙臺(tái)人,山東女子學(xué)院信息技術(shù)學(xué)院本科在讀。endprint