国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于SVM的大學(xué)生熱點(diǎn)問(wèn)題的研究

2016-07-01 09:59:36作者楊世瀚李婷婷
電子制作 2016年9期
關(guān)鍵詞:熱點(diǎn)問(wèn)題考研向量

作者 / 楊世瀚、李婷婷

?

基于SVM的大學(xué)生熱點(diǎn)問(wèn)題的研究

作者 / 楊世瀚、李婷婷

基于SVM(Support Vector Machine)分類器來(lái)建立大數(shù)據(jù)的文本分類機(jī)制是目前的熱點(diǎn)研究之一。針對(duì)于怎樣將SVM應(yīng)用到大學(xué)生網(wǎng)絡(luò)社區(qū)文本數(shù)據(jù)的分析,并從中挖掘出大學(xué)生熱點(diǎn)問(wèn)題,是SVM應(yīng)用的一個(gè)新嘗試。利用SVM可以在大規(guī)模的網(wǎng)絡(luò)社區(qū)文本數(shù)據(jù)中得出準(zhǔn)確的訓(xùn)練模型以及預(yù)測(cè)結(jié)果,在此基礎(chǔ)上給出了特征向量構(gòu)造以及有效選取SVM參數(shù)的方法,同時(shí)給出了剔除重復(fù)樣本的策略,最后還會(huì)研究特征選擇對(duì)SVM分類效率的影響。

SVM;大數(shù)據(jù);網(wǎng)絡(luò)社區(qū)文本數(shù)據(jù);文本分類

引言

基于SVM分類器來(lái)研究大學(xué)生熱點(diǎn)問(wèn)題是一個(gè)新的嘗試。從網(wǎng)絡(luò)上獲取的網(wǎng)絡(luò)社區(qū)文本數(shù)據(jù)是相當(dāng)龐大的,針對(duì)這類文本數(shù)據(jù)的分類也是比較少見(jiàn)的。SVM具有很好的泛化能力和出色的分類性能,將SVM用于網(wǎng)絡(luò)社區(qū)文本數(shù)據(jù)的分類并以此來(lái)研究大學(xué)生熱點(diǎn)問(wèn)題是可行的。

1. SVM基礎(chǔ)

在機(jī)器學(xué)習(xí)領(lǐng)域,支持向量機(jī)SVM(Support Vector Machine)是一個(gè)有監(jiān)督的學(xué)習(xí)模型,通常用來(lái)進(jìn)行模式識(shí)別、分類、以及回歸分析。

SVM進(jìn)行分類的步驟有:樣本整理、特征選擇、計(jì)算特征權(quán)重、模型訓(xùn)練與預(yù)測(cè)[1]。

從數(shù)據(jù)庫(kù)中提取已預(yù)處理的文本,將樣本標(biāo)簽設(shè)定為-1和1。然后根據(jù)地理、人文差異將大學(xué)生網(wǎng)絡(luò)社區(qū)數(shù)據(jù)的文本分為兩類,-1為來(lái)自北方的大學(xué),1為來(lái)自南方的大學(xué)。

SVM進(jìn)行特征選擇,就是將特征的個(gè)數(shù)限制在一個(gè)合理的范圍內(nèi),即確定特征集。特征選擇就是從特征集中選擇一些代表性的詞。

針對(duì)大學(xué)生網(wǎng)絡(luò)社區(qū)文本,還需要將這些文本轉(zhuǎn)換成特征向量。首先,對(duì)文本進(jìn)行分詞,提取出所有的詞。然后根據(jù)已經(jīng)生成的詞典,如果詞典中的詞出現(xiàn),就在相應(yīng)對(duì)應(yīng)的位置填入該詞的詞頻。最后將生成的向量進(jìn)行歸一化,例如

表1

經(jīng)過(guò)以上幾個(gè)步驟,文本轉(zhuǎn)換為向量的形式后。就是進(jìn)行SVM模型訓(xùn)練和預(yù)測(cè)了。

模型預(yù)測(cè)過(guò)程:首先將未知文本進(jìn)行分詞,并確定它的特征向量,然后將這些已經(jīng)進(jìn)行分詞的樣本放到SVM模型中,設(shè)置好配置文件,最后就是將這些訓(xùn)練好的樣本進(jìn)行分類,標(biāo)簽標(biāo)識(shí),以及得出它的隸屬度分?jǐn)?shù)。至于預(yù)測(cè),一般都是通過(guò)MATLAB來(lái)實(shí)現(xiàn)。

2. SVM參數(shù)選擇和重復(fù)樣本剔除

微博是一個(gè)信息流量相當(dāng)大的網(wǎng)絡(luò)社區(qū),其內(nèi)容格式非常散亂,數(shù)據(jù)噪聲較大,人工審視或基本的統(tǒng)計(jì)選取參數(shù)很難提煉出最有效的參數(shù),因此必須進(jìn)行嚴(yán)格的SVM參數(shù)的選取。

SVM中最重要的兩個(gè)參數(shù)為C和gamma,C是懲罰系數(shù),即對(duì)誤差的寬容度。C越高,說(shuō)明越不能容忍出現(xiàn)誤差。C過(guò)大或過(guò)小,泛化能力都會(huì)變差。

徑向基函數(shù)RBF里sigma和gamma的關(guān)系如下:

gamma是選擇RBF函數(shù)作為kernel后,該函數(shù)自帶的一個(gè)參數(shù)。隱含地決定了數(shù)據(jù)映射到新的特征空間后的分布,gamma越大,σ會(huì)很小,支持向量越少,gamma值越小,σ會(huì)很大,支持向量越多。同時(shí)支持向量的個(gè)數(shù)都會(huì)影響訓(xùn)練與預(yù)測(cè)的速度。

圖1 C,gamma組成的二維參數(shù)矩陣

如圖1所示,可以理解為:在C,gamma組成的二維參數(shù)矩陣中,依次實(shí)驗(yàn)每一組參數(shù)的效果。

從圖1中可以看出,每組不同的C和gamma得到的矩陣相差甚遠(yuǎn),選擇不同的參數(shù)必然會(huì)有很大的偏差,造成分類不準(zhǔn)確,甚至錯(cuò)誤。因此參數(shù)的選擇就變得極其重要了。

那么該如何選取參數(shù)C和gamma的最佳值呢?假設(shè)現(xiàn)在有1000個(gè)大學(xué)的大學(xué)生對(duì)熱點(diǎn)關(guān)注的訓(xùn)練樣本,300個(gè)大學(xué)的大學(xué)生對(duì)熱點(diǎn)關(guān)注的測(cè)試樣本(測(cè)試、訓(xùn)練樣本不交疊),特征維數(shù)可能是足球,考研,買房,買車等熱點(diǎn),共選取2000維。最佳C和gamma的思想是設(shè)置C和gamma的取值范圍,默認(rèn)值為C=2?(-8),2?(-4),...,2?(8),gamma= 2?(-8),2?(-4),...,2?(8)),先把具有最小的那組C和gamma認(rèn)為是最佳的C和gamma,并依次使C和gamma的冪分別加1,最后將每組C和gamma放到LIBSVM進(jìn)行訓(xùn)練,直至得出最佳的C和gamma,如圖2所示參數(shù)選擇結(jié)果圖。

圖2 尋參數(shù)選擇結(jié)果圖

圖3 參數(shù)優(yōu)化前后的精確度對(duì)比

如圖2所示,X、Y軸是 log2(C),log2(g),準(zhǔn)確率97的點(diǎn)所對(duì)應(yīng)的 C, gamma 的組合就是最佳的參數(shù)組。最后將選取一組最佳的C和gamma放到交叉驗(yàn)證(cross validation)中進(jìn)行測(cè)試,對(duì)比參數(shù)優(yōu)化前后的SVM分類精確度,如圖3所示。

圖3中X軸是樣本數(shù),單位是萬(wàn);Y軸是精確度,單位是百分比。method1曲線和method3曲線代表的是C過(guò)大、gamma過(guò)大的SVM精確度,method2曲線代表的是最佳參數(shù)的SVM精確度。因此,在確定了最佳參數(shù)后,SVM分類的精確度最高。

盡管在整理樣本時(shí),已經(jīng)進(jìn)行了預(yù)處理。但是對(duì)于微博這種信息量大的平臺(tái)而言,重復(fù)樣本在預(yù)處理的時(shí)候還是被保留下來(lái)了。那么這些重復(fù)樣本會(huì)對(duì)SVM模型產(chǎn)生什么影響呢?

假設(shè)在一個(gè)訓(xùn)練樣本中北方大學(xué)生的樣本數(shù)為1000,南方大學(xué)生的樣本數(shù)為2000,然后將北方大學(xué)生的樣本數(shù)重復(fù)一倍,即構(gòu)造了一個(gè)北方大學(xué)生的樣本數(shù)2000,然后測(cè)試一個(gè)包含北方大學(xué)生的樣本1,南方大學(xué)生的樣本9的樣本。最終結(jié)果如圖4所示。

圖4 重復(fù)樣本對(duì)結(jié)果的影響

從結(jié)果上來(lái)看:在F值上,無(wú)重復(fù)的樣本會(huì)比重復(fù)樣本稍高(圖中保留了2位小數(shù),其實(shí)差異不超過(guò)0.5%)。而正確率上,重復(fù)樣本會(huì)比無(wú)重復(fù)樣本稍高。但是相對(duì)于這點(diǎn)優(yōu)勢(shì)而言,重復(fù)樣本的劣勢(shì)更為凸顯。

一個(gè)樣本重復(fù),相當(dāng)于增加了樣本的權(quán)重,對(duì)于參數(shù)選擇最佳的C和gamma時(shí),就會(huì)導(dǎo)致大量的工作量。如果C和gamma都是在[2.0,1.0]進(jìn)行挑選,則總會(huì)有9*9=81組參數(shù)需要挑選,在每組參數(shù)下如果要進(jìn)行5-flods的交叉驗(yàn)證,則需要81*5=405次訓(xùn)練與測(cè)試的過(guò)程。如果每次訓(xùn)練與測(cè)試花費(fèi)2分鐘(在樣本達(dá)到10萬(wàn)數(shù)量級(jí)的時(shí)候,SVM的訓(xùn)練時(shí)間差不多按分鐘計(jì)算),則總共需要405*2/60=12.3小時(shí)。

無(wú)可厚非,剔除重復(fù)樣本對(duì)訓(xùn)練一個(gè)好的SVM模型就顯得很重要了。利用文本編輯器批處理刪除重復(fù)樣本,如將文本1和文本2的內(nèi)容進(jìn)行對(duì)比,刪除文本內(nèi)重復(fù)行,相同行。

3. SVM分類實(shí)現(xiàn)的算法

序列最小最優(yōu)化SMO算法就是通過(guò)f(x)函數(shù)把輸入的數(shù)據(jù)x進(jìn)行分類[3]。而分類必然需要一個(gè)評(píng)判的標(biāo)準(zhǔn),例如怎樣將x分為A類,怎樣將y分為B類?此時(shí)便需要?jiǎng)澐諥類和B類的邊界了。如果邊界越明顯,就越容易區(qū)分,因此這個(gè)函數(shù)的目的就是把邊界的寬度最大化。

怎樣實(shí)現(xiàn)邊界的寬度最大化呢?在SVM中要是現(xiàn)實(shí)邊界的寬度最大化就必須最小化式。

w是參數(shù),值越大邊界越明顯,C是懲罰系數(shù),ξi是松散變量。

再將問(wèn)題轉(zhuǎn)換為KKT條件(Karush-Kuhn-Tucker 最優(yōu)化條件):

ai表示拉格朗日乘子。為了使KKT條件解答更簡(jiǎn)單,可以通過(guò)拉格朗日乘法數(shù)來(lái)求解。對(duì)于(1)(2)(3)的情況分別是ai是正常分類、在邊界內(nèi)部;ai是支持向量、在邊界上和 ai在邊界之間。最優(yōu)解必須滿足(a)(b)(c)的條件。因此ai的約束條件是

通過(guò)公式(2)、(3),我們引入aj,滿足以下等式:

M為常數(shù)。利用yiai+yjaj=常數(shù),消去ai,得到

將Ei移到最左邊得

根據(jù)aj可以得到

b的更新:

最后得到函數(shù):

輸入是x,是一個(gè)向量,向量中的每一個(gè)值表示一個(gè)特征。

假設(shè)現(xiàn)在有一個(gè)x(清華大學(xué),北京大學(xué),廈門大學(xué),中山大學(xué)),需要將這幾所大學(xué)分類,A類是北方大學(xué),B類是南方大學(xué)。主要的步驟實(shí)現(xiàn)如下:

Repeat till convergence{

1. Select some pair ai and ay to update next (using a heuristic that tries to pick the two that will allow us to make biggest progress towards the global maximum).

2. Reoptimize M(a) with respect to ai and ay ,while holding all the other ak,s(k≠i,j) fixed.

意思是,第一步選取一對(duì)ai和ay,第二步,固定除ai和ay之外的其他參數(shù),確定M極值條件下的ai和ay由ay表示。

運(yùn)行后能準(zhǔn)確的將這四所大學(xué)劃分為南方還是北方的大學(xué),然后再將全國(guó)所有的本科院校都進(jìn)行分類。

4. SVM分類的預(yù)測(cè)

首先將全國(guó)大學(xué)生分為兩大類,一類是北方大學(xué)生,另一類是南方大學(xué)生。因此就需要?jiǎng)澐秩珖?guó)的本科院校是屬于南方還是北方的,再將它的特征向量確定為北京大學(xué),清華大學(xué)等本科院校,就大學(xué)生可能關(guān)注的熱點(diǎn)問(wèn)題,分為考公務(wù)員,就業(yè),創(chuàng)業(yè),談戀愛(ài),買房,軍事,考研等。確定好這些基本要素以后,再用文本編輯器剔除重復(fù)樣本,確定C和gamma的最佳取值,最后便是開(kāi)始SVM樣本訓(xùn)練和預(yù)測(cè)了。在MATLAB中進(jìn)行預(yù)測(cè)時(shí),過(guò)濾頻率較低的曲線,選取最高頻率的幾條曲線,以免曲線過(guò)多,造成失誤。首先我們先抓取2014年1月到5月的微博文本數(shù)據(jù)進(jìn)行分析,如圖5所示。

圖5 熱點(diǎn)問(wèn)題頻率統(tǒng)計(jì)圖

圖5中X軸是月數(shù),單位是月;Y軸是頻率,單位是百分比。三條曲線由上到下分別代表關(guān)注考研,關(guān)注就業(yè),關(guān)注公務(wù)員考試的頻率曲線。由圖可知,未來(lái)5個(gè)月內(nèi),大學(xué)生關(guān)注考研的人數(shù)比較多,關(guān)注就業(yè)問(wèn)題的人數(shù)也不少,但在4個(gè)多月后就會(huì)出現(xiàn)下滑趨勢(shì),關(guān)注公務(wù)員考試的人數(shù)上漲,五個(gè)月后可能處于最高。

使用詞頻統(tǒng)計(jì)的方法就2014年7月到11月的熱點(diǎn)問(wèn)題進(jìn)行跟蹤調(diào)查,結(jié)果如圖6所示。

圖5的預(yù)測(cè)中考研的概率是26%,就業(yè)的概率接近25%,考公務(wù)員的概率23%。和圖6對(duì)比可知,考研、就業(yè)、考公務(wù)員的熱點(diǎn)問(wèn)題預(yù)測(cè)準(zhǔn)確率與實(shí)際相差不大,但還是存在差距。如實(shí)際考研的概率比預(yù)測(cè)的增加1%,實(shí)際就業(yè)的概率比預(yù)測(cè)的減少1%,實(shí)際考公務(wù)員的概率比預(yù)測(cè)的增加2%;大概原因如下:

圖6 熱點(diǎn)問(wèn)題跟蹤表

(1)部分大學(xué)生在大三到大四的暑假期間受就業(yè),家庭等原因影響,會(huì)突然決定考研。所以會(huì)比預(yù)測(cè)增長(zhǎng)1%;

(2)部分大學(xué)生決定考研后,就不會(huì)更多的考慮就業(yè)問(wèn)題了,而是一心撲在考研的問(wèn)題上。所以會(huì)比預(yù)測(cè)減少1%;

(3)將近2%的大學(xué)生在10月中下旬的時(shí)候,由于找到了工作,或因?yàn)楣珓?wù)員多人報(bào)考難度加大等原因,放棄考公務(wù)員。所以會(huì)比預(yù)測(cè)減少2%。

5. 結(jié)論

在進(jìn)行文本分類時(shí),我們必須提高SVM的工作效率,即提高SVM的分類速度。對(duì)SVM參數(shù)的選擇,以及剔除重復(fù)樣本都是為了提高SVM分類速度,使其在模型訓(xùn)練和預(yù)測(cè)時(shí)得出更好更快的結(jié)果。嚴(yán)格進(jìn)行參數(shù)的選擇以及剔除重復(fù)樣本,努力提高SVM的分類速度。

* [1] 張知臨.文本分類SVM[DB/OL],2012,http://blog.csdn. net/zhzhl202/article/details/8197109

* [2] 程俊霞,李芝棠,鄒明光,肖津.基于SVM過(guò)濾的微博新聞話題檢測(cè)方法[J].通信學(xué)報(bào),2013,34(Z2)74-78

* [3] techq'sblog.SVM算法實(shí)現(xiàn)[DB/OL],2011,http://blog. csdn.net/techq/article/details/6171688

* [4] 張翔,周明全,耿國(guó)華,王曉鳳.基于LSVM算法的人臉識(shí)別方法研究[J].西安可視化技術(shù)研究所,2012

廣西自然科學(xué)基金項(xiàng)目:2014GXNSFAA118359,廣西民族大學(xué)創(chuàng)新項(xiàng)目《基于大數(shù)據(jù)技術(shù)的大學(xué)生熱點(diǎn)問(wèn)題預(yù)測(cè)與分析》

猜你喜歡
熱點(diǎn)問(wèn)題考研向量
向量的分解
聚焦“向量與三角”創(chuàng)新題
空間幾何體中的熱點(diǎn)問(wèn)題聚焦
考研,我是怎么堅(jiān)持過(guò)來(lái)的
考研,我是怎么堅(jiān)持過(guò)來(lái)的
工作十二年后,我才去考研
海峽姐妹(2018年3期)2018-05-09 08:20:56
向量垂直在解析幾何中的應(yīng)用
電氣工程與自動(dòng)化常見(jiàn)熱點(diǎn)問(wèn)題及應(yīng)對(duì)
向量五種“變身” 玩轉(zhuǎn)圓錐曲線
考研不易,更要好好珍惜
平和县| 冀州市| 宁波市| 恭城| 轮台县| 晴隆县| 富裕县| 泸溪县| 宽城| 东丽区| 黔江区| 怀来县| 黄石市| 楚雄市| 阜康市| 临西县| 乾安县| 淄博市| 安陆市| 陇川县| 桂阳县| 宜阳县| 鹰潭市| 射阳县| 黄梅县| 建宁县| 康保县| 甘德县| 广宁县| 东乌珠穆沁旗| 宝清县| 遵义县| 苍南县| 乃东县| 抚顺市| 桓台县| 年辖:市辖区| 桦川县| 托克托县| 海兴县| 恭城|