董 婷
(榆林學(xué)院 信息工程學(xué)院, 陜西 榆林 719000)
從用戶(hù)的角度來(lái)看,在觀察web頁(yè)面時(shí),把語(yǔ)義塊作為單一的對(duì)象來(lái)看,而不會(huì)研究web頁(yè)面的內(nèi)部是怎樣的。分塊之后頁(yè)面快的高度、寬度,色素點(diǎn)等一系列的屬性對(duì)于整個(gè)頁(yè)面塊對(duì)于人視覺(jué)的影響是怎樣的,這些通過(guò)人的感官是無(wú)法進(jìn)行準(zhǔn)確判斷的。隨著機(jī)器學(xué)習(xí)手段的發(fā)展,采用支持向量機(jī)這種方式研究問(wèn)題,分析問(wèn)題規(guī)律的案例也在不斷增多,為通過(guò)SVM技術(shù)分析頁(yè)面塊的聯(lián)系提供了更多的理論支持。
數(shù)據(jù)源來(lái)自UCI數(shù)據(jù)庫(kù)中的Page Blocks Classification數(shù)據(jù)包,該數(shù)據(jù)來(lái)自54個(gè)不同的網(wǎng)頁(yè)文檔,特性如下:實(shí)例共5473個(gè),屬性共10個(gè),所有的屬性都是數(shù)字,都是可通過(guò)C4.5的可讀格式,沒(méi)有未知量。根據(jù)測(cè)試得到的輸入變量包括10個(gè),分別是height、lenght、area、eccen、p_and、mean_tr、blackpix、wb_trans。這幾種屬性分別對(duì)網(wǎng)頁(yè)頁(yè)面被分割后的寬度,高度,偏心塊長(zhǎng)度以及高度,黑色塊內(nèi)的像素點(diǎn)的比例,黑色像素總數(shù)RLAS后的位圖塊等一系列的的描述。
支持向量機(jī)是根據(jù)Vapnik提出的結(jié)構(gòu)風(fēng)險(xiǎn)最小化原則來(lái)提高學(xué)習(xí)機(jī)泛化能力的方法,其本質(zhì)是一個(gè)凸二次優(yōu)化問(wèn)題,能夠保證找到的極值解就是全局最優(yōu)解[1]。求兩個(gè)樣本的最優(yōu)分類(lèi)面是它的主要目的[2]。最優(yōu)分類(lèi)面既要將兩類(lèi)樣本正確分開(kāi),又要使它們之間的間隔最大。一般用一次方程來(lái)表示分類(lèi)面方程即(w·x)+b=0(b為常數(shù))。經(jīng)過(guò)歸一化后,得到的樣本集(xi,yi),xi∈χ=Rn,yi∈1,-1},i=1,…l,是線性可分的并滿(mǎn)足
yi((w·xi)+b)≥1,i=1,…,l
(1)
這時(shí)的分類(lèi)間隔為2/‖w‖ ,要使間隔取最大值,那么就要使
Φ(w)=1/2‖w‖2=1/2wTw=1/2(w·w)
(2)
取最大值[3]。
SVM的兩大重要思想是[4]: (1)線性不可分時(shí),SVM利用非線性映射算法,樣本的非線性特征會(huì)進(jìn)行線性分析;(2) SVM建構(gòu)最優(yōu)分割超平面,使整個(gè)樣本空間風(fēng)險(xiǎn)低于某個(gè)概率的上邊界。
SVM在它堅(jiān)實(shí)的理論基礎(chǔ)上;使它結(jié)構(gòu)風(fēng)險(xiǎn)變得最小,它不僅解決了傳統(tǒng)的過(guò)學(xué)習(xí)方法而且解決了陷入局部最小的問(wèn)題,它的泛化能力也很強(qiáng);SVM在不增加計(jì)算的復(fù)雜性和維數(shù)災(zāi)難的情況下,采用核函數(shù)方法,向高維空間映射,大大減小了計(jì)算量等優(yōu)勢(shì)得到了廣泛應(yīng)用。本課題正是在這一系列堅(jiān)實(shí)的理論基礎(chǔ)之上開(kāi)展的。
在求解分類(lèi)問(wèn)題,我們采用支持向量機(jī)時(shí),首要選擇非常合適的核函數(shù),再選擇相關(guān)參數(shù)。LIBSVM-2.86軟件包中對(duì)剛才得到的數(shù)據(jù)進(jìn)行分析和對(duì)比,找到最合適的模型[5]。
(1) 收集樣本,整理數(shù)據(jù),進(jìn)行標(biāo)準(zhǔn)化設(shè)置
LIBSVM按一定的數(shù)據(jù)格式把每一個(gè)樣本特征設(shè)置成實(shí)數(shù)行向量,格式設(shè)置為:
其中:label是訓(xùn)練數(shù)據(jù)集的目標(biāo)值,對(duì)于分類(lèi)可以是任意實(shí)數(shù)[6]。index是從1開(kāi)始的整數(shù),表示特征值的序號(hào);value是用來(lái)訓(xùn)練或預(yù)測(cè)的數(shù)據(jù),即特征值或自變量,一般為實(shí)數(shù)。以下為本樣本中的部分?jǐn)?shù)據(jù):
表1 樣本部分?jǐn)?shù)據(jù)
集合構(gòu)建完之后,任意選取部分?jǐn)?shù)據(jù)來(lái)進(jìn)行訓(xùn)練。進(jìn)而對(duì)數(shù)據(jù)進(jìn)行預(yù)測(cè),我們先按照比例為1:1來(lái)選取樣本,我們從總數(shù)據(jù)集合的數(shù)據(jù)中隨機(jī)選取樣本,建立page_predict和page_train兩部分。
(2) 訓(xùn)練數(shù)據(jù),生成模型
進(jìn)行訓(xùn)練,輸入命令:svm-train page_train page_train.model,其中page_train是訓(xùn)練文本、page_train.model是訓(xùn)練后的輸出文本,輸出權(quán)系數(shù)及各支持向量。
(3)利用獲取的模型進(jìn)行測(cè)試與預(yù)測(cè)
用已經(jīng)分類(lèi)好的數(shù)據(jù)集page_train對(duì)page_predict進(jìn)行預(yù)測(cè),page_predict.predict可以與元數(shù)據(jù)進(jìn)行對(duì)比從而判斷預(yù)測(cè)數(shù)據(jù)與預(yù)測(cè)結(jié)果的正確性。
表2 生成模型
從圖1可以看到不同顏色等值線,由于C和g的取值不同,表現(xiàn)出不同分類(lèi)效果,如綠色線條a,曲線趨于復(fù)雜,擬合效果好[7]。黃色線條f,曲線趨于平滑,擬合效果略差。當(dāng)核函數(shù)參數(shù)g取不同的值,懲罰因子C需配以不同的值,擬合效果才好,因此存在核函數(shù)參數(shù)數(shù)和懲罰因子的最佳匹配問(wèn)題[8]。當(dāng)C = 32768 和g=0.0078125取最佳參數(shù)時(shí),交叉驗(yàn)證精度高達(dá)97.004%,這就是最優(yōu)結(jié)果。實(shí)驗(yàn)表明該方法能夠?qū)?yè)面塊的相關(guān)屬性快速有效的評(píng)判。
圖1 調(diào)優(yōu)時(shí)gnuplot訓(xùn)練文本所形成的向量機(jī)
SVM的分析模型不受樣本空間維數(shù)的限制,關(guān)鍵在于支持向量的數(shù)目,所以支持向量樣本集具有一定的魯棒性。該模型為客觀數(shù)據(jù)驅(qū)動(dòng)評(píng)判方法提供了理論依據(jù),并為理化數(shù)據(jù)測(cè)試方法的研究與應(yīng)用奠定了理論基礎(chǔ)。