楊 赟,張麗麗
(南京工業大學 數理科學學院,江蘇 南京 211800)
網絡輿情是在事件刺激、推動下產生并借網絡傳播不同意見、情緒及行為傾向的綜合反映。但是網絡上存在著主觀“網絡推手”、“意見領袖”,負面、惡意網絡輿情容易引發網絡爭端,危害社會穩定。準確及時地預測網絡輿情,是有效監管網絡資源,保障社會穩定的必要工作。
目前,針對長期話題的網絡輿情預測研究頗豐,這類輿情預測對樣本數量有著嚴格要求。而短期、突發輿情熱點具有一定隨機性,搜集樣本量較少。同時,由于事件性質、領域不同,網絡影響程度也各異。支持向量回歸SVR具有良好的魯棒性,學習效率高,逼近能力強,適合于小樣本和實時性網絡輿情預測。但對于復雜非線性系統擬合,SVR由于在決定模型預測精度和泛化能力的關鍵參數上無法做到初值最優,在樣本量較少的情況下,應用在突發性輿情熱點問題的預測上往往精度較差。
為此,本文將結合群體智能優化算法全局搜索進化思維,設計一種改進海鷗優化算法ISOA,利用sigmoid函數非線性收斂因子、精英個體多階段動態擾動和正余弦優化對SOA算法搜索和開發均衡、避免局部最優及局部尋優能力進行改進;結合ISOA對支持向量回歸模型的超參調優,并實現一種網絡輿情傳播預測模型,并對ISOA-SVR模型的預測性能進行實證研究并分析預測性能。
傳統網絡輿情預測主要包括小波變換、馬爾科夫模型[1]和灰色模型[2]等。前兩種模型為數學統計方法,后一種則為灰色系統方法。網絡輿情具有復雜的非線性特點,傳統方法擬合能力差,導致預測精度低。機器學習模型能夠有效解決非線性的目標優化問題。文獻[3]利用隨機森林構建網絡輿情預測模型,證實模型數據擬合度更高,誤差更小。文獻[4,5]基于貝葉斯網絡建立了一種網絡輿情預測模型。文獻[6,7]結合改進PSO優化徑向基神經網絡和BP神經網絡對網絡輿情預測,預測精度有所提升。這些方法相比傳統方法具有更強的自學習能力,但依然存在不足。如:隨機森林在噪聲較大的數據集中容易發生過擬合;貝葉斯網絡本身對先驗知識有依賴性,預測主觀性較強;神經網絡對超參數調整多選擇梯度下降法,容易產生局部極值,且收斂速度較慢。
網絡輿情發展是多因素作用的綜合結果,具有波動大、非線性復雜特征,內部機理較復雜,預測樣本又較少。SVR是一種能夠適應于小樣本、復雜非線性系統的回歸預測模型,相比以上方法效率更高、預測精度更精確。此外,由于SVR中的懲罰因子C和寬度參數σ對是影響預測精度的關鍵參數,一般需要先求解關鍵參數的最優值。結合智能優化算法優化超參方面,PSO算法[8]、GWO算法[9]、AB算法[10]和FOA算法[11]等都已得到有效應用。
海鷗優化算法SOA[12]是由學者Dhiman等受到海鷗捕食行為啟發而設計的新型啟發式搜索算法。該算法巧妙模擬了海鷗捕食獵物時的遷徙和攻擊進行全局尋優。因其調整參數少、結構簡單且易于實現,其尋優性能優于遺傳算法、粒子群算法和螢火蟲算法等,已被應用于云計算調度[13]、特征選擇[14]、機器學習[15]等領域。然而,SOA依然存在精度低和易得局部最優的不足。因此,本文將先對SOA進行改進,再利用改進算法優化支持向量回歸SVR模型的關鍵參數,建立新的網絡輿情傳播預測模型。
SOA的具體數學模型如下:
(1)遷徙行為。遷徙行為可視為SOA的全局搜索,此時海鷗從一個位置向另一位置飛行,并需滿足3個條件:
避免碰撞。海鷗利用一個附加行為變量A避免在飛行中與其它海鷗發生碰撞
Cs=A×Ps(t)
(1)
式中:Cs為不發生碰撞時海鷗s的位置更新,Ps(t)為迭代t時海鷗s的原位置,附加行為變量A定義為
A=fc-(t×(fc/Tmax))
(2)
式中:fc用于控制行為變量A的變化,fc=2,Tmax為最大迭代次數。可見,A將以線性方式隨迭代數從2遞減為0。
向最優方向移動。避免碰撞后,海鷗會向著全局最優解的方向移動
Ms=B×(Pbs(t)-Ps(t))
(3)
式中:Ms為個體s向最優解方向移動的位置,Ps(t)、Pbs(t) 分別指迭代t時個體s和最優解bs所處位置,參數B表示用于平衡算法全局搜索與局部開發的隨機量,定義為
B=2×A2×rd
(4)
式中:rd為(0,1)間的隨機量。
靠近最優解。避免碰撞并向最優解方向移動后,海鷗將逐步靠近最優解
Ds=|Cs+Ms|
(5)
式中:Ds為個體s的遷徙行為,即個體在整個遷徙中的綜合位移量,由避免碰撞的位置更新與向最優解方向移動的位移構成。
(2)攻擊行為。攻擊行為可視為SOA的局部開發過程,此時海鷗種群將螺旋形態以不同的角度和速度向獵物發動攻擊(捕食),這種局部開發過程可表示為
(6)
式中:r為海鷗攻擊的螺旋直徑,k為隨機量,且k∈[0,2π],u、v為定義螺旋形態的超參數,通常u=v=1。 則海鷗種群此時的位置更新方式為
Ps(t)=(Ds×x′×y′×z′)+Pbs(t)
(7)
2.2.1 sigmoid函數非線性收斂因子
根據式(1)~式(3)可知,變量A為SOA的收斂因子,決定海鷗個體朝最優解的搜尋模式。若A取值較大,表明海鷗具有更大搜索步長,SOA將具有更強全局搜索能力;若A值較小,搜索步長變小,SOA則具有更強局部開發能力。根據式(2),變量A線性地隨迭代從2遞減至0,即A在整個迭代過程中將以相同速率減小,這種線性尋優模式無法有效均衡算法的全局搜索與局部開發過程,海鷗種群的實際搜索過程實際體現為非線性速率的漸近過程。為此,改進算法引入sigmoid函數將變量A修正為非線性遞減形式
(8)
(9)
(10)
式中:fc=2,t、Tmax分指當前迭代和最大迭代次數。圖1是A(t)的變化曲線。可見,改進后,A(t)呈非線性遞減。在迭代前期,曲線呈凸函數趨勢,A(t) 值先較大,且遞減速度也較慢,種群能保持更大的搜索步長,個體自由度更大,能夠更加充分地進行全局搜索,以獲得更好的種群多樣性;然后A(t) 值遞減加快,快速結束全局搜索階段;迭代后期,曲線則呈凹函數趨勢,A(t) 值總體較小,搜索步長減小,個體自由度也隨之降低,且在后半段穩步且緩慢減小,進一步增強算法的局部開發能力。與SOA針對收斂因子的線性遞減趨勢不同,sigmoid函數能夠在海鷗種群的遷徙與攻擊階段進行更加平滑的轉換,更好均衡全局搜索和局部開發過程,實現與種群更加貼近的非線性尋優過程。

圖1 sigmoid函數對收斂因子A的改進
2.2.2 精英個體多階段動態擾動
在海鷗位置更新中,個體都將受到全局最優解Pbs的牽引而向其逼近,導致種群多樣性缺失,算法容易得到局部最優。尤其在利用SOA處理多峰復雜問題時,會出現早熟收斂。為此,改進算法將提出一種針對精英個體的多階段動態擾動機制,對全局最優解進行變異,提高個體分布的多樣性。具體地,本文引進方差可調正態隨機分布對全局最優解位置進行變異,得到新解Pnewbs,變異方式為
Pnewgbs=N(Pbs,θ(t))
(11)
式中:θ(t) 為不確定度系數,定義為迭代t的非遞增函數,如下
(12)
式中:θ1、θ2為對原始全局最優解位置進行正態擾動的半徑,θ1<θ2,α1、α2為控制半徑參數變化的因子,α1<α2。
設置總迭代數Tmax=100,半徑參數θ1=0.9,θ2=10-6,半徑控制因子α1=0.4,α2=0.7,可知擾動半徑變化曲線如圖2所示,呈現出分階段動態更新態勢。迭代早期,以較大擾動半徑實現最優解擾動,以此擴展種群的多樣性和搜索廣泛性。迭代中期,擾動半徑線性遞減,表明逐步收縮搜索范圍,使個體穩定逼近最優解。迭代晚期,以恒定極小值擾動半徑靠近最優解,加速算法收斂。

圖2 θ(t)分段變化曲線
2.2.3 正余弦優化指引
SOA算法中,隨著迭代的進行,種群個體位置維度會逐步減小,搜索空間逐步收縮導致種群多樣性缺失,搜索精度下降。為了提高SOA的全局搜索能力,ISOA算法引入正余弦優化的指引機制,通過融合個體自身的歷史經驗和種群的全局最優經驗對海鷗位置進行二次更新。
正余弦算法SCA可以根據正余弦函數的數學特征實現目標的漸進尋優,其全局尋優能力較強。其粒子位置的更新方式為

(13)
式中:xbest,j為j維全局最優位置,r1為振幅調節系數,r2∈[0,2π]、r3∈[-2,2]、r4∈[0,1] 均為隨機量。
在位置更新中,以等概率的方法利用正弦函數或余弦函數對個體位置二次更。位置更新如下式所示

(14)
正余弦優化指引機制對于SOA算法的改進在于:首先,海鷗的遷徙和攻擊行為都在種群最優解范圍內進行,搜索個體更易于尋找全局最優解,算法的尋優精度有所提升;其次,搜索范圍按正余弦函數逐步收縮,種群可以加快向最優解區域靠近,算法收斂速度也更快。
2.2.4 ISOA算法設計及有效性驗證
ISOA算法設計如圖3所示。

圖3 ISOA算法流程
本節在基準函數Booth上尋找最優解對ISOA的尋優性能進行初步驗證。同時,為了驗證每一種改進策略的作用,利用3種單一策略對SOA改進以作消融實驗,將sigmoid函數非線性收斂因子改進的SOA命名為SSOA,將精英個體多階段動態擾動改進的SOA命名為MSOA,將正余弦優化機制指引種群位置二次更新改進的SOA命名為SCSOA,多策略改進SOA則為本文提出的ISOA。
測試函數Booth的理論最優解在0處,搜索邊界為[-10,10],以二維搜索維度為例,函數最優解處于(1,3)。設置種群規模N=30,空間維度D=2,迭代次數Tmax=200。圖4是標準SOA、3種消融改進SOA和ISOA在函數上的收斂曲線。可見,標準SOA的尋優曲線平緩,且很快無法提高尋優精度,說明已處在局部極值。ISOA通過相應優化手段能夠在迭代中期迅速提高目標值精度,收斂曲線極速下降,更加靠近理論極值,表明采取優化手段有效可行。3種消融改進SOA表現出不同的尋優特征,SSOA雖然在迭代早期精度不高,但在迭代后期可快速拓展到新搜索區域,提高搜索精度,驗證正余弦算法對位置的二次更新有很好的推動作用。MSOA的整體搜索精度要好于SSOA,驗證多階段擾動機制在豐富種群多樣性、開拓搜索空間上具備優勢,收斂因子非線性改變并不能徹底改變SOA對于目標搜索的模式,綜合性能的提升上還需要從多樣性、搜索與開發間的平衡以及如何跳離局部極值點上進行整體考慮。

圖4 Booth函數尋優收斂曲線
圖5是t=20、120、200時(對應迭代過程早、中、末期),SOA和ISOA搜索Booth函數極值時種群個體分布情況。從分布圖看,SOA種群分布在早、中、末期呈現出相似性,種群多樣性較差,未實現對空間的完整搜索,較快呈現出早熟收斂趨勢。ISOA不同時期種群分布體現出更好的多樣性,會分布在不同區域進行搜索,更容易搜索到最優點。迭代中后期,ISOA能夠通過自適應收斂因子調節、精英個體多階段動態擾動及正余弦優化的二次位置更新,使算法更均衡地進行全局尋優和局部開采,豐富搜索空間。可以看到,在中期階段,已有部分種群個體移動到最優位置處。而在迭代末期,ISOA的絕大多數個體已經在最優位置,而SOA的多數個體移動范圍極小,沒有跳離局部極值。

圖5 不同迭代次數時種群分布
SVR主要是通過構造分類超平面的方式將非線性回歸映射為高維線性回歸問題,可將所有訓練樣本至平面誤差降至最小。令樣本集D={(x1,y1),(x2,y2),…,(xn,yn)},xi、yi∈Rd,i=1,2,…,n,n為樣本量。xi為輸入樣本,yi為輸出值。高維空間回歸模型為
y=w·φ(x)+b
(15)
式中:φ(x)為映射關系,w為回歸權重,b為偏差值,y為預測值,通過懲罰風險函數R(C)計算
(16)


(17)
(18)
式中:K(xi,x) 為核函數,以KTT條件可得SVR函數公式為
(19)
式中:σ為徑向基函數的寬度參數,g為核函數參數。
對于SVR,寬度參數σ和懲罰因子C是影響SVR預測性能的主要參數。C值較大,數據擬合度更高,但泛化能力會降低。寬度參數σ主要用于控制核函數的徑向作用范圍。若σ較大,可以降低模型投影空間的復雜度,但數據線性可分割度也會降低,而σ值較大則會導致數據嚴重過擬合。由此可見,只有優化這對參數組合,得到最佳SVR模型,才能提升模型在網絡輿情應用的泛化能力和預測精度。ISOA-SVR預測模型利用實數編碼方式,將懲罰因子C和核參數σ兩個參數編碼為 ISOA中個體海鷗的位置(σ,C),利用求解ISOA中適應度最優個體位置構建ISOA-SVR模型。算法過程如下:
步驟1 導入輿情樣本,對樣本歸一化處理,按比例劃分訓練、測試樣本。
步驟2 設置ISOA-SVR的種群規模N、搜索維度D、迭代次數Tmax、參數區間 [σmin,σmax] 和 [Cmin,Cmax]。
步驟3 隨機生成ISOA-SVR的初始種群,Xi=(σi,Ci) 即代表一個海鷗個體i,整個種群表示為 {Xi,i=1,2,…,N}。
步驟4 計算個體適應度,記錄全局最優解。
步驟5 根據式(10)更新收斂因子A(t)。
步驟6 根據式(7)更新種群位置,并記錄全局最優解。
步驟7 根據式(11)進行精英個體的多階段動態擾動。
步驟8 重新計算變異個體適應度,并基于正余弦優化的指引機制式(14)進行位置二次更新。
步驟9 判斷t≥Tmax?若否,返回步驟4;若是,停止迭代,輸出最優解。
步驟10 以X*設置SVR初始參數,并對模型訓練和預測。
引入均方誤差評估個體位置質量,定義為
(20)

圖6為模型的預測流程。
利用Python編寫網絡爬蟲收集網絡輿情樣本數據。目前,互聯網上一般利用百度指數和微博指數作為網絡輿情風向標。其中,百度指數利用數值加權統計搜索趨勢。微博指數則基于新浪微博,以統計關鍵詞的閱讀量、評論量和互動量衡量輿情發展。兩個指標都是衡量網民對事件關注程度的重要指標。本文選擇百度指數作為網絡輿情樣本數據,選擇“新冠疫情”為輿情熱點,驗證預測模型性能。圖7是2022.1.1~2022.2.19共計50天內“新冠疫情”輿情百度指數時序。新冠疫情事件是近兩三年涉及范圍較廣、網民關注度極高的網絡輿情事件,在這個時期內由于又在不同地區反復出現新增病例,其輿情變化存在多個高峰,然后又呈現輿情衰退、緩速下降趨勢。

圖7 “新冠疫情”輿情百度指數時序
取50天樣本數據前40天數據為訓練樣本,后10天為測試樣本。ISOA-SVR模型中,種群規模N=40,迭代次數Tmax=400,σ、C的搜索范圍均設置為[2-4,25]。
新冠疫情的爆發屬于社會層面的突發性衛生事件,具有一定的連續性和隨機性,尤其在目前這個時期容易爆出局部地區聚集性疫情,所以網民關注行為也會受到影響。預測網絡輿情時,如果選擇較小預測時間間隔,則會導致SVR無法充分大范圍的學習;如果選擇較大預測時間間隔,SVR又無法對相鄰輿情數據進行充分學習。為此,實驗前利用滑動窗口法對訓練集數據進行重構,將滑動窗口設置為4,設置每次向前滑動的窗口單元數為1。則40個訓練樣本的具體重構結果可表示為表1的結果。

表1 重構訓練樣本
選擇標準SOA對SVR進行優化構建預測模型SOA-SVR實現與ISOA-SVR的橫向對比,選擇鯨魚算法WOA對SVR模型進行優化構建預測模型WOA-SVR、以及粒子群算法PSO對BP神經網絡進行優化構建預測模型PSO-BP實現與ISOA-SVR的縱向對比。圖8是模型預測結果擬合情況,圖9是預測相對誤差。可見,ISOA-SVR在所有時序的預測值與實際值更接近,擬合度更高,相對誤差也最小。同時,ISOA-SVR預測模型具有更好的穩定性,3種對比模型在個別日期上存在偏離較遠的異常值,表明泛化能力嚴重不足。

圖8 “新冠肺炎”輿情預測結果

圖9 預測相對誤差值
進一步在定量指標上深入分析預測模型性能。選擇均方根誤差RMSE、平均絕對誤差MAPE、擬合度系數R2及希爾不等系數TIC對算法定量評估
(21)
(22)
(23)
(24)

表2給出關鍵超參σ和C取值、評估指標RMSE、MAPE、R2和TIC等參數取值。RMSE值越小,表明精度越高。R2值越大,擬合度越高。TIC也是[0,1]之間,也是用于表明擬合值與實際值間的差異情況,值越小,精度越高。ISOA-SVR的RMSE分別比SOA-SVR、WOA-SVR和PSO-BP降低了11.74%、20.68%、35.20%,預測精度最高。ISOA-SVR的MAPE分別比SOA-SVR、WOA-SVR和PSO-BP降低了19.37%、24.25%、36.91%,預測誤差最小。ISOA-SVR的R2分別比SOA-SVR、WOA-SVR和PSO-BP提高了7.36%、8.85%、10.11%,說明改進模型具有更高的數據擬合度。ISOA-SVR的TIC則分別比SOA-SVR、WOA-SVR和PSO-BP提高了28.57%、57.14%、71.43%。綜上,ISOA-SVR的各指標都處于所有模型的最佳位置,模型的整體的預測效果更好,能夠實現更小的預測誤差。

表2 指標對比
圖10是PSO-BP、WOA-SVR、SOA-SVR和ISOA-SVR在適應度上的變化收斂曲線圖。從適應度遞減(適應度越小,預測誤差越小)速度看,ISOA-SVR具有更快的下墜速度,說明ISOA能夠更快找到最優解,為網絡輿情預測提供更高的預測準度。同時,從最終所尋得的收斂處適應度值可知,ISOA-SVR是3種模型中最小的,預測精度最高。模型收斂速度上,ISOA-SVR在20~50迭代中在適應度沒有大幅改善的情況下進行若干次調整后即可進一步開辟新搜索空間,表明此時ISOA在求解σ和C時找到了接近最優解的最佳區域,并在72次迭代時得到了關鍵參數最優值,使預測模型達到最佳預測性能,并固定于收斂狀態上。從最終收斂狀態看,PSO-BP、WOA-SVR和SOA-SVR迭代收斂分別為102次、96次和85次,分別比ISOA-SVR多迭代了30次、24次和13次,收斂速度分別慢了41.67%、33.33%和18.06%。不僅如此,收斂過早說明對比算法沒有提供有效的局部最優跳離機制,得到了局部極值,這也是對比模型尋優精度不足之處。

圖10 模型尋優曲線


表3 不同模型廣泛對比

圖11 6個輿情熱點百度指數時序
突發事件的網絡輿情具有復雜性和非線性特征,為此,提出了針對網絡輿情的改進SOA算法優化支持向量回歸預測模型,利用sigmoid函數非線性收斂因子、精英個體多階段動態擾動和正余弦優化對SOA算法改進,利用改進算法對SVR的超參尋優,構建最優回歸模型并對網絡輿情傳播趨勢進行預測。結果表明改進模型ISOA-SVR具有更高的預測準度。未來的研究可集中于大數據環境下的樣本選取優化以及智能優化算法的多種群配置方面,以進一步提升模型的預測性能。