国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種基于K近鄰的貝葉斯個(gè)性化推薦方法及裝置與流程

      文檔序號(hào):11590640閱讀:242來源:國(guó)知局

      本發(fā)明屬于推薦系統(tǒng)領(lǐng)域,在貝葉斯個(gè)性化推薦方法的基礎(chǔ)上,考慮了用戶之間的相互影響,采用對(duì)級(jí)別學(xué)習(xí)排序方法,實(shí)現(xiàn)個(gè)性化推薦。本發(fā)明主要應(yīng)用在基于隱式數(shù)據(jù)的推薦場(chǎng)景中,尤其在數(shù)據(jù)稀疏和數(shù)據(jù)不平衡的推薦場(chǎng)景中,本發(fā)明能夠明顯緩解數(shù)據(jù)稀疏和數(shù)據(jù)不平衡給推薦結(jié)果帶來的負(fù)面影響,有效地進(jìn)行個(gè)性化推薦。



      背景技術(shù):

      基于用戶的協(xié)同過濾推薦技術(shù):

      基于用戶的協(xié)同過濾推薦技術(shù)認(rèn)為一個(gè)用戶會(huì)喜歡和他有相似興趣愛好的用戶喜歡的商品,因此該方法最重要的步驟是計(jì)算用戶之間的相似度,生成用戶-用戶相似度模型,依據(jù)用戶的相似用戶在未評(píng)分項(xiàng)目上的評(píng)分來進(jìn)行推薦。

      矩陣分解技術(shù):

      矩陣分解技術(shù)根據(jù)用戶-項(xiàng)目評(píng)分矩陣將用戶和項(xiàng)目表示為隱空間中的向量,用戶在某維度上的數(shù)值表示用戶在該維度上的感興趣程度,項(xiàng)目在某維度上的數(shù)值表示項(xiàng)目屬于該維度的程度。用戶對(duì)項(xiàng)目的評(píng)分預(yù)測(cè)通過用戶的隱向量和項(xiàng)目的隱向量的內(nèi)積實(shí)現(xiàn)。

      貝葉斯個(gè)性化排序技術(shù):

      貝葉斯個(gè)性化排序算法的主要思想是通過最大化后驗(yàn)概率以獲得用戶的個(gè)性化最優(yōu)序列。該算法是一種對(duì)級(jí)別的學(xué)習(xí)排序算法,通過用戶對(duì)項(xiàng)目的評(píng)分構(gòu)建每個(gè)用戶的項(xiàng)目序?qū)﹃P(guān)系集合,并在該集合上定義目標(biāo)函數(shù),通過對(duì)該目標(biāo)函數(shù)進(jìn)行學(xué)習(xí)獲得模型參數(shù)。傳統(tǒng)的貝葉斯個(gè)性化排序算法假設(shè)各個(gè)用戶之間是相互的獨(dú)立的,忽略了用戶之間相互影響。



      技術(shù)實(shí)現(xiàn)要素:

      推薦技術(shù)的目標(biāo)是為用戶進(jìn)行個(gè)性化的推薦,幫助用戶在大量的數(shù)據(jù)中快速獲取自己感興趣的信息。推薦技術(shù)主要依靠對(duì)用戶歷史行為數(shù)據(jù)的整理和分析(包括歷史瀏覽網(wǎng)頁、評(píng)分?jǐn)?shù)據(jù)等),為用戶推薦用戶可能感興趣的潛在信息,該技術(shù)不需要用戶提供明確的信息數(shù)據(jù)的表述,就能緩解信息過載問題。

      本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:首先根據(jù)用戶之間的相似度尋找和用戶最為相近的k個(gè)鄰居用戶。其次根據(jù)用戶的觀測(cè)項(xiàng)目和由相似的鄰居用戶組成的用戶群的觀測(cè)項(xiàng)目對(duì)整個(gè)項(xiàng)目集合進(jìn)行劃分。然后采用對(duì)級(jí)別的學(xué)習(xí)排序方法,將用戶對(duì)項(xiàng)目的偏好表示成項(xiàng)目對(duì)之間的偏好序,通過最大化所有用戶在整體項(xiàng)目集合上項(xiàng)目對(duì)偏好排序的概率即可得到目標(biāo)函數(shù)。最后采用隨機(jī)梯度下降法對(duì)目標(biāo)函數(shù)中的參數(shù)進(jìn)行求解,由求解得到的模型進(jìn)行預(yù)測(cè)產(chǎn)生最終的推薦結(jié)果。

      本發(fā)明出發(fā)點(diǎn)是在貝葉斯個(gè)性化排序技術(shù)的基礎(chǔ)上考慮用戶之間的相互影響,以解決貝葉斯個(gè)性化排序技術(shù)的假設(shè)中存在的問題。具體地說,基于k近鄰的貝葉斯個(gè)性化推薦技術(shù)不僅考慮了用戶相互作用對(duì)未觀測(cè)數(shù)據(jù)的影響,同時(shí),通過加入懲罰因子考慮用戶之間相互作用對(duì)已觀測(cè)數(shù)據(jù)的影響。該技術(shù)主要包含三個(gè)子過程,分別為尋找k近鄰、根據(jù)當(dāng)前用戶和鄰居用的歷史行為對(duì)項(xiàng)目集進(jìn)行劃分和采用基于對(duì)級(jí)別的學(xué)習(xí)排序方法來訓(xùn)練模型。

      本發(fā)明的技術(shù)方案為:

      1)對(duì)于每個(gè)用戶,計(jì)算用戶之間的相似度,選擇與當(dāng)前用戶最為相似的k個(gè)用戶構(gòu)成k近鄰用戶群;

      2)根據(jù)用戶的觀測(cè)項(xiàng)目和k近鄰用戶群的觀測(cè)項(xiàng)目對(duì)整個(gè)項(xiàng)目集進(jìn)行劃分;

      3)采用對(duì)級(jí)別的學(xué)習(xí)排序方法,將用戶對(duì)項(xiàng)目的偏好表示成項(xiàng)目對(duì)之間的偏好序,通過最大化所有用戶在整體項(xiàng)目集合上項(xiàng)目對(duì)偏好排序的概率即可得到目標(biāo)函數(shù)。最后采用隨機(jī)梯度下降法對(duì)目標(biāo)函數(shù)中的參數(shù)進(jìn)行求解。

      在上述技術(shù)方案的基礎(chǔ)上,本發(fā)明還可以做如下改進(jìn)。

      進(jìn)一步,步驟1)中選擇與用戶最為相似的k個(gè)用戶構(gòu)成k近鄰用戶群,具體過程為:

      在用戶行為數(shù)據(jù)上,根據(jù)用戶對(duì)項(xiàng)目的反饋行為,對(duì)于每個(gè)用戶,計(jì)算該用戶與其他用戶的余弦相似度,相似度計(jì)算方式為:

      其中pu和pw分別代表觀測(cè)的用戶u和w的正反饋項(xiàng)目集;按照相似度從大到小排序,選擇相似度最大的k個(gè)鄰居用戶組成該用戶的k近鄰用戶群。

      進(jìn)一步,上述步驟2)中對(duì)項(xiàng)目集合進(jìn)行劃分,具體過程為:

      (1)對(duì)于當(dāng)前用戶,從用戶-用戶鄰居模型中獲取該用戶的k近鄰用戶群;

      (2)從觀測(cè)數(shù)據(jù)中,獲取該用戶的已觀測(cè)正反饋項(xiàng)目集合(pu);

      (3)從觀測(cè)數(shù)據(jù)中,獲取該用戶未觀測(cè)而其k近鄰用戶群(n)已觀測(cè)到正反饋項(xiàng)目的集合(cu),

      (4)剩余的、用戶和其k近鄰均未觀測(cè)到有正反饋的項(xiàng)目集合(lu),lu=i-pu-cu。

      進(jìn)一步,步驟3)中得到目標(biāo)函數(shù)并求解,具體過程為:

      (1)根據(jù)用戶對(duì)項(xiàng)目的偏好假設(shè),將項(xiàng)目集合表示成項(xiàng)目序?qū)Γ?/p>

      (2)對(duì)于一個(gè)用戶,計(jì)算當(dāng)前模型的預(yù)測(cè)項(xiàng)目對(duì)排序符合該用戶偏好的概率;

      (3)由于用戶之間的行為的影響已經(jīng)在k近鄰用戶群中體現(xiàn)。因此,所有用戶在項(xiàng)目集合上的排序符合假設(shè)的概率可以近似地等于單個(gè)用戶的預(yù)測(cè)項(xiàng)目排序符合假設(shè)的概率的乘積。該乘積越大,意味著預(yù)測(cè)項(xiàng)目排序越符合假設(shè)的用戶對(duì)項(xiàng)目的偏好,故目標(biāo)函數(shù)為最大化所有用戶在整體項(xiàng)目集合上項(xiàng)目對(duì)偏好排序的概率。

      (4)采用隨機(jī)梯度下降法對(duì)目標(biāo)函數(shù)中的參數(shù)進(jìn)行求解。目標(biāo)函數(shù)中用戶對(duì)項(xiàng)目的預(yù)測(cè)評(píng)分由帶偏置項(xiàng)的矩陣分解算法求得。具體過程為通過每一次迭代,對(duì)模型中的參數(shù)求導(dǎo),對(duì)參數(shù)進(jìn)行更新。

      (5)由用戶隱因子矩陣和項(xiàng)目隱因子矩陣相乘即可得到推薦結(jié)果。

      進(jìn)一步,上述步驟(1)中用戶對(duì)項(xiàng)目的偏好假設(shè),具體為:

      用戶對(duì)自己已觀測(cè)到有正反饋的項(xiàng)目(pu)的偏好大于對(duì)其k近鄰已觀測(cè)到有正反饋的項(xiàng)目(cu)的偏好,用戶對(duì)其k近鄰已觀測(cè)到有正反饋的項(xiàng)目(cu)的偏好大于對(duì)用戶和其k近鄰均未觀測(cè)到有正反饋的項(xiàng)目(lu)的偏好,即:

      進(jìn)一步,上述步驟(2)中計(jì)算當(dāng)前模型的預(yù)測(cè)項(xiàng)目對(duì)排序符合該用戶u的偏好的概率,具體為:

      其中,是模型預(yù)測(cè)評(píng)分,p(.)為概率函數(shù)。

      進(jìn)一步,上述步驟(3)目標(biāo)函數(shù),具體為:

      其中,概率函數(shù)p(.)近似地等于sigmoid函數(shù)對(duì)于項(xiàng)目i∈pu,t∈cu,雖然項(xiàng)目i是已觀測(cè)項(xiàng)目,項(xiàng)目t是未觀測(cè)項(xiàng)目,用戶對(duì)項(xiàng)目i的偏好高于對(duì)項(xiàng)目t的偏好,即但是考慮到項(xiàng)目t是該用戶的k近鄰用戶群(n)已觀測(cè)項(xiàng)目,因此用戶對(duì)項(xiàng)目i和t的偏好程度需要考慮群支持度的影響。對(duì)于用戶u,若其k近鄰用戶群中存在很多鄰居對(duì)項(xiàng)目t有正反饋,且這些鄰居與用戶的相似度越大,那么群支持度nut越大,表示用戶u越有可能對(duì)項(xiàng)目t感興趣,即用戶u對(duì)項(xiàng)目t的偏好越接近于對(duì)正反饋項(xiàng)目i的偏好,換句話說,用戶對(duì)項(xiàng)目i和t的偏好程度相差會(huì)越小,對(duì)項(xiàng)目t和j的偏好程度相差會(huì)越大,因此概率函數(shù)則目標(biāo)函數(shù)為:

      其中,u是用戶集合,λθ是正則化參數(shù),θ是模型參數(shù),函數(shù)nut是用戶u的k近鄰用戶群對(duì)項(xiàng)目t的群支持度,計(jì)算如下:

      式中sim(u,w)表示用戶u和w之間的相似度,n為用戶的k近鄰用戶群,cu表示用戶u的優(yōu)先候選項(xiàng)目集合,pw表示用戶w的正反饋項(xiàng)目集合,δ(·)為指示函數(shù),當(dāng)存在項(xiàng)目t∈cu且t∈pw時(shí),否則

      進(jìn)一步,上述步驟(4)采用隨機(jī)梯度下降法對(duì)目標(biāo)函數(shù)求解,具體為:

      目標(biāo)函數(shù)中用戶對(duì)項(xiàng)目的預(yù)測(cè)評(píng)分由帶偏置項(xiàng)的矩陣分解算法求得。令w:|u|×d表示用戶隱因子矩陣,v:|i|×d表示項(xiàng)目隱因子矩陣,b:1×|i|表示項(xiàng)目偏置項(xiàng),則

      對(duì)目標(biāo)函數(shù)中的參數(shù)求梯度如下:

      該公式中,模型參數(shù)θ可取wuf,vif,vtf,vjf,bi,bt,bj。因此對(duì)模型中用戶相關(guān)參數(shù)求梯度如下:

      對(duì)模型中項(xiàng)目相關(guān)參數(shù)求梯度如下:

      對(duì)每個(gè)參數(shù)按如下方式進(jìn)行更新:

      此外,為解決傳統(tǒng)貝葉斯個(gè)性化排序技術(shù)中由于用戶之間相互獨(dú)立這個(gè)假設(shè)中存在的問題,本發(fā)明提出了一種基于k近鄰的貝葉斯個(gè)性化推薦裝置。

      一種基于k近鄰的貝葉斯個(gè)性化推薦裝置,包括:

      用戶-用戶k近鄰生成模塊,用于尋找與每個(gè)用戶最為相似的k個(gè)鄰居用戶;

      項(xiàng)目集合劃分模塊,用于根據(jù)用戶之間的相互影響將整個(gè)項(xiàng)目集合劃分成三個(gè)兩兩不相交的子集。

      構(gòu)造目標(biāo)函數(shù)及推薦模塊,用于實(shí)現(xiàn)用戶的個(gè)性化推薦,該模塊獲取目標(biāo)函數(shù),并采用隨機(jī)梯度下降法對(duì)目標(biāo)函數(shù)中的參數(shù)進(jìn)行求解。

      本方法的有益效果是:

      該方法在貝葉斯個(gè)性化排序方法的基礎(chǔ)上考慮了用戶之間的相互影響,并通過用戶之間的影響對(duì)整個(gè)項(xiàng)目集合進(jìn)行劃分,將鄰居用戶喜歡的項(xiàng)目集合看作是當(dāng)前用戶的優(yōu)先候選項(xiàng)目集合,以減少了未觀測(cè)項(xiàng)目的個(gè)數(shù),進(jìn)而緩解樣本分布不平衡問題和數(shù)據(jù)稀疏問題。

      選取了推薦技術(shù)常用的6個(gè)公開數(shù)據(jù)集,分別為movielens100k、movielens1m、netflix5k5k、rcdata、lastfm2k和delicious2k,其中包含兩個(gè)記錄用戶輔助信息的數(shù)據(jù)集,以及兩個(gè)常用于基于社交信息推薦的數(shù)據(jù)集。對(duì)于movielens100k、movielens1m和netflix5k5k這三個(gè)電影評(píng)分?jǐn)?shù)據(jù)集,我們選取評(píng)分高于3的數(shù)據(jù)作為觀測(cè)到的正反饋數(shù)據(jù)。對(duì)于rcdata,我們?nèi)≡u(píng)分為2的數(shù)據(jù)作為觀測(cè)的正反饋數(shù)據(jù)。對(duì)每個(gè)數(shù)據(jù)集我們隨機(jī)選取80%作為訓(xùn)練集,20%作為測(cè)試集,并在訓(xùn)練集上為每個(gè)用戶隨機(jī)選擇一條用戶-項(xiàng)目觀測(cè)數(shù)據(jù)組成校驗(yàn)集。將此過程重復(fù)5次,在每次劃分出來的訓(xùn)練集和測(cè)試集上會(huì)得到一個(gè)實(shí)驗(yàn)結(jié)果,我們的最終實(shí)驗(yàn)結(jié)果是取這5次實(shí)驗(yàn)結(jié)果的平均值。下面結(jié)合測(cè)試實(shí)例進(jìn)行分析。

      實(shí)驗(yàn)數(shù)據(jù)集信息如表1所示。

      表1實(shí)驗(yàn)數(shù)據(jù)集信息

      該方法與對(duì)比算法在公開數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果如表2所示。

      表2不同推薦算法在公開數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果

      實(shí)驗(yàn)結(jié)果顯示,knnbpr在所有數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果均優(yōu)于對(duì)比方法,尤其是在稀疏程度很高的數(shù)據(jù)集上,knnbpr的實(shí)驗(yàn)結(jié)果明顯優(yōu)于bpr、gbpr和sbpr,進(jìn)一步地證明了基于k近鄰的貝葉斯個(gè)性化推薦方法能夠緩解數(shù)據(jù)不平衡和數(shù)據(jù)稀疏性帶來的負(fù)面影響,在很稀疏的數(shù)據(jù)集上也能具有很好的推薦性能。

      附圖說明

      下面結(jié)合附圖和實(shí)施例對(duì)本方法進(jìn)一步說明。

      圖1是一種基于k近鄰的貝葉斯個(gè)性化推薦方法的流程圖。

      圖2是一種基于k近鄰的貝葉斯個(gè)性化推薦裝置的示意圖。

      具體實(shí)施方式

      以下結(jié)合附圖對(duì)本發(fā)明的原理和性質(zhì)進(jìn)行描述,所舉實(shí)例只用于解釋本發(fā)明,并非用于限定本發(fā)明的范圍?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。

      本發(fā)明提供一種基于k近鄰的貝葉斯個(gè)性化推薦方法,該方法主要可以分為初始化過程和訓(xùn)練過程,在初始化過程中,主要包含讀取訓(xùn)練集、構(gòu)造用戶-用戶k近鄰兩個(gè)步驟,其中構(gòu)造用戶-用戶k近鄰的詳細(xì)過程為:首先讀取訓(xùn)練集,包括三個(gè)過程:構(gòu)造用戶-用戶k近鄰過程、項(xiàng)目集合劃分過程、獲取目標(biāo)函數(shù)及目標(biāo)函數(shù)求解過程,以下步驟:

      構(gòu)造用戶-用戶k近鄰過程如下:

      1)從訓(xùn)練數(shù)據(jù)的用戶集合中依次選取用戶,尋找該用戶的k近鄰,直至所有用戶的k近鄰確定;

      2)對(duì)當(dāng)前用戶,依次計(jì)算該用戶與除該用戶以外的其他剩余用戶的余弦相似度;

      3)將計(jì)算得到的余弦相似度從大到小進(jìn)行排序;

      4)選取相似度最大的k個(gè)用戶作為鄰居用戶。

      在訓(xùn)練過程,主要是通過迭代,在每一次迭代隨機(jī)選取一個(gè)用戶,根據(jù)該用戶和其k近鄰用戶群對(duì)項(xiàng)目集合進(jìn)行劃分,根據(jù)用戶對(duì)項(xiàng)目的偏好關(guān)系構(gòu)造目標(biāo)函數(shù),求解目標(biāo)函數(shù)以實(shí)現(xiàn)推薦。具體地說,項(xiàng)目集合劃分的詳細(xì)步驟如下:

      1)隨機(jī)選擇系統(tǒng)中的一個(gè)用戶;

      2)從用戶-用戶鄰居模型中獲取該用戶的k個(gè)鄰居;

      3)從觀測(cè)數(shù)據(jù)中獲取該用戶的觀測(cè)項(xiàng)目;

      4)從觀測(cè)數(shù)據(jù)中獲取該用戶未觀測(cè)而由其k個(gè)鄰居組成的用戶群已觀測(cè)的項(xiàng)目;

      5)在整個(gè)項(xiàng)目集合中,獲取用戶和其用戶群均未觀測(cè)的項(xiàng)目。

      目標(biāo)函數(shù)具體求解過程如下:

      1)根據(jù)用戶對(duì)項(xiàng)目的偏好關(guān)系,采用對(duì)級(jí)別的學(xué)習(xí)排序方法,將項(xiàng)目表示成偏好序?qū)Γ?/p>

      2)對(duì)于每個(gè)用戶,計(jì)算模型預(yù)測(cè)的項(xiàng)目對(duì)排序符合假設(shè)的項(xiàng)目偏好排序的概率,最大化所有用戶的由模型預(yù)測(cè)的項(xiàng)目對(duì)排序符合假設(shè)的概率作為目標(biāo)函數(shù),如下:

      其中,u是用戶集合,λθ是正則化參數(shù),θ是模型參數(shù),是模型預(yù)測(cè)評(píng)分,函數(shù)nut是群支持度。

      3)目標(biāo)函數(shù)中,預(yù)測(cè)評(píng)分值使用矩陣分解模型表示,對(duì)目標(biāo)函數(shù)的求解采用隨機(jī)梯度下降法:

      其中,模型參數(shù)θ可取wuf,vif,vtf,vjf,bi,bt,bj,因此,根據(jù)上述公式求出每個(gè)參數(shù)的梯度,采用如下公式對(duì)參數(shù)進(jìn)行更新:

      此外,本發(fā)明提供一種基于k近鄰的貝葉斯個(gè)性化推薦裝置,如圖2所示,包括三個(gè)模塊:用戶-用戶k近鄰生成模塊101、項(xiàng)目集合劃分模塊102和目標(biāo)函數(shù)求解及推薦模塊103,其中:

      用戶-用戶k近鄰生成模塊101,用于尋找與每個(gè)用戶最為相似的k個(gè)鄰居用戶,構(gòu)造用戶-用戶k近鄰模型。

      項(xiàng)目集合劃分模塊102,于根據(jù)用戶之間的相互影響將整個(gè)項(xiàng)目集合劃分成三個(gè)兩兩不相交的子集。

      目標(biāo)函數(shù)求解及推薦模塊103,用于實(shí)現(xiàn)用戶的個(gè)性化推薦,該模塊通過最大化所有用戶在項(xiàng)目集合上的項(xiàng)目偏好序?qū)ε判虻母怕实玫侥繕?biāo)函數(shù),并采用隨機(jī)梯度下降法對(duì)目標(biāo)函數(shù)中的參數(shù)進(jìn)行求解。根據(jù)求解得到的模型進(jìn)行預(yù)測(cè),以產(chǎn)生推薦。

      采用了上述基于k近鄰的貝葉斯個(gè)性化推薦方法及裝置之后,在推薦過程中,考慮了用戶之間的相互影響,并且根據(jù)用戶之間的相互影響對(duì)項(xiàng)目集合進(jìn)行劃分,減少了未觀測(cè)項(xiàng)目的個(gè)數(shù),有效地緩解了推薦過程中的數(shù)據(jù)不平衡問題和數(shù)據(jù)稀疏性問題。因此,和貝葉斯個(gè)性化推薦方法相比,該方法考慮了用戶之間的相互影響,能夠更有效地為用戶進(jìn)行個(gè)性化推薦。

      以上所揭露的僅為本發(fā)明較佳實(shí)施例而已,當(dāng)然不能以此來限定本發(fā)明之權(quán)利范圍,因此依本發(fā)明權(quán)利要求所作的等同變化,仍屬本發(fā)明所涵蓋的范圍。

      當(dāng)前第1頁1 2 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1