楊永琪 徐欣蕾 陳曦

摘要:支持向量機(SVM)是一種二分類模型,通過在給定的特征空間中找到兩個類別的數(shù)據(jù)樣本之間的最大間隔超平面,可以使任何兩個類別線性地分離。該文提出了不同核函數(shù)的SVM的分類模型,用于識別不同類型的手寫識別數(shù)字圖案。在此模型中,使用SHeen模塊中現(xiàn)有結(jié)構(gòu)作為訓(xùn)練的特征提取器,而核函數(shù)SVM的執(zhí)行作為識別器,該模型自動從原始手寫數(shù)字集圖像中提取特征并生成預(yù)測,通過MNIST數(shù)字?jǐn)?shù)據(jù)庫進行了驗證,并經(jīng)多個核函數(shù)和懲罰系數(shù)的調(diào)整、擬舍得到了較高的預(yù)測分類準(zhǔn)確率,最終呈現(xiàn)的預(yù)測結(jié)果準(zhǔn)確率達98.3%。
關(guān)鍵詞:手寫數(shù)字識別;支持向量機;核函數(shù)
中圖分類號:TP3 文獻標(biāo)識碼:A
文章編號:1009-3044(2020)06-0195-02
1簡介
支持向量機fSVM,Support Vector Machine)是一類按監(jiān)督學(xué)習(xí)的方式對數(shù)據(jù)進行二元分類的一種分類器(方法),其決策邊界為求解訓(xùn)練樣本的最大邊距分割超平面。支持向量機可分為三種:硬間隔支持向量機、軟間隔支持向量機、核函數(shù)支持向量機。其中,硬間隔支持向量機適用于無噪聲或離群點的數(shù)據(jù)集,其損失函數(shù)不存在,損失值為0;軟間隔支持向量機允許樣本集存在一定的分類錯誤,即存在部分噪聲或離群點,其優(yōu)化函數(shù)包括兩部分,一部分是支持向量到分割超平面的間隔距離,另一部分為誤分類的損失個數(shù);核函數(shù)支持向量機適用于非線性部分的數(shù)據(jù)集,對于在N維空間中線性不可分的數(shù)據(jù),在N+I維或更高維度的空間而變成線性可分的,其中常用的核函數(shù)為(RBF)高斯核函數(shù),高斯核函數(shù)可以將維度擴展到無窮維的空間,
SVM的主要優(yōu)點:
(1)有效解決高維特征的分類問題和回歸問題,在特征維度大于樣本數(shù)時依然有很好的效果;
(2)僅使用部分支持向量來做超平面的決策無須依賴全部數(shù)據(jù);
(3)核函數(shù)使用廣泛、靈活,從而可以從多角度來解決各種非線性的分類回歸問題;
(4)樣本量不是海量數(shù)據(jù)的時候,分類準(zhǔn)確率高,泛化能力強。
SVM的主要缺點:
(1)當(dāng)特征維度遠遠大于樣本數(shù)時則SVM的分類效果并不明顯;
(2)處理大樣本數(shù)據(jù)集時,核函數(shù)映射維度過高,計算量過大,影響運行效率;
(3)非線性問題的核函數(shù)選擇沒有通用標(biāo)準(zhǔn),難以選擇一個合適的核函數(shù);
(4)SVM對缺失數(shù)據(jù)、缺失值較為敏感。
2基于支持向量機的手寫數(shù)字識別
2.1設(shè)計流程
SVM模型采用了Sklearn模塊的ovr模式,對于Mnist數(shù)據(jù)集采用預(yù)處理的辦法進行歸一化、二值化、去噪等操作,再選取部分?jǐn)?shù)據(jù)作為訓(xùn)練數(shù)據(jù)集,打亂數(shù)據(jù)后,采用分層抽樣、交叉驗證地方式代入改進的SVM模型中進行模型訓(xùn)練,選用不同的核函數(shù)并調(diào)整權(quán)重系數(shù)C進行ovr的SVM模型,從而進行分類預(yù)測準(zhǔn)確率的實驗,并輸出文本報告、混淆矩陣、Loss迭代圖分析預(yù)測情況。
2.2支持向量機解決手寫數(shù)字識別分類問題的基本方法
基于SVM技術(shù)實現(xiàn)手寫數(shù)字的識別分類的基本辦法包括四部分:
(1)準(zhǔn)備數(shù)據(jù):讀取Mnist中手寫數(shù)字模塊的數(shù)據(jù)集,并將該部分?jǐn)?shù)據(jù)集重新打亂,避免識別過程中造成誤差,并將其劃分為訓(xùn)練集和測試集兩部分,同時采用分層抽樣、交叉驗證的辦法對數(shù)據(jù)集進行劃分。
(2)數(shù)據(jù)預(yù)處理:對劃分好的數(shù)據(jù)集進行歸一化、二值化、降噪等預(yù)處理操作,實現(xiàn)識別手寫數(shù)字中有效信息的簡易化,并提升手寫數(shù)字圖像的識別精度,本文中該數(shù)據(jù)集采用的手寫數(shù)字圖片為28*28的像素,也可以預(yù)先進行降維操作,以便后期引入核函數(shù)時簡化計算。
(3)特征提取:通過結(jié)構(gòu)化特征提取或統(tǒng)計化特征提取的方法對手寫數(shù)字中的各個圖像特征進行處理,以一個圖像特征的提取為例,即將圖像分成n*n的區(qū)域,統(tǒng)計每塊區(qū)域中像素點所占的百分比與SVM中參數(shù)的選擇f核函數(shù)與懲罰系數(shù)C的選擇),當(dāng)不需要參數(shù)選擇時,可以采用默認(rèn)參數(shù);此過程可采用Sklearn模塊中的LinearSVC或SVC工具包等實現(xiàn)。
(4)訓(xùn)練及測試:通過matshowO方法繪制該模型的混淆矩陣,并對采用不同參數(shù)(核函數(shù)與懲罰系數(shù)C)的SVM模型進行混淆矩陣的比較;輸出詳細(xì)報告,給出不同參數(shù)下SVM模型的整體準(zhǔn)確性、預(yù)測精度、回召率、支持向量個數(shù)等數(shù)值。
3測試結(jié)果及分析
該SVM模型中通過選用Mnist手寫數(shù)字?jǐn)?shù)據(jù)集,對其經(jīng)數(shù)據(jù)預(yù)處理后,先通過Skleam包中的LinearSVC工具包中的函數(shù)進行處理,得到其整體準(zhǔn)確性均在90%水平浮動,故又引入了SVC函數(shù),通過對RBF、Polynomial、Linear、Sigmoid等核函數(shù)的選擇,運用Ovr分類方案,得到了在高斯核函數(shù)、設(shè)置懲罰系數(shù)為15的條件下得到最高、最精確的預(yù)測率98.3%及實驗精度。
4總結(jié)
本文通過Mnist數(shù)據(jù)集,選取了30%作為測試集、70%作為訓(xùn)練集進行實驗,經(jīng)Sklearn模塊中的函數(shù)進行實現(xiàn),在選擇高斯核函數(shù)、設(shè)置懲罰系數(shù)為15的模型參數(shù)條件下可得到最精確的預(yù)測率98.3%及實驗精度,得到了高斯核對于數(shù)據(jù)集的擬合程度較高,并且使用高斯核的SVM模型整體準(zhǔn)確性及各個報告參數(shù)也顯著提升的結(jié)論。顯示了手寫數(shù)字識別的混淆矩陣,其中值得注意的是,在“3”和“5”這類手寫數(shù)字之間發(fā)生的混淆的概率較大,但經(jīng)相關(guān)參數(shù)的選擇與修改本文最終得到了較為準(zhǔn)確的預(yù)測結(jié)果。