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