(廣東警官學(xué)院 網(wǎng)絡(luò)信息中心,廣東 廣州 510230)
為了進(jìn)行大數(shù)據(jù)分析,存儲的數(shù)據(jù)首先要是有效的。計(jì)算機(jī)的普及帶動了各行各業(yè)信息化的飛速發(fā)展,這也使得電子數(shù)據(jù)變得非常普遍,特別是隨著當(dāng)今大數(shù)據(jù)和人工智能的迅速崛起,大到國家層面、小至個人用戶,都越來越關(guān)心數(shù)據(jù)存儲問題。隨著數(shù)據(jù)量的不斷增大,數(shù)據(jù)所包含的經(jīng)緯信息也越來越復(fù)雜,導(dǎo)致了系統(tǒng)之間的信息孤立現(xiàn)象越來越明顯,在一定程度上影響了數(shù)據(jù)的有效利用[1]。
面對復(fù)雜的信息流,數(shù)據(jù)很多時候是不完整的,甚至本身就是有質(zhì)量問題的,因此,想要得到更加有價值的信息,提高數(shù)據(jù)源的可用性和多樣性,數(shù)據(jù)中心和業(yè)務(wù)系統(tǒng)的數(shù)據(jù)質(zhì)量就成為了非常重要的因素,數(shù)據(jù)檢測環(huán)節(jié)變得不可忽視?;诖?,本文中通過智能分類算法構(gòu)建數(shù)據(jù)質(zhì)量檢測方法,對進(jìn)入數(shù)據(jù)中心的數(shù)據(jù)進(jìn)行檢測分析及規(guī)劃后期的數(shù)據(jù)處理問題[2]。
建立數(shù)據(jù)質(zhì)量檢測方法模型的主要思路是,通過提取數(shù)據(jù)特征值,對數(shù)據(jù)進(jìn)行歸類,從而對數(shù)據(jù)進(jìn)行處理。圖1中給出了改進(jìn)后的數(shù)據(jù)質(zhì)量檢測模型,包括特征值提取、智能分類和后續(xù)流程的設(shè)計(jì)[3]。
圖1 數(shù)據(jù)質(zhì)量檢測模型
數(shù)據(jù)質(zhì)量檢測模型包含數(shù)據(jù)采集、數(shù)據(jù)清洗、數(shù)據(jù)特征的定義、數(shù)據(jù)分類算法和數(shù)據(jù)的分析及處理。
數(shù)據(jù)采集是指建設(shè)程序接口,從不同的業(yè)務(wù)系統(tǒng)中將分散的業(yè)務(wù)數(shù)據(jù)引流到數(shù)據(jù)中心來集中存儲,形成業(yè)務(wù)大數(shù)據(jù)。
數(shù)據(jù)清洗是針對引流到數(shù)據(jù)中心的各個模塊數(shù)據(jù)存儲前的預(yù)操作,通過編制篩選算法及人工干預(yù),去除掉臟數(shù)據(jù)和不需要的數(shù)據(jù)。
數(shù)據(jù)特征的定義也即提取特征值,是對數(shù)據(jù)采集與清洗之后深入了解數(shù)據(jù)的屬性,掌握關(guān)鍵數(shù)據(jù)的含義、來源、存儲方式[4]。
基于智能分類算法的數(shù)據(jù)檢測是指根據(jù)事先制定的算法對數(shù)據(jù)的檢測和分類。
數(shù)據(jù)的分析及處理是對分類后的數(shù)據(jù)的進(jìn)一步處理,包括對數(shù)據(jù)準(zhǔn)確性、一致性以及完整性進(jìn)行評估,由數(shù)據(jù)管理人員對數(shù)據(jù)進(jìn)行更正、修復(fù),滿足用戶需求[5]。
數(shù)據(jù)源信息結(jié)構(gòu)如表1所示。該表的作用是處理數(shù)據(jù)源信息并保存相關(guān)的信息,以便于用戶查閱和分類算法的調(diào)用。由于數(shù)據(jù)具有多重信息且需要被存儲起來,而數(shù)據(jù)庫的信息基本由此來提供,因此,用戶在操作時可以方便地獲取數(shù)據(jù)源的基本信息[6]。在該信息結(jié)構(gòu)表中,PROPERTY_NAME指的是每一種元數(shù)據(jù)屬性,由上述分析可知,每一種數(shù)據(jù)源的PROPERTY_NAME會有多個,其對應(yīng)的成員信息如下:
表1 數(shù)據(jù)源信息結(jié)構(gòu)表
public class PropertyName initialize{
private String ip;//數(shù)據(jù)庫連接的ip地址;
private String pmt;//數(shù)據(jù)庫連接的端口信息;
private String dbName;//連接的數(shù)據(jù)庫名稱;
private String sch;//連接的模式名稱;
private String dri;//數(shù)據(jù)庫驅(qū)動信息;
private String usename;//登錄數(shù)據(jù)庫的用戶名;
private String psw;//登錄數(shù)據(jù)庫的密碼;
private String initPolSize;//數(shù)據(jù)庫初始化連接數(shù);
private String minPolSize;//數(shù)據(jù)庫最小連接數(shù);
private String maxPolSize;//數(shù)據(jù)庫最大連接數(shù);
private String waitConTime;//連接等待時間;
private String parClass;//解析類;
private String testSql;//測試數(shù)據(jù)庫鏈接的SQL語句
}
本文中通過數(shù)據(jù)庫、數(shù)據(jù)表和業(yè)務(wù)場景描述這3個緯度來對數(shù)據(jù)質(zhì)量的特點(diǎn)進(jìn)行詳細(xì)表述,并舉例分析。
數(shù)據(jù)庫:收集各個業(yè)務(wù)系統(tǒng)的所有數(shù)據(jù)庫及數(shù)據(jù)庫的用途信息。在程序中定義2列,即數(shù)據(jù)庫名和數(shù)據(jù)庫描述。
數(shù)據(jù)表:收集各個數(shù)據(jù)庫的所有業(yè)務(wù)表及其用途信息,在程序中也相應(yīng)的定義3列,即數(shù)據(jù)表名、數(shù)據(jù)表描述和主要字段信息。
業(yè)務(wù)場景:對關(guān)系數(shù)據(jù)庫和數(shù)據(jù)而言,通過數(shù)據(jù)庫名及備注及具體業(yè)務(wù)表的表名和備注,還不能完整的模擬數(shù)據(jù)的分類屬性,因此需要進(jìn)一步定義數(shù)據(jù)的場景信息來描述數(shù)據(jù)的完整性信息。
本文中將參照數(shù)據(jù)庫、數(shù)據(jù)庫表、業(yè)務(wù)場景的各類信息提取特征值,構(gòu)造15維度的特征向量,然后對數(shù)據(jù)通過式(1)進(jìn)行特征值標(biāo)準(zhǔn)化操作。
(1)
式中:x、y分別為特征向量X和被標(biāo)準(zhǔn)化后的特征向量Y的元素;xmax、xmin為特征向量X的最大值和最小值;ymax、ymin為被標(biāo)準(zhǔn)化后的特征向量Y最大值和最小值。
2.2.1 相對率
經(jīng)過對特征值的演算變換,對于提取的數(shù)據(jù)特征值通過式(2)計(jì)算數(shù)據(jù)的相對率,
(2)
式中:Ps為功率;f指對該數(shù)據(jù)進(jìn)行快速傅里葉變換。
2.2.2 相對比率
計(jì)算數(shù)據(jù)在整個使用周期中的相對比率非常重要。相對比率采用式(3)進(jìn)行計(jì)算,
(3)
式中:Pr指比率;i、j分別代表數(shù)據(jù)使用周期的開始與結(jié)束。
2.2.3 平均比率
計(jì)算數(shù)據(jù)在使用周期內(nèi)的平均比率Sf為
(4)
數(shù)據(jù)質(zhì)量檢測可通過不同算法實(shí)現(xiàn),以便更好地去發(fā)現(xiàn)數(shù)據(jù)中存在的錯誤、紕漏等相關(guān)問題。目前有很多不同的檢測模式可以對數(shù)據(jù)進(jìn)行檢測,一種是數(shù)據(jù)挖掘的利用統(tǒng)計(jì)學(xué)方法進(jìn)行檢測,另一種則是設(shè)計(jì)質(zhì)量約束規(guī)則對數(shù)據(jù)進(jìn)行檢測。數(shù)據(jù)挖掘方法屬于自動化操作,雖然目前計(jì)算機(jī)對于數(shù)據(jù)中包含的專業(yè)術(shù)語、場景信息等相關(guān)數(shù)據(jù)還存在很多無法理解并模擬的瓶頸問題,導(dǎo)致其檢測范圍有一定的局限性,必須根據(jù)具體問題來調(diào)整分類特征值和支持向量機(jī)(SVM)算法的核函數(shù),但是人工智能技術(shù)是大勢所趨,這并不影響該方法的普及,為此本文中選擇第1種方法進(jìn)行實(shí)驗(yàn)。
對于數(shù)據(jù)中心來說,數(shù)據(jù)量十分龐大,數(shù)據(jù)質(zhì)量規(guī)則也很復(fù)雜,要想將這些規(guī)則進(jìn)行有效的組織和存儲是非常困難的。綜合已有文獻(xiàn)及人工智能技術(shù)的發(fā)展趨勢,采用智能分類算法是較為可行的途徑,數(shù)據(jù)檢測的智能分類算法流程如圖2所示。
圖2 智能分類算法流程圖
該算法將模糊SVM算法擴(kuò)展到多核模糊SVM算法,以獲得較好的執(zhí)行效果,但是,這些基于核的數(shù)據(jù)分類算法最關(guān)鍵的步驟是盡可能地組合和選擇最好的核函數(shù),而這一步通常受到數(shù)據(jù)先驗(yàn)知識和期望挖掘模式的嚴(yán)重影響,目前尚未找到尋找最優(yōu)核的特定方法[7]。選擇合適的核函數(shù)是核算法成功的關(guān)鍵,而從一個預(yù)定義的組中選擇一個單一核函數(shù)是不足以代表數(shù)據(jù)檢測數(shù)據(jù)中一個樣本具有2個或多個類別的特性的。于是,近年來流行采用多核學(xué)習(xí)方法來替代固定的單核并取得較好的效果,應(yīng)用范圍也很廣。
本文中將多核學(xué)習(xí)應(yīng)用到模糊SVM中,并提出基于多核的模糊SVM算法,它能夠?qū)ふ易顑?yōu)隸屬度并可同時優(yōu)化一組核函數(shù)組合的非負(fù)的權(quán)值數(shù)組。文中還將在數(shù)據(jù)檢測分類過程中嵌入特征權(quán)重計(jì)算,選擇不同的數(shù)據(jù)特征以產(chǎn)生不同的相似度量(由不同核函數(shù)一一對應(yīng)的)。多核模糊SVM算法容易執(zhí)行,對于數(shù)據(jù)類間存在明顯重疊的特性具有較好的分類效果。本文中根據(jù)文獻(xiàn)報(bào)道的傳統(tǒng)SVM算法,派生出多核模糊SVM算法,之后將討論實(shí)驗(yàn)結(jié)果,并進(jìn)行總結(jié)。
核函數(shù)通常用于解決無效特征及相似度量問題。樣本特性實(shí)效主要有2個方面原因:一是數(shù)據(jù)關(guān)系呈現(xiàn)非線性關(guān)系,通過核函數(shù)能把相似的數(shù)據(jù)定義到一個更為合適的空間,從而獲得更好的模型;另一方面,選取的特征向量未必能夠真實(shí)反映數(shù)據(jù)的固有特性,由此計(jì)算得到的相似度并不能反映數(shù)據(jù)之間真正的相似度。
構(gòu)建多核函數(shù)集合有多種途徑,根據(jù)上面所提及的2個問題,通常采用2種方法來構(gòu)建。第1種方法:給定一組代表樣本特性的數(shù)據(jù)向量,可以在Hilbert空間內(nèi)采用一些可再生的核函數(shù)進(jìn)行多核構(gòu)建。例如,可以通過不同的核函數(shù)將樣本數(shù)據(jù)映射到不同的非線性空間并在這些空間下進(jìn)行數(shù)據(jù)相似度的計(jì)算。第2種方法:給定一組原始樣本數(shù)據(jù),可以提取不同類型的特征向量。例如,給定一組衛(wèi)星圖像集合,可以提取到顏色、紋理等不同類型的特征。在組合數(shù)據(jù)實(shí)驗(yàn)中,為了便于分析,可采取每一維作為一個特征,這樣可以直觀解釋實(shí)驗(yàn)結(jié)果。
對核的選擇原則一般是采用那些已經(jīng)被證明是有效的核(特征)。比如,rbf核已被證明對許多分類問題有效,而poly核是一種流行的、有效特征識別的映射,被應(yīng)用于圖像識別當(dāng)中。一般地,核(特征)選擇越多,執(zhí)行效果會越好,但是執(zhí)行效果同樣要受到計(jì)算資源和算法對不良核的敏感性等因素的限制。
一般來說,SVM算法決策樹只能對應(yīng)于某一組特定的函數(shù)集合,而不能是混合的函數(shù)集合。
數(shù)據(jù)檢測中,組合多核函數(shù)的模糊SVM算法,其決策樹和算法調(diào)整為
(5)
(6)
引理1 Mercer核的非負(fù)線性組合仍為Mercer核。
以定理2為理論邏輯基礎(chǔ),可以利用現(xiàn)有常用poly、rbf、erbf核函數(shù)構(gòu)造新的模糊多核核函數(shù),使其能夠適用于數(shù)據(jù)樣本集的訓(xùn)練學(xué)習(xí)[7]。
多核模糊SVM算法數(shù)據(jù)分類檢測步驟如下:
1)將特征矩陣?yán)锏臄?shù)據(jù)進(jìn)行歸一化處理。
2)按照式(5)建立分類數(shù)據(jù)的模糊集。
3)根據(jù)式(5)、(6)確定數(shù)據(jù)樣本點(diǎn)模糊隸屬度。
4)選擇不同的核函數(shù)進(jìn)行組合。
5)根據(jù)SVM算法的決策樹,運(yùn)用數(shù)據(jù)對多核模糊SVM算法進(jìn)行訓(xùn)練,然后進(jìn)行樣本測試。在xml文件中,采用定義的規(guī)則來標(biāo)記每一條數(shù)據(jù)的檢測情況,對于關(guān)系數(shù)據(jù)庫來說,它是一個表名或視圖名;對于多維數(shù)據(jù)庫來說,它可能是一個數(shù)據(jù)立方體名。
實(shí)驗(yàn)采用c均值聚類和密度法相結(jié)合的雙隸屬法來確定分類樣本的隸屬度。根據(jù)樣本點(diǎn)到類中心的距離,實(shí)驗(yàn)分別采用不同的計(jì)算方法,以設(shè)計(jì)智能分類算法的分類器邏輯。
第1種:類中心附近的樣本點(diǎn)的計(jì)算,
(7)
式中:yi∈{-1, 1},yi=-1是負(fù)類,yi=1是正類;γ>0,為可調(diào)參數(shù);R+為正有理數(shù),R-為負(fù)有理數(shù);D為樣本函數(shù),0+表示從大于0的一側(cè)趨于0,0-表示從小于0的一側(cè)趨于0。
第2種:遠(yuǎn)離類中心的樣本點(diǎn)的計(jì)算,
(8)
式中: 0<η≤1,θ>0,為可調(diào)參數(shù);ρ+為樣本點(diǎn)的同類點(diǎn)密度,ρ-為樣本點(diǎn)的異類點(diǎn)密度。
平均準(zhǔn)確率定義為識別正確的樣本數(shù)目與總樣本數(shù)目的比值。數(shù)據(jù)檢測準(zhǔn)確率MSSRR計(jì)算公式為
(9)
式中:Ci為各子類正確分類數(shù)目;Etot為樣本總數(shù)。
本文中使用到的樣本均搜集自真實(shí)數(shù)據(jù)中心應(yīng)用環(huán)境,其中正確數(shù)據(jù)1 500個,錯誤數(shù)據(jù)1 500個。
根據(jù)訓(xùn)練數(shù)據(jù)集得到的用于測試的智能分類算法,經(jīng)過訓(xùn)練,算法中l(wèi)inear、poly、rbf、erbf等4個核函數(shù)的權(quán)值及參數(shù)值列于表2。分類結(jié)果與Kappa系數(shù)列于表3。
表2 采用數(shù)據(jù)集訓(xùn)練得到的分類算法參數(shù)
表3 分類結(jié)果與Kappa系數(shù)
經(jīng)過對多核模糊SVM算法進(jìn)行訓(xùn)練和測試,試驗(yàn)平均分類準(zhǔn)確率可以達(dá)到82.09%。
以下將對設(shè)計(jì)的數(shù)據(jù)質(zhì)量檢測系統(tǒng)進(jìn)行測試,驗(yàn)證是否滿足預(yù)定目標(biāo)。本文中的智能分類算法的模擬測試系統(tǒng)是基于B/S結(jié)構(gòu)而開發(fā)的,采用HTTP/HTML的協(xié)議訪問方式,同時采用Load Runner工具對該系統(tǒng)進(jìn)行大用戶量負(fù)載模擬測試。 為了對模擬算法系統(tǒng)進(jìn)行清晰的實(shí)驗(yàn)分析,本文中的測試選擇單一任務(wù)作為測試對象,即設(shè)計(jì)一個獨(dú)立場景,驗(yàn)證不同訪問方式下系統(tǒng)的表現(xiàn)。 表4所示為設(shè)計(jì)的獨(dú)立場景的實(shí)驗(yàn)情況。
表4 獨(dú)立場景
在單一場景中,對于順序執(zhí)行測試,算法運(yùn)行全部成功,平均響應(yīng)時間為218 s;對于并發(fā)執(zhí)行測試,算法同樣全部運(yùn)行成功,平均響應(yīng)時間是319 s。
本文中雖然對數(shù)據(jù)檢測的一些問題進(jìn)行了研究,但是,針對業(yè)務(wù)數(shù)據(jù)量龐大及數(shù)據(jù)來源豐富的情況,在處理這些數(shù)據(jù)時需要綜合考慮多方面的因素,才能制定不同的檢測算法細(xì)節(jié)。此外,對于不同的數(shù)據(jù)中心,具體業(yè)務(wù)情況不同,其數(shù)據(jù)的特點(diǎn)又會有很大不同,因此需要更加充分地運(yùn)用統(tǒng)計(jì)工具,結(jié)合數(shù)據(jù)挖掘的理論,有效提高數(shù)據(jù)識別的效率,以滿足人工智能趨勢下數(shù)據(jù)檢測和大數(shù)據(jù)管理的需求。