專利名稱:一種基于極速神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)資源個(gè)性化推薦方法
技術(shù)領(lǐng)域:
本發(fā)明屬于網(wǎng)絡(luò)資源管理領(lǐng)域,涉及網(wǎng)絡(luò)資源的協(xié)作過濾技術(shù),特別涉及一種基
于極速神經(jīng)網(wǎng)絡(luò)模型的網(wǎng)絡(luò)資源個(gè)性化推薦方法。
背景技術(shù):
目前,協(xié)作過濾技術(shù)是最流行的個(gè)性化推薦技術(shù)。用戶建模以及以此為基礎(chǔ)的用 戶興趣預(yù)測(cè)的研究集中在Web日志挖掘(Web Usage Mining)領(lǐng)域,其數(shù)據(jù)來源主要是服 務(wù)器端記錄的Web日志——用戶的興趣信息。常用的協(xié)作過濾技術(shù)主要包括以下三種① 基于用戶(User-based)的協(xié)作過濾技術(shù),為用戶推薦與其相似用戶感興趣的資源;②基于 項(xiàng)目(Item-based)的協(xié)作過濾技術(shù),為用戶推薦與其感興趣資源相似的資源;③基于模型 (Model-based)的協(xié)作過濾技術(shù),構(gòu)造一個(gè)用戶的評(píng)分模型,系統(tǒng)采用概率統(tǒng)計(jì)或者機(jī)器學(xué) 習(xí)的方法來預(yù)測(cè)目標(biāo)用戶對(duì)未評(píng)分項(xiàng)目的評(píng)分,從而產(chǎn)生推薦。 關(guān)于利用協(xié)作過濾技術(shù)進(jìn)行網(wǎng)絡(luò)資源個(gè)性化推薦方法,發(fā)明人經(jīng)過查新,檢 索得到一篇相關(guān)專利文獻(xiàn)一種引入節(jié)目熱門度權(quán)重的協(xié)作過濾推薦方法(公開號(hào) CN101287082),首先收集用戶的行為特征信息,作出"用戶-項(xiàng)目"評(píng)分矩陣A(m, n);計(jì)算 熱門度權(quán)重值;計(jì)算相似度大小并排序;對(duì)目標(biāo)用戶進(jìn)行預(yù)測(cè)評(píng)分并排序;作出推薦列表 給目標(biāo)用戶。 隨著網(wǎng)絡(luò)中的用戶和資源數(shù)目不斷增加,上述專利文獻(xiàn)采用協(xié)作過濾技術(shù),存在 著以下一些問題①數(shù)據(jù)的高維稀疏性現(xiàn)象出現(xiàn),即系統(tǒng)中的用戶并不可能對(duì)所有資源進(jìn)
行評(píng)價(jià),他們對(duì)系統(tǒng)中資源已有的評(píng)價(jià)相對(duì)系統(tǒng)中資源總數(shù)來說少得多,這就導(dǎo)致數(shù)據(jù)高 維稀疏問題的出現(xiàn),數(shù)據(jù)的高維稀疏性使得協(xié)作過濾技術(shù)的信息推薦質(zhì)量大大下降;②系 統(tǒng)計(jì)算耗時(shí),協(xié)作過濾要比較目標(biāo)用戶(資源)與系統(tǒng)中所有用戶(資源)的相似度,隨著 系統(tǒng)規(guī)模的不斷增大,計(jì)算量急劇增加,無法滿足在線用戶對(duì)系統(tǒng)實(shí)時(shí)性能的要求。
發(fā)明內(nèi)容
本發(fā)明的目的在于克服上述現(xiàn)有技術(shù)的不足,提出一種基于極速神經(jīng)網(wǎng)絡(luò)的協(xié)作 過濾方法,能夠解決數(shù)據(jù)高維稀疏所導(dǎo)致的協(xié)作過濾技術(shù)的信息推薦質(zhì)量大大下降問題, 以及系統(tǒng)計(jì)算耗時(shí)大而無法滿足在線用戶對(duì)系統(tǒng)實(shí)時(shí)性能要求的問題。
為了解決上述技術(shù)問題,本發(fā)明采用以下技術(shù)方案予以實(shí)現(xiàn)。 —種基于極速神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)資源個(gè)性化推薦方法,其特征在于,具體包括以下 步驟 (1)數(shù)據(jù)預(yù)處理 從系統(tǒng)用戶日志文件中讀取信息并生成全局用戶興趣矩陣,根據(jù)當(dāng)前用戶將全局 用戶興趣矩陣進(jìn)行變換,得到當(dāng)前用戶的單用戶興趣矩陣; 當(dāng)前用戶的單用戶興趣矩陣中每一列定義為一個(gè)樣本實(shí)例,每個(gè)樣本實(shí)例由特征 屬性和目標(biāo)屬性組成,其中特征屬性對(duì)應(yīng)為單用戶興趣矩陣中其他用戶對(duì)該列所對(duì)應(yīng)資源
4的評(píng)分,目標(biāo)屬性為當(dāng)前用戶對(duì)該列所對(duì)應(yīng)資源的評(píng)分值,其中目標(biāo)屬性對(duì)應(yīng)的行向量記 為T^w,特征屬性對(duì)應(yīng)的行向量集所組成的矩陣記為I(M—1)XN ;其中N表示系統(tǒng)中被評(píng)價(jià)的資 源的個(gè)數(shù),M表示系統(tǒng)中參與評(píng)分的用戶的個(gè)數(shù),每一個(gè)元素存放用戶對(duì)資源的評(píng)分;
此時(shí)矩陣T(M—dX1中存在著大量空缺值,對(duì)于空缺值采用同一樣本實(shí)例的其他屬性 平均值進(jìn)行預(yù)填充,并記填充后的矩陣為X(M—1)XN,將矩陣X(M—1)XN經(jīng)過主成分分析法降維為 特征矩陣Pnx,,其中,n表示降維后的維數(shù); 然后,將目標(biāo)用戶對(duì)系統(tǒng)資源的評(píng)分的行向量l^,放置在特征矩陣Pn^的尾行之 后,形成降維后的用戶興趣矩陣A,看成是由降維后的N個(gè)樣本實(shí)例形成的集合,再根據(jù)目 標(biāo)用戶對(duì)目標(biāo)屬性是否評(píng)分將樣本實(shí)例的集合劃分為訓(xùn)練集A1和預(yù)測(cè)集A2 ;
(2)模型訓(xùn)練 首先,為目標(biāo)用戶建立用戶興趣預(yù)測(cè)模型,其模型結(jié)構(gòu)為單隱藏層神經(jīng)網(wǎng)絡(luò) SLFNs ;然后,對(duì)預(yù)測(cè)模型采用極速學(xué)習(xí)機(jī)技術(shù)在訓(xùn)練集A1上進(jìn)行訓(xùn)練,得到單隱藏層神經(jīng) 網(wǎng)絡(luò)模型的各個(gè)連接權(quán)值以及隱藏層閾值,完成對(duì)用戶興趣預(yù)測(cè)模型中各權(quán)值的求解;
(3)預(yù)測(cè)推薦 利用訓(xùn)練所得到的預(yù)測(cè)模型計(jì)算出該目標(biāo)用戶對(duì)預(yù)測(cè)集A2中每一項(xiàng)資源的評(píng)分 值,并將預(yù)測(cè)評(píng)分最高的前幾項(xiàng)資源推薦給目標(biāo)用戶。
本發(fā)明的進(jìn)一步特點(diǎn)和改進(jìn)在于 (1)系統(tǒng)用戶日志信息記錄了 3項(xiàng)內(nèi)容用戶ID、資源ID以及該用戶對(duì)資源的評(píng) 分值,表示為三元組的形式
(UserID, ItemID, Rate)
其中 UserID :用于唯一標(biāo)識(shí)某個(gè)用戶的ID ;
ItemID :用于唯一標(biāo)識(shí)某項(xiàng)資源的ID ; Rate :用戶對(duì)資源的評(píng)分,評(píng)分的類型為從1到5的正整數(shù),該值越高,表示用戶對(duì) 資源越感興趣,若該值為空時(shí),表示用戶對(duì)資源沒有評(píng)分。 (2)所述根據(jù)目標(biāo)用戶對(duì)目標(biāo)屬性是否評(píng)分將樣本實(shí)例的集合劃分為訓(xùn)練集Al 和預(yù)測(cè)集A2,其形式化表示為 Al = {(Xi, t》/X = [Xil, xi2......xin]T G Rn, ti G R, i = 1. Nx}; A2 = {(Xi, ti)/Xi = [Xil, xi2......xin]T G Rn, ti = Null, i = 1. N_NX}; 其中 Xi代表第i個(gè)樣本實(shí)例的n維特征屬性;
ti為目標(biāo)屬性;
R為實(shí)數(shù)域; Nx為訓(xùn)練集包含的樣本實(shí)例的個(gè)數(shù)。 (3)所述為目標(biāo)用戶建立用戶興趣預(yù)測(cè)模型,其模型結(jié)構(gòu)為單隱藏層神經(jīng)網(wǎng)絡(luò) SLFNs,其數(shù)學(xué)表示采用如下式子
i 》 2 <formula>formula see original document page 5</formula> 其中
Wi = [wn, wi2, . . . , win]T :為連接第i個(gè)隱藏層節(jié)點(diǎn)和模型輸入的權(quán)值向量,通過 樣本實(shí)例訓(xùn)練得到; |3 i = [13 n, 13 i2, . . . , 13 J1 :為連接第i個(gè)隱藏層節(jié)點(diǎn)和模型輸出的權(quán)值向量, 通過樣本實(shí)例訓(xùn)練得到; bi :為第i個(gè)隱藏層節(jié)點(diǎn)的閾值,通過樣本實(shí)例訓(xùn)練得到;
Xj G Rn :為模型輸入向量,對(duì)應(yīng)某個(gè)實(shí)例的特征向量;
0j G Rm :為模型輸出向量,對(duì)應(yīng)某個(gè)實(shí)例的目標(biāo)向量;
^ :為用戶模型中隱藏層包含的節(jié)點(diǎn)個(gè)數(shù);
g(x):為激活函數(shù),要求該函數(shù)為連續(xù)函數(shù);
Wi Xj :表示W(wǎng)i與Xj的點(diǎn)積。 在資源項(xiàng)目很多的情況下,用戶的評(píng)分?jǐn)?shù)據(jù)相對(duì)來說是很少的,比如在大型的電 子商務(wù)系統(tǒng)中,用戶的評(píng)分項(xiàng)目 一般不會(huì)超過資源項(xiàng)目總數(shù)的1 % ,數(shù)據(jù)的高維稀疏性導(dǎo)致 不同用戶之間交叉評(píng)分的資源項(xiàng)目會(huì)很少,導(dǎo)致信息推薦質(zhì)量的下降,另一方面也會(huì)導(dǎo)致 系統(tǒng)計(jì)算量巨大。針對(duì)上面的問題,本發(fā)明在數(shù)據(jù)預(yù)處理階段擬采用主成分分析降維技術(shù) 對(duì)原始高維數(shù)據(jù)集合降維,將稀疏的用戶興趣預(yù)測(cè)矩陣轉(zhuǎn)化為由主成分構(gòu)成的稠密矩陣以 解決數(shù)據(jù)高維稀疏問題。 另外,本發(fā)明選擇單隱藏層神經(jīng)網(wǎng)絡(luò)模型作為用戶的興趣預(yù)測(cè)模型,并采用極速 學(xué)習(xí)機(jī)技術(shù)對(duì)模型進(jìn)行訓(xùn)練,這是因?yàn)閭鹘y(tǒng)的神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練方法如BP算法速度較慢, 而且會(huì)陷入局部最小值,而單隱藏層神經(jīng)網(wǎng)絡(luò)具有如下的特性當(dāng)隱藏層節(jié)點(diǎn)個(gè)數(shù)N 等于 訓(xùn)練集合中實(shí)例個(gè)數(shù)N時(shí),網(wǎng)絡(luò)可以無誤差地逼近任何非線性函數(shù)。這就意味著對(duì)輸入層 權(quán)值Wi和隱藏層閾值h進(jìn)行隨機(jī)賦值,而無需迭代調(diào)整;輸出層權(quán)值13 i則可以根據(jù)最小 二乘法直接計(jì)算得出?;谝陨纤枷氲臉O速學(xué)習(xí)算法(Extreme Learning Machine),首先 為單隱藏層神經(jīng)網(wǎng)絡(luò)的輸入權(quán)值和隱藏層閾值隨機(jī)賦值,根據(jù)樣本集合和前面的隨機(jī)參數(shù) 計(jì)算隱藏層輸出矩陣,最后利用最小二乘解的思想計(jì)算輸出權(quán)值。這個(gè)算法與傳統(tǒng)算法比 較,模型參數(shù)無需進(jìn)行迭代調(diào)整,訓(xùn)練速度大大提高,因?yàn)樗蟮慕馐俏ㄒ坏淖钚》稊?shù)解, 因此不存在局部最小值問題,具有較好的泛化性能。
圖1為用戶對(duì)資源評(píng)分情況的日志文件具體信息格式示意圖; 圖2為全局用戶興趣矩陣的格式示意圖; 圖3為單用戶興趣矩陣的相關(guān)概念的標(biāo)識(shí)示意圖; 圖4為一具體單用戶興趣矩陣的訓(xùn)練集和預(yù)測(cè)集劃分示意圖; 圖5為數(shù)據(jù)集合未降維與經(jīng)過降維模型訓(xùn)練性能比較圖,其中隱藏節(jié)點(diǎn)個(gè)數(shù)為30
圖6為BP與ELM算法訓(xùn)練精度的比較圖; 圖7為BP與ELM算法測(cè)試精度的比較圖; 圖8為BP與ELM算法訓(xùn)練時(shí)間的比較圖。
6CN 101694652 A
具體實(shí)施例方式
為了更清楚的理解本發(fā)明,下面結(jié)合附圖和具體實(shí)施方式
對(duì)本發(fā)明的內(nèi)容作進(jìn)一 步詳細(xì)說明。 1、相關(guān)數(shù)據(jù)表示 l)建立系統(tǒng)用戶日志文件 參照?qǐng)Dl,系統(tǒng)用戶日志文件中每行記錄了 3項(xiàng)內(nèi)容用戶ID、資源ID以及該用戶 對(duì)資源的評(píng)分值,可表示為三元組的形式 (UserID, ItemID, Rate) (式1) 其中 UserID :用于唯一標(biāo)識(shí)某個(gè)用戶的ID ;
ItemID :用于唯一標(biāo)識(shí)某項(xiàng)資源的ID ; Rate :用戶對(duì)資源的評(píng)分,評(píng)分的類型可以為從1到5的正整數(shù),該值越高,表示用 戶對(duì)資源越感興趣,若該值為空時(shí),表示用戶對(duì)資源沒有評(píng)分,也就是方法要進(jìn)行預(yù)測(cè)計(jì)算 的部分。如圖l所示,其中用戶ID和資源ID為字符串類型,用戶對(duì)資源的評(píng)分為正整數(shù), 范圍從1到5,分?jǐn)?shù)越高表示用戶對(duì)該資源越感興趣;每項(xiàng)之間用逗號(hào)相隔。
2)生成用戶興趣矩陣 從系統(tǒng)用戶日志中讀取的信息最終生成用戶-項(xiàng)目(User-Item)評(píng)價(jià)矩陣,稱用 戶興趣矩陣。例如當(dāng)系統(tǒng)中有M個(gè)用戶對(duì)N項(xiàng)資源進(jìn)行評(píng)價(jià),則用戶興趣矩陣用一個(gè)RM^ 矩陣來表示,如圖2所示,其中矩陣中的每個(gè)元素Rij表示了用戶i對(duì)資源j的評(píng)分。空元 素值表示用戶沒有對(duì)相應(yīng)的資源做出評(píng)價(jià)。 由于系統(tǒng)只包含一個(gè)圖1所示的系統(tǒng)用戶日志,因此上述用戶興趣矩陣對(duì)于整個(gè) 推薦系統(tǒng)只有一個(gè)(即為全局用戶興趣矩陣)。當(dāng)要為某個(gè)用戶建立模型時(shí)(系統(tǒng)輸入該 用戶ID),需要獲取該用戶的單用戶興趣矩陣。為了得到當(dāng)前用戶的單用戶興趣矩陣,則只 需將全局用戶興趣矩陣中該用戶對(duì)應(yīng)的行向量移至最后一行,再根據(jù)當(dāng)前用戶對(duì)系統(tǒng)資源 的是否評(píng)分的情況進(jìn)行列變換,將其劃分為訓(xùn)練集和預(yù)測(cè)集。 參照?qǐng)D3,當(dāng)前用戶的單用戶興趣矩陣中每一列定義為一個(gè)樣本實(shí)例,每個(gè)用戶 對(duì)某資源的評(píng)分定義為該樣本實(shí)例的一個(gè)維上的屬性值,每個(gè)元素值表示樣本實(shí)例的屬性 值。將當(dāng)前用戶所對(duì)應(yīng)的屬性稱為目標(biāo)屬性,其他的用戶所對(duì)應(yīng)的屬性稱為特征屬性。
參照?qǐng)D4,為了對(duì)用戶U4進(jìn)行預(yù)測(cè),先生成用戶U4的單用戶興趣矩陣,由用戶U4 的目標(biāo)屬性組成的行向量對(duì)應(yīng)用戶模型的輸出;用戶Ul、 U2、 U3對(duì)應(yīng)的特征屬性的組成的 行向量集合(矩陣),為用戶模型輸入;然后將單用戶興趣矩陣劃分為訓(xùn)練集和預(yù)測(cè)集。該 單用戶興趣矩陣中包含5個(gè)樣本實(shí)例,其中樣本實(shí)例II、 12和13對(duì)應(yīng)用戶U4評(píng)價(jià)過的資 源,那么前三個(gè)實(shí)例組成用戶模型的訓(xùn)練集,剩下的樣本實(shí)例被劃分為用戶的預(yù)測(cè)集。
2、數(shù)據(jù)預(yù)處理 1)當(dāng)系統(tǒng)用戶日志中記錄了M個(gè)用戶對(duì)N個(gè)資源的評(píng)價(jià)情況,數(shù)據(jù)預(yù)處理階段首 先形成大小為MXN的目標(biāo)用戶的單用戶興趣矩陣PM^,然后將樣本實(shí)例的屬性劃分為目標(biāo) 屬性和特征屬性,形成目標(biāo)向量集和特征向量集,并分別定義為目標(biāo)用戶對(duì)系統(tǒng)資源的評(píng) 分向量集T^,和系統(tǒng)其他用戶對(duì)系統(tǒng)資源的評(píng)分向量集I(M—D,這里的目標(biāo)用戶為將要為 其進(jìn)行預(yù)測(cè)推薦資源的用戶。
此時(shí)的單用戶興趣矩陣存在著大量的空缺值,對(duì)于空缺值采用樣本實(shí)例的屬性平 均值進(jìn)行預(yù)填充,即將I中每一列已有的特征值的平均值填入該列的空缺位置,填充后的 特征屬性的列向量集記為矩陣X(M—1)XN。 2)矩陣X》D^降維處理此時(shí)的矩陣X(m—D^可看作由N個(gè)(M-l)維樣本實(shí)例組 成的矩陣,采用主成分分析(PCA)技術(shù)對(duì)其進(jìn)行降維處理,具體步驟如下
St印l :計(jì)算矩陣X(M—1)XN的相關(guān)矩陣R G R(m-i)x(m-"
R = XXT, X G R(M-1)XN St印2 :求出R的特征值A(chǔ) " A 2...工(A工> A 2...工> 0)以及相應(yīng)的特征 向量l" 12,... , 1M—丄; St印3 :取前n-1個(gè)特征值,并將這n個(gè)特征值對(duì)應(yīng)的特征向量1" 12, . . . , ln整合 為變換矩陣1^=(1' 1;1' 2;...;1' n) G R(M-Dxn;其中n是由該累計(jì)貢獻(xiàn)率公式得出
l;為/^為l:,k表示這n個(gè)主成分的方差和在全部方差中所占比重(本實(shí)施例中k =
0.85);St印4:變換矩陣Ln乘以原始輸入的矩陣X(m—D,得到降維后的特征矩陣P^ 3)劃分訓(xùn)練集和預(yù)測(cè)集將目標(biāo)用戶對(duì)系統(tǒng)資源的評(píng)分向量集T^,放置在特征矩 陣Pnxw的尾行之后,形成降維后的用戶興趣矩陣A,劃分出用戶興趣矩陣A的訓(xùn)練集和預(yù)測(cè) 集,其形式化的定義描述如下。 定義1 :當(dāng)前用戶的降維后的用戶興趣矩陣A的樣本實(shí)例集合A'的表示形式 A, = {(Xi, 、)/^ = [xn, xi2......xin]T G Rn, ti G R V ti = Null, i = 1. N}; 定義2 :訓(xùn)練集,目標(biāo)屬性值存在的樣本實(shí)例組成的集合,即當(dāng)前用戶評(píng)價(jià)的樣 本實(shí)例集,作為模型訓(xùn)練所用到的樣本集合,形式化描述為Al = {(Xi, ti)/Xi= [xn, Xi2......xin]TGRn, tiGR,i = l...Nx}; 定義3 :預(yù)測(cè)集,目標(biāo)屬性值不存在的樣本實(shí)例組成的集合,即當(dāng)前用戶還未評(píng)價(jià) 的樣本實(shí)例集,其目標(biāo)屬性值需要經(jīng)過模型計(jì)算得出,形式化描述為A2 = {(Xi, t》/X =T G Rn, ti = Null, i = 1. N-Nx}。 其中N為A'集合中樣本個(gè)數(shù),Nx為訓(xùn)練集合樣本個(gè)數(shù)。 那么,當(dāng)為系統(tǒng)中某個(gè)用戶訓(xùn)練模型時(shí),首先根據(jù)用戶對(duì)系統(tǒng)資源的評(píng)分情況將
當(dāng)前用戶樣本實(shí)例集合劃分為訓(xùn)練集A1和預(yù)測(cè)集A2,A1用來為用戶訓(xùn)練模型,再利用訓(xùn)練
好的模型來計(jì)算用戶預(yù)測(cè)集A2,預(yù)測(cè)結(jié)果最終賦給A2中的ti。 3、模型訓(xùn)練 1)用戶模型的基本結(jié)構(gòu) 模型訓(xùn)練時(shí),首先為當(dāng)前用戶建立一個(gè)結(jié)構(gòu)為單隱藏層神經(jīng)網(wǎng)絡(luò)(Singlehidden Layer Feedforward networks/SLFNs)的用戶興趣預(yù)測(cè)模型,其數(shù)學(xué)表示形式如下式所示 <formula>formula see original document page 8</formula>
(式2) 其中 Wi = [wn, wi2, . . . , win]T :為連接第i個(gè)隱藏層節(jié)點(diǎn)和模型輸入的權(quán)值向量,通過樣本實(shí)例訓(xùn)練得到;
p i = i" p
通過樣本實(shí)例訓(xùn)練得到;
P im]T :為連接第i個(gè)隱藏層節(jié)點(diǎn)和模型輸出的權(quán)值向:
b
為第i個(gè)隱藏層節(jié)點(diǎn)的閾值,通過樣本實(shí)例訓(xùn)練得到; Xj G Rn :為模型輸入向量,對(duì)應(yīng)某個(gè)實(shí)例的特征向量; 0j G Rm:為模型輸出向量,對(duì)應(yīng)某個(gè)實(shí)例的目標(biāo)向量; F;為用戶模型中隱藏層包含的節(jié)點(diǎn)個(gè)數(shù); g(X):為激活函數(shù),要求該函數(shù)為連續(xù)函數(shù); Wi Xj :表示W(wǎng)i與Xj的點(diǎn)積。
當(dāng)給定N個(gè)樣本點(diǎn){(Xi,ti)/Xi = [Xil,Xi2......Xin]T G Rn,ti G Rm,
N},
通過采用極速學(xué)習(xí)算法使得SLFNs能夠精確地學(xué)習(xí)這N個(gè)樣本點(diǎn),也就是使得
<formula>formula see original document page 9</formula>
足夠小的過程。模型的訓(xùn)練過程也就是求解Wi、bi和13 2)利用極速學(xué)習(xí)機(jī)訓(xùn)練用戶模型 該技術(shù)首先為單隱藏層神經(jīng)網(wǎng)絡(luò)的輸入權(quán)值和隱藏層閾值隨機(jī)賦值,將上述隨機(jī) 參數(shù)和訓(xùn)練集代入用戶模型形成線性方程組,最后利用最小二乘法的思想計(jì)算輸出權(quán)值。
首先,將N個(gè)樣本實(shí)例代入模型方程中得到由N個(gè)線性方程組成的方程組 |>,威碼",10 = ^」=i, 上面N個(gè)式子可以簡寫為
<formula>formula see original document page 9</formula>
(式3)<formula>formula see original document page 9</formula>
(式4)
<formula>formula see original document page 9</formula>
(式5)
<formula>formula see original document page 9</formula> <formula>formula see original document page 9</formula>(式6) 式5中H稱為隱藏層輸出矩陣。 模型訓(xùn)練過程就是通過樣本輸出和H計(jì)算|3的過程。具體過程如下所示 訓(xùn)練過程給定訓(xùn)練集Al = {(Xi, t》|Xi G Rn, ti G R, i = 1 , , Nx},激活函數(shù)
為g(x),隱藏層節(jié)點(diǎn)個(gè)數(shù)為JV; St印l :為輸入權(quán)值Wi和閾值|3 i隨機(jī)賦值,其中/ = 1,.,.,#; St印2 :計(jì)算隱藏層輸出矩陣H ; St印3 :計(jì)算輸出權(quán)值13 , 13 = H+T其中T = [t" . . . , tN]T。 注這里隱藏層節(jié)點(diǎn)數(shù);(20-30)和激活函數(shù)g(x)都是事先給定的。激活函數(shù)可以為S型函數(shù),比如徑向基函數(shù)(radial basis)、正弦(sine)、余弦(cosine)、指數(shù)函數(shù)以
及其它非正規(guī)的連續(xù)函數(shù)。
4、預(yù)測(cè)推薦 —旦單隱藏層神經(jīng)網(wǎng)絡(luò)SLFNs參數(shù)Wi、bi和13 i確定后,就得到了該用戶的興趣預(yù) 測(cè)模型,便可以應(yīng)用該模型計(jì)算用戶對(duì)預(yù)測(cè)集中各項(xiàng)資源的可能評(píng)分。具體步驟如下 預(yù)測(cè)過程:給定預(yù)測(cè)集A2 = {(Xi, t執(zhí)=[Xil, xi2......xin]T G Rn, ti = Null,
i = 1.闊;St印1 :計(jì)算A2集合中未被評(píng)價(jià)的資源通過SLFN所形成的矩陣#; <formula>formula see original document page 10</formula>
St印2 :利用下面公式計(jì)算未評(píng)級(jí)資源的輸出值Y ;
I》 St印3 :按照計(jì)算得到的Y值大小將資源進(jìn)行排序,從而產(chǎn)生推薦。
實(shí)施例 為了說明本發(fā)明在時(shí)間以及精度上改善的效果,采用資源推薦領(lǐng)域一個(gè)權(quán)威的數(shù) 據(jù)集合MovieLens推薦系統(tǒng)的數(shù)據(jù)集合進(jìn)行實(shí)驗(yàn)。該數(shù)據(jù)集合記錄了系統(tǒng)中用戶對(duì)電影資 源的評(píng)分情況,其評(píng)分值為1到5的整數(shù)值,分?jǐn)?shù)越高則評(píng)價(jià)越高。 另外,為了觀察方法在不同規(guī)模數(shù)據(jù)集上產(chǎn)生的效果,將原MovieLens數(shù)據(jù)集按 用戶的個(gè)數(shù)取200, 500, 1000, 2000和3500五個(gè)規(guī)模的子集。其對(duì)應(yīng)的被評(píng)分資源個(gè)數(shù)分 別為2833, 3172, 3381, 3580和3633。另外設(shè)單隱藏層神經(jīng)網(wǎng)絡(luò)模型的激活函數(shù)為S型函 數(shù),隱藏層節(jié)點(diǎn)個(gè)數(shù)固定為30個(gè)。 實(shí)驗(yàn)一.數(shù)據(jù)集合未降維與經(jīng)過降維對(duì)比實(shí)驗(yàn) 從圖5可以看出,未經(jīng)過降維的方法,訓(xùn)練精度和F-measure要低于經(jīng)過降維后方 法的性能;另外經(jīng)過降維的用戶模型性能隨著數(shù)據(jù)規(guī)模增大而增大,這是因?yàn)榻稻S前,系統(tǒng) 中存在大量的噪聲和冗余數(shù)據(jù),這些數(shù)據(jù)導(dǎo)致未降維的方法推薦質(zhì)量下降,經(jīng)過降維操作 將這些數(shù)據(jù)過濾后,降維的方法的預(yù)測(cè)能力相應(yīng)也會(huì)得到提高;另外,隨著數(shù)據(jù)規(guī)模增大, 系統(tǒng)中可用的信息也越來越多,降維的方法的預(yù)測(cè)效果也將越來越好,這種結(jié)果也正符合 運(yùn)用協(xié)作過濾方法進(jìn)行預(yù)測(cè)的實(shí)際情況,即隨著數(shù)據(jù)的不斷積累增多,系統(tǒng)預(yù)測(cè)的效果將 越來越好。 實(shí)驗(yàn)二采用不同模型訓(xùn)練算法的對(duì)比實(shí)驗(yàn) 這里將給出ELM算法與傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)訓(xùn)練算法的對(duì)比試驗(yàn),這里的對(duì)比算法主 要使用基于誤差反向傳播(Back Propagation/BP)算法,并對(duì)ELM與BP算法的模型訓(xùn)練時(shí) 間和正確率進(jìn)行比較。 圖6和圖7分別對(duì)兩種算法的訓(xùn)練精度和測(cè)試精度進(jìn)行比較,其中BP算法的訓(xùn)練 精度較高,然而測(cè)試精度遠(yuǎn)不及ELM算法。即ELM算法隨著訓(xùn)練能力的提高,模型的預(yù)測(cè)能力也相應(yīng)有所提高,該算法的泛化性能要優(yōu)于BP算法。 從圖8可以看出,ELM算法的模型訓(xùn)練速度遠(yuǎn)遠(yuǎn)快于BP算法的模型訓(xùn)練速度。這 是因?yàn)镋LM算法在模型初始化階段首先為輸入權(quán)值和隱藏層閾值隨機(jī)賦值,并在整個(gè)學(xué)習(xí) 過程中不變,學(xué)習(xí)只是通過最小二乘解的方法求取輸出權(quán)值,一旦輸出權(quán)值求出,模型訓(xùn)練 結(jié)束。整個(gè)過程無需反復(fù)迭代,也不用擔(dān)心模型的關(guān)鍵參數(shù)設(shè)置不當(dāng),導(dǎo)致訓(xùn)練失敗。在相 同數(shù)據(jù)集合上,ELM算法的速度遠(yuǎn)遠(yuǎn)快于BP算法。
權(quán)利要求
一種基于極速神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)資源個(gè)性化推薦方法,其特征在于,具體包括以下步驟(1)數(shù)據(jù)預(yù)處理從系統(tǒng)用戶日志文件中讀取信息并生成全局用戶興趣矩陣,根據(jù)當(dāng)前用戶將全局用戶興趣矩陣進(jìn)行變換,得到當(dāng)前用戶的單用戶興趣矩陣;當(dāng)前用戶的單用戶興趣矩陣中每一列定義為一個(gè)樣本實(shí)例,每個(gè)樣本實(shí)例由特征屬性和目標(biāo)屬性組成,其中特征屬性對(duì)應(yīng)為單用戶興趣矩陣中其他用戶對(duì)該列所對(duì)應(yīng)資源的評(píng)分,目標(biāo)屬性為當(dāng)前用戶對(duì)該列所對(duì)應(yīng)資源的評(píng)分值,其中目標(biāo)屬性對(duì)應(yīng)的行向量記為T1×N,特征屬性對(duì)應(yīng)的行向量集所組成的矩陣記為I(M-1)×N;其中N表示系統(tǒng)中被評(píng)價(jià)的資源的個(gè)數(shù),M表示系統(tǒng)中參與評(píng)分的用戶的個(gè)數(shù),每一個(gè)元素存放用戶對(duì)資源的評(píng)分;此時(shí)矩陣I(M-1)×N中存在著大量空缺值,對(duì)于空缺值采用同一樣本實(shí)例的其他屬性平均值進(jìn)行預(yù)填充,并記填充后的矩陣為X(M-1)×N,將矩陣X(M-1)×N經(jīng)過主成分分析法降維為特征矩陣Pn×N,其中,n表示降維后的維數(shù);然后,將目標(biāo)用戶對(duì)系統(tǒng)資源的評(píng)分的行向量T1×N放置在特征矩陣Pn×N的尾行之后,形成降維后的用戶興趣矩陣A,看成是由降維后的N個(gè)樣本實(shí)例形成的集合,再根據(jù)目標(biāo)用戶對(duì)目標(biāo)屬性是否評(píng)分將樣本實(shí)例的集合劃分為訓(xùn)練集A1和預(yù)測(cè)集A2;(2)模型訓(xùn)練首先,為目標(biāo)用戶建立用戶興趣預(yù)測(cè)模型,其模型結(jié)構(gòu)為單隱藏層神經(jīng)網(wǎng)絡(luò)SLFNs;然后,對(duì)預(yù)測(cè)模型采用極速學(xué)習(xí)機(jī)技術(shù)在訓(xùn)練集A1上進(jìn)行訓(xùn)練,得到單隱藏層神經(jīng)網(wǎng)絡(luò)模型的各個(gè)連接權(quán)值以及隱藏層閾值,完成對(duì)用戶興趣預(yù)測(cè)模型中各參數(shù)的求解;(3)預(yù)測(cè)推薦利用訓(xùn)練所得到的預(yù)測(cè)模型計(jì)算出該目標(biāo)用戶對(duì)預(yù)測(cè)集A2中每一項(xiàng)資源的評(píng)分值,并將預(yù)測(cè)評(píng)分最高的前幾項(xiàng)資源推薦給目標(biāo)用戶。
2. 根據(jù)權(quán)利要求1所述的一種基于極速神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)資源個(gè)性化推薦方法,其特征 在于,系統(tǒng)用戶日志信息記錄了 3項(xiàng)內(nèi)容用戶ID、資源ID以及該用戶對(duì)資源的評(píng)分值,表 示為三元組的形式(UserID, ItemID, Rate)其中UserID :用于唯一標(biāo)識(shí)某個(gè)用戶的ID ; ItemID :用于唯一標(biāo)識(shí)某項(xiàng)資源的ID ;Rate :用戶對(duì)資源的評(píng)分,評(píng)分的類型為從1到5的正整數(shù),該值越高,表示用戶對(duì)資源 越感興趣,若該值為空時(shí),表示用戶對(duì)資源沒有評(píng)分。
3. 根據(jù)權(quán)利要求1所述的一種基于極速神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)資源個(gè)性化推薦方法,其特 征在于所述根據(jù)目標(biāo)用戶對(duì)目標(biāo)屬性是否評(píng)分將降維后的樣本實(shí)例的集合劃分為訓(xùn)練集 Al和預(yù)測(cè)集A2,其形式化表示為Al = {(Xi, t執(zhí)=[xn, xi2......xin]T g Rn, ti g R, i = l...Nx};A2 = {(Xi, t》/X = [xn, xi2......xin]T g Rn, ti = Null, i = 1…N-Nj ;其中Xi代表第i個(gè)樣本實(shí)例的n維特征屬性;ti為目標(biāo)屬性; R為實(shí)數(shù)域;Nx為訓(xùn)練集包含的樣本實(shí)例的個(gè)數(shù)。
4.根據(jù)權(quán)利要求1所述的一種基于極速神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)資源個(gè)性化推薦方法,其特征 在于,所述為目標(biāo)用戶建立用戶興趣預(yù)測(cè)模型,其模型結(jié)構(gòu)為單隱藏層神經(jīng)網(wǎng)絡(luò)SLFNs,其 數(shù)學(xué)表示采用如下式子<formula>formula see original document page 3</formula>其中Wi= [Wil,Wi2,…,WijT為連接第i個(gè)隱藏層節(jié)點(diǎn)和模型輸入的權(quán)值向量,通過樣本實(shí)例訓(xùn)練得到;Pi= [Pu,!3i2,…,ejw:為連接第i個(gè)隱藏層節(jié)點(diǎn)和模型輸出的權(quán)值向量,通過樣 本實(shí)例訓(xùn)練得到;bi :為第i個(gè)隱藏層節(jié)點(diǎn)的閾值,通過樣本實(shí)例訓(xùn)練得到; Xj G Rn :為模型輸入向量,對(duì)應(yīng)某個(gè)實(shí)例的特征向量; 0j G Rm:為模型輸出向量,對(duì)應(yīng)某個(gè)實(shí)例的目標(biāo)向量; AT :為用戶模型中隱藏層包含的節(jié)點(diǎn)個(gè)數(shù); g(X):為激活函數(shù),要求該函數(shù)為連續(xù)函數(shù); Wi X,.:表示W(wǎng)i與X,.的點(diǎn)積。
全文摘要
本發(fā)明屬于網(wǎng)絡(luò)資源管理領(lǐng)域,涉及網(wǎng)絡(luò)資源的協(xié)作過濾技術(shù),公開了一種基于極速神經(jīng)網(wǎng)絡(luò)模型的網(wǎng)絡(luò)資源個(gè)性化推薦方法。它包括(1)數(shù)據(jù)預(yù)處理從系統(tǒng)用戶日志文件中讀取信息并生成全局用戶興趣矩陣,并變換為當(dāng)前用戶的單用戶興趣矩陣,然后進(jìn)行變換、降維,劃分出訓(xùn)練集A1和預(yù)測(cè)集A2;(2)模型訓(xùn)練為目標(biāo)用戶建立結(jié)構(gòu)為單隱藏層神經(jīng)網(wǎng)絡(luò)SLFNs的興趣預(yù)測(cè)模型,采用極速學(xué)習(xí)機(jī)技術(shù)在訓(xùn)練集A1上進(jìn)行訓(xùn)練,得到單隱藏層神經(jīng)網(wǎng)絡(luò)模型的各個(gè)連接權(quán)值以及隱藏層閾值;(3)預(yù)測(cè)推薦利用訓(xùn)練所得到的預(yù)測(cè)模型計(jì)算出該目標(biāo)用戶對(duì)預(yù)測(cè)集A2中每一項(xiàng)資源的評(píng)分值,并將預(yù)測(cè)評(píng)分最高的前幾項(xiàng)資源推薦給目標(biāo)用戶。
文檔編號(hào)G06F17/30GK101694652SQ20091002416
公開日2010年4月14日 申請(qǐng)日期2009年9月30日 優(yōu)先權(quán)日2009年9月30日
發(fā)明者劉均, 吳茜媛, 王昕 , 田鋒, 鄧萬宇, 鄭慶華 申請(qǐng)人:西安交通大學(xué);