杜菲霏,郝歐亞,王思桐
(1.華北理工大學(xué)數(shù)學(xué)建模創(chuàng)新實驗室,唐山 063210;2.華北理工大學(xué)電氣工程學(xué)院,唐山 063210)
光學(xué)字符識別(Optical Character Recognition,OCR)是指通過電子設(shè)備通過字符識別方法將圖片文字抽取為可編輯文本的過程。由于圖像數(shù)據(jù)往往都包含噪聲,像素模式之間的關(guān)系極其復(fù)雜,使用計算機完成OCR 的過程很困難。基于此,需要設(shè)計一種圖像文字識別算法,以完成光學(xué)字符識別任務(wù)。
用于分類的機器學(xué)習(xí)模型建立與求解過程,首先訓(xùn)練集進行預(yù)處理,選取合適的方法進行訓(xùn)練后得到模型,然后使用測試數(shù)據(jù)對模型進行評測,如果結(jié)果較好則證明該模型適合解決該類問題。有多元線性回歸模型、LightGbm 模型和 KNN 模型。
首先使用Weka 軟件對數(shù)據(jù)初步進行統(tǒng)計分析,從統(tǒng)計分析數(shù)據(jù)可以看出,數(shù)據(jù)集中并未含有異常值與缺失值,大部分在數(shù)據(jù)在0-15之間,分布較均勻。
統(tǒng)計分析之后,對數(shù)據(jù)集中的英文字符進行字典編碼處理,首先建立字符字典,例如字典{A:1,B:2,C:3,D:4,E:5},然后進行字符映射,分別將數(shù)據(jù)集中的字符A,B,C,D,E 使用數(shù)字1,2,3,4,5代替,其它字符以次類推。
由于字符在圖像中主要由像素構(gòu)成,得出字符所在矩形區(qū)域的水平、豎直位置、矩形區(qū)域的寬度、高度對字符識別作用較小,故將其剔除,后期實驗表明剔除這四組特征后的效果優(yōu)于原始特征。
(1)多元線性回歸模型。將預(yù)處理后的樣本數(shù)據(jù)代入模型,使用Python 中的sklearn.linear_model.LinearRegression 庫求出權(quán)重矩陣,用于光學(xué)字符檢測。
(2)LightGbm 模型。將預(yù)處理后的樣本數(shù)據(jù)代入模型,設(shè)置boost 類型為gbdt',葉子數(shù)為 100,學(xué)習(xí)率為 0.01,迭代5000次,使用Python 中的lightgbm 庫得出模型,用于光學(xué)字符檢測。
(3)KNN 模型。將預(yù)處理后的樣本數(shù)據(jù)代入模型,使Python 中的 sklearn.neighbors 庫得出模型,用于光學(xué)字符檢測。
準確率(Accuracy)、查準率(Precision)、召回率(Recall)、F1值都是評價模型好壞的指標,只是評測的側(cè)重點不同,且各指標間有一定的關(guān)聯(lián)。
Accuracy 為預(yù)測值中所有正確值的數(shù)量/真實值的數(shù)量,定義如式(1)。
Precision 是指模型的查準率,定義如式(2)。
Recall 是指模型的召回率,定義如式(3)。
由于Precision 與Recall 是相對的,不能通過單一的Precision或Recall 來評測模型的優(yōu)劣,F(xiàn)1 值可以用來量化的權(quán)衡關(guān)系,定義如式(4)。
取70%數(shù)據(jù)集作為訓(xùn)練集,其余30%數(shù)據(jù)集作為測試集,不同模型的在測試結(jié)的測試結(jié)果如圖1所示。
圖1 模型評測結(jié)果對比圖
由于單個模型數(shù)據(jù)清洗前后的差距較小,對比不明顯,給出模型評測結(jié)果對比表。
由圖1可以看出,KNN 模型的準確率遠遠高于其它兩個模型,在測試集的準確率達到95.3%,所以對于英文字符的識別,具有很好的效果;由于特征數(shù)目對于多元線性回歸模型來說過多,所以效果很差;由于改數(shù)據(jù)集對于LightGbm 模型來說過小,所以效果較差。綜上所述,KNN 模型最適合光學(xué)字符識別。
綜上所述,KNN 是一種簡單有效的機器學(xué)習(xí)分類算法,優(yōu)點是訓(xùn)練代價較低、使用訓(xùn)練集的規(guī)模較小、更適合于多分類任務(wù)、準確率高、時間復(fù)雜度低,缺點是計算量較大、依賴于距離函數(shù)與K 值。KNN 模型不僅可以應(yīng)用于光學(xué)字符識別,也可以應(yīng)用于文本分類、用戶產(chǎn)品推薦、疾病預(yù)測等方面。