官 蕊 丁家滿 賈連印 游進(jìn)國(guó) 姜 瑛
(昆明理工大學(xué)信息工程與自動(dòng)化學(xué)院 云南 昆明 650500)(云南省人工智能重點(diǎn)實(shí)驗(yàn)室 云南 昆明 650500)
交互式推薦系統(tǒng)(IRS)在大多數(shù)個(gè)性化服務(wù)中起著關(guān)鍵作用[1]。不同于傳統(tǒng)推薦方法將推薦過程定義為靜態(tài)過程[2],IRS連續(xù)向用戶推薦商品并獲得他們的反饋,從這種交互過程中學(xué)習(xí)推薦策略。IRS方法分為兩類:基于多臂賭博機(jī)(MAB)推薦和基于強(qiáng)化學(xué)習(xí)(RL)推薦。其中,基于MAB推薦嘗試將交互推薦建模為MAB問題。Koren等[3]和Zeng等[4]采用線性模型來估計(jì)各臂的置信上限(UCB)。此外,一些研究者嘗試將MAB與矩陣分解技術(shù)相結(jié)合進(jìn)行推薦[5]。這一類推薦方法無法實(shí)時(shí)適應(yīng)用戶偏好的改變,雖然實(shí)現(xiàn)最大化用戶的當(dāng)前收益,但其忽略了用戶的長(zhǎng)期收益。
強(qiáng)化學(xué)習(xí)在需要?jiǎng)討B(tài)交互和長(zhǎng)期規(guī)劃(例如Atari游戲、棋類博弈和自動(dòng)駕駛等)的多種場(chǎng)景中應(yīng)用取得了顯著成功[6]。近幾年,眾多學(xué)者應(yīng)用強(qiáng)化學(xué)習(xí)解決推薦問題,顯示出其處理IRS交互性的潛力?;赗L的推薦方法將推薦過程定義為馬爾可夫決策過程(MDP),對(duì)用戶狀態(tài)進(jìn)行建模,以最大化長(zhǎng)期推薦獎(jiǎng)勵(lì)[7],這一類方法包括:基于值(Value-based)的方法(例如,Q-Learning)和基于策略(Policy-based)的方法(例如,策略梯度),構(gòu)成了解決RL問題的經(jīng)典方法[8]。Taghipour等[9]提出將網(wǎng)頁信息與Q-Learning算法結(jié)合解決網(wǎng)頁推薦問題。有研究者在Q-Learning中引入值函數(shù)估計(jì)和記憶庫(kù)機(jī)制,提出Deep Q Network(DQN)方法[10]。Zhao等[11]將正面和負(fù)面反饋均融入DQN框架,提出了將目標(biāo)項(xiàng)目與競(jìng)爭(zhēng)者項(xiàng)目之間Q值差異最大化,以引導(dǎo)推薦過程的方向和目標(biāo)的統(tǒng)一。由于Q-Learning算法和DQN算法都是Value-based的學(xué)習(xí)方法,通過對(duì)Bellman方程進(jìn)行迭代最終收斂到最優(yōu)價(jià)值函數(shù),這種方法計(jì)算量大,而且在一些特殊的場(chǎng)景下Q值難以計(jì)算[12]。作為一種Policy-based學(xué)習(xí)方法,策略梯度(policy gradient)則不存在這一問題,這種方法可以直接對(duì)策略進(jìn)行學(xué)習(xí)。Chen等[13]提出了一個(gè)基于層次聚類樹的策略梯度推薦框架,通過尋找從樹根到葉子的路徑選取推薦項(xiàng)目。Chen等[14]提出將離線策略梯度修正的方法用于動(dòng)作空間數(shù)以百萬計(jì)的Youtube在線推薦系統(tǒng),解決了因只能從之前記錄反饋而產(chǎn)生推薦的數(shù)據(jù)偏差問題。
上述推薦算法均獲得了良好的推薦效果,但在挖掘數(shù)據(jù)特性方面有待改進(jìn)。為此,本文提出一種融合序列模式評(píng)分的策略梯度推薦算法(Sequence Pattern Rating Recommendation,SPRR),首先分析評(píng)分?jǐn)?shù)據(jù)的序列模式,設(shè)計(jì)融合序列模式評(píng)分的獎(jiǎng)勵(lì)作為交互式推薦的反饋信息;其次針對(duì)策略梯度方差大的問題,通過對(duì)累計(jì)獎(jiǎng)勵(lì)回報(bào)設(shè)計(jì)標(biāo)準(zhǔn)化操作來降低策略梯度的方差,學(xué)習(xí)更優(yōu)的推薦策略,解決電影推薦問題。
利用強(qiáng)化學(xué)習(xí)解決推薦問題,通?;隈R爾可夫決策過程原理建立推薦過程模型。馬爾可夫決策過程由狀態(tài)集S、動(dòng)作集A、獎(jiǎng)勵(lì)函數(shù)R、狀態(tài)轉(zhuǎn)移函數(shù)T和策略函數(shù)π組成,利用五元組表示。其中,狀態(tài)集S定義為用戶和推薦系統(tǒng)的歷史交互記錄,其包含推薦項(xiàng)目、獎(jiǎng)勵(lì)回報(bào)和統(tǒng)計(jì)信息。在時(shí)間步t,將狀態(tài)st定義為二元組[item, reward],其中item和reward為推薦項(xiàng)目和相應(yīng)用戶反饋的獎(jiǎng)勵(lì)回報(bào)信息。為了對(duì)用戶歷史交互記錄進(jìn)行編碼,受Lei等[15]提出的快速訓(xùn)練的簡(jiǎn)單遞歸單元SRU的啟發(fā),本文利用RNN模型來學(xué)習(xí)狀態(tài)的隱藏表示。動(dòng)作集A是智能體(Agent)可選的所有離散動(dòng)作集合。所有可選的動(dòng)作集合取決于當(dāng)前的狀態(tài)st,表示為A(st)。在時(shí)間步t,選擇一個(gè)推薦項(xiàng)目a推薦給用戶。
獎(jiǎng)勵(lì)函數(shù)R(s,a)也稱為強(qiáng)化函數(shù),是一種即時(shí)獎(jiǎng)勵(lì)或懲罰。推薦系統(tǒng)根據(jù)當(dāng)前歷史交互記錄s向用戶推薦項(xiàng)目a之后,用戶反饋給推薦系統(tǒng)一個(gè)獎(jiǎng)勵(lì),表示用戶對(duì)該推薦項(xiàng)目的評(píng)價(jià)。狀態(tài)轉(zhuǎn)移函數(shù)T(s,a)是一個(gè)描述環(huán)境狀態(tài)轉(zhuǎn)移的函數(shù)。由于狀態(tài)是用戶的歷史交互記錄,一旦推薦一個(gè)新的項(xiàng)目給用戶,并受到用戶的反饋,用戶的狀態(tài)也就發(fā)生了相應(yīng)的變化。作為對(duì)時(shí)間步t選擇執(zhí)行動(dòng)作at的結(jié)果,該函數(shù)將環(huán)境狀態(tài)st轉(zhuǎn)移到st+1。策略函數(shù)π(a|s)描述了Agent的行為,它是從環(huán)境狀態(tài)到動(dòng)作的一種映射。策略函數(shù)定義為所有可選的候選動(dòng)作項(xiàng)目的概率分布。策略函數(shù)π(a|s)表示為:
(1)
式中:θ是策略參數(shù)。
包含上述MDP元素的序列(episode)為一次推薦過程,包含用戶狀態(tài)、推薦動(dòng)作和用戶反饋的序列(s1,a1,r1,s2,a2,r2,…,sn,an,rn,sn+1)。在此序列中,推薦算法根據(jù)用戶狀態(tài)s1向用戶推薦項(xiàng)目a1,用戶反饋給推薦系統(tǒng)此次推薦的獎(jiǎng)勵(lì)回報(bào)r1,用戶狀態(tài)s1相應(yīng)的轉(zhuǎn)變?yōu)閟2,當(dāng)序列到達(dá)滿足預(yù)定義條件的狀態(tài)sn+1時(shí)結(jié)束。
獎(jiǎng)勵(lì)回報(bào)作為用戶對(duì)推薦Agent行為的反饋,是指導(dǎo)強(qiáng)化學(xué)習(xí)方向的關(guān)鍵。獎(jiǎng)勵(lì)函數(shù)設(shè)置的優(yōu)劣將直接影響算法的收斂速度和學(xué)習(xí)效果,因此在強(qiáng)化學(xué)習(xí)中至關(guān)重要。目前大多數(shù)基于RL推薦方法的獎(jiǎng)勵(lì)函數(shù)設(shè)置較單一,一般定義用戶評(píng)分、用戶點(diǎn)擊量和用戶購(gòu)買量等標(biāo)量信息作為反饋,未挖掘推薦過程中用戶反饋行為的評(píng)分序列模式。用戶評(píng)分歷史記錄中,除了反映用戶對(duì)推薦項(xiàng)目的滿意度外,在一定程度上也反映了用戶的評(píng)分偏好。若用戶的連續(xù)正面評(píng)分記錄越多,表示用戶對(duì)已推薦項(xiàng)目的滿意度越高,用戶對(duì)于后續(xù)推薦項(xiàng)目的評(píng)分為正面的概率越大;若用戶的連續(xù)負(fù)面評(píng)分記錄越多,表示用戶對(duì)已推薦項(xiàng)目的滿意度較低,用戶對(duì)于后續(xù)推薦項(xiàng)目的評(píng)分為負(fù)面的概率越大。
受文獻(xiàn)[14]啟發(fā),本文在狀態(tài)st下推薦動(dòng)作at后,將用戶反饋的獎(jiǎng)勵(lì)定義為兩部分。一部分是經(jīng)驗(yàn)獎(jiǎng)勵(lì)回報(bào),定義為用戶對(duì)推薦項(xiàng)目at的評(píng)分;另一部分是序列模式獎(jiǎng)勵(lì)回報(bào),定義為在狀態(tài)st下推薦項(xiàng)目at之前,用戶的評(píng)分序列模式獎(jiǎng)勵(lì)。評(píng)分序列模式獎(jiǎng)勵(lì)定義為用戶的連續(xù)正面平均評(píng)分和連續(xù)負(fù)面平均評(píng)分之差,利用計(jì)算正負(fù)面平均評(píng)分的方式學(xué)習(xí)用戶的評(píng)分序列模式。獎(jiǎng)勵(lì)函數(shù)R(s,a)計(jì)算式為:
R(s,a)=rij+α(rp-rn)
(2)
式中:rij是用戶i對(duì)推薦項(xiàng)目j的評(píng)分,若用戶i未對(duì)推薦項(xiàng)目j評(píng)分則為0;rp是用戶的連續(xù)正面平均評(píng)分,計(jì)算式為式(3);rn是用戶連續(xù)負(fù)面平均評(píng)分計(jì)算式為式(4);α為平衡參數(shù)用以權(quán)衡經(jīng)驗(yàn)獎(jiǎng)勵(lì)回報(bào)和序列模式獎(jiǎng)勵(lì)回報(bào)的比重。
(3)
(4)
式中:pi為連續(xù)正面評(píng)分計(jì)數(shù);ni為連續(xù)負(fù)面評(píng)分計(jì)數(shù)。
本文通過強(qiáng)化學(xué)習(xí)中策略梯度方法REINFORCE來學(xué)習(xí)策略參數(shù)θ。策略梯度方法是強(qiáng)化學(xué)習(xí)中的另一大分支。與Value-based的方法(Q-learning,Sarsa算法)類似,REINFORCE也需要同環(huán)境進(jìn)行交互,不同的是它輸出的不是動(dòng)作的價(jià)值,而是所有可選動(dòng)作的概率分布。SPRR算法的目標(biāo)是最大化期望累積折扣獎(jiǎng)勵(lì)J(πθ),表示為:
J(πθ)=ΕL~πθ[G(L)]
(5)
式中:L={xa0,xa1,…,xaN}是推薦列表。G(L)定義為推薦列表的累積折扣獎(jiǎng)勵(lì),其計(jì)算式為:
(6)
假定一個(gè)完整推薦序列的狀態(tài)、動(dòng)作和獎(jiǎng)勵(lì)回報(bào)的軌跡為τ=(s0,a0,r0,s1,a1,r1,…,sn,an,rn,sn+1),則期望累積折扣獎(jiǎng)勵(lì)J(πθ)的梯度▽?duì)菾(πθ)的計(jì)算式為:
▽?duì)菾(πθ)=Gt▽?duì)萳ogπθ(at|st;θ)
(7)
利用該梯度調(diào)整策略參數(shù),得到策略參數(shù)更新式為:
θ=θ+η▽?duì)菾(πθ)
(8)
式中:η為學(xué)習(xí)率,用來控制策略參數(shù)θ更新的速率。式(7)中的▽?duì)萳ogπθ(at|st;θ)梯度項(xiàng)表示能夠提高推薦軌跡τ出現(xiàn)概率的方向,乘以累積折扣獎(jiǎng)勵(lì)之后,可以使得單個(gè)序列內(nèi)累積獎(jiǎng)勵(lì)回報(bào)最高的軌跡τ越“用力拉攏”概率密度。即若收集了很多累積獎(jiǎng)勵(lì)回報(bào)不同的推薦軌跡,通過上述訓(xùn)練過程會(huì)使得概率密度向累積獎(jiǎng)勵(lì)回報(bào)更高的方向移動(dòng),最大化高獎(jiǎng)勵(lì)回報(bào)推薦軌跡τ出現(xiàn)的概率。
在某些序列中,由于每個(gè)序列的累積獎(jiǎng)勵(lì)回報(bào)都不為負(fù),那么所有梯度▽?duì)菾(πθ)的值也均為大于等于0的。此時(shí),在訓(xùn)練過程中收集的每個(gè)推薦軌跡,都會(huì)使概率密度向正的方向“拉攏”,很大程度減緩了學(xué)習(xí)速率,使得梯度▽?duì)菾(πθ)的方差很大。因此,本文對(duì)累計(jì)獎(jiǎng)勵(lì)回報(bào)使用標(biāo)準(zhǔn)化操作來降低梯度▽?duì)菾(πθ)的方差。
(9)
通過改進(jìn)的累積獎(jiǎng)勵(lì)回報(bào)使得算法能提高總獎(jiǎng)勵(lì)回報(bào)較大的推薦軌跡的出現(xiàn)概率,同時(shí)降低總獎(jiǎng)勵(lì)回報(bào)較小的推薦軌跡的出現(xiàn)概率,保證策略參數(shù)θ沿著有利于產(chǎn)生最高總獎(jiǎng)勵(lì)回報(bào)的動(dòng)作的方向移動(dòng),使好的動(dòng)作得到更高的獎(jiǎng)勵(lì)。
本文提出的SPRR推薦算法的具體描述如下算法1。算法2取樣序列算法描述了算法1中獲取取樣序列的過程。
算法1SPRR算法
輸入:序列長(zhǎng)度N,候選推薦集合D,學(xué)習(xí)率η,折扣因子γ,獎(jiǎng)勵(lì)函數(shù)R。
輸出:策略參數(shù)θ。
1.forj=1 tondo
2.隨機(jī)初始化策略參數(shù)θj;
3.end for
4.θ=(θ1,θ2,θ3,…,θn);
5.repeat
6.Δθ=0;
7.(s0,a0,r1,…,sM-1,aM-1,rM)←
SampleAnEpisode(θ,N,D,R);
//算法2
8.fort=0 toNdo
//式(9)
10.▽?duì)菾(πθ)=Gt▽?duì)萳ogπθ(at|st;θ);
//式(7)
11.end for
12.end for
13.θ=θ+η▽?duì)菾(πθ);
//式(8)
14.until converge;
15.返回θ;
算法2SampleAnEpisode Algorithm算法
輸入:策略參數(shù)θ,序列長(zhǎng)度N,獎(jiǎng)勵(lì)函數(shù)R。
輸出:推薦序列E。
1.初始化s0=[0];
2.fort=0 toNdo
3.取樣動(dòng)作at∈A(st)~π(at|st;θ)
//式(1)
4.rt+1=R(st,at);
//式(2)
5.ift 6.轉(zhuǎn)移st至st+1; 7.添加(st,at,rt+1)至E的末端; 8.end for 9.返回E; 實(shí)驗(yàn)采用MovieLens(10M)和Netflix數(shù)據(jù)集。MovieLens(10M)數(shù)據(jù)集包含從MovieLens網(wǎng)站收集的1 000萬條用戶對(duì)電影的評(píng)分。Netflix數(shù)據(jù)集包含從Netflix比賽中收集的1億條評(píng)分。數(shù)據(jù)集的統(tǒng)計(jì)信息如表1所示。 表1 數(shù)據(jù)集的統(tǒng)計(jì)信息 本文對(duì)電影推薦中的數(shù)據(jù)集MovieLens(10M)和Netflix進(jìn)行實(shí)證分析,來驗(yàn)證推薦過程中評(píng)分序列模式的存在。兩個(gè)數(shù)據(jù)集中均包含許多用戶會(huì)話,每個(gè)會(huì)話根據(jù)時(shí)間戳包含用戶對(duì)不同項(xiàng)目的評(píng)分且兩個(gè)數(shù)據(jù)集均為五級(jí)評(píng)分。假定3分及以上的評(píng)分為正面評(píng)分,其他評(píng)分為負(fù)面評(píng)分。假設(shè)用戶u對(duì)推薦項(xiàng)目i評(píng)分之前有b個(gè)連續(xù)正(負(fù))評(píng)分的評(píng)級(jí),將連續(xù)正(負(fù))計(jì)數(shù)定義為b。因此,每一推薦動(dòng)作可以與特定的連續(xù)正(負(fù))計(jì)數(shù)關(guān)聯(lián),設(shè)置b為1~5,計(jì)算具有相同計(jì)數(shù)b的平均評(píng)分。圖1-圖2給出了在兩個(gè)數(shù)據(jù)集下不同連續(xù)正(負(fù))計(jì)數(shù)下相應(yīng)的平均評(píng)分,可以觀察到用戶評(píng)分行為存在的序列模式,即對(duì)連續(xù)正計(jì)數(shù)較大的項(xiàng)目用戶,傾向于給出線性較高的評(píng)分;反之,連續(xù)負(fù)計(jì)數(shù)較大的項(xiàng)目用戶傾向于給出線性較低的評(píng)分。原因可能是用戶之前觀看的電影越讓其感興趣,用戶滿意度越高。因此,用戶傾向于對(duì)當(dāng)前推薦的電影給予較高的評(píng)價(jià)。若用戶之前觀看的電影越讓其不感興趣,用戶滿意度越低。因此,用戶傾向于對(duì)當(dāng)前推薦的電影給予較低的評(píng)價(jià)。 圖1 MovieLens在不同連續(xù)計(jì)數(shù)下的平均評(píng)分 圖2 Netflix在不同連續(xù)計(jì)數(shù)下的平均評(píng)分 所有實(shí)驗(yàn)中,由于基于RL的方法的目標(biāo)是獲得最大的累積獎(jiǎng)勵(lì)回報(bào),因此本文使用測(cè)試集中用戶對(duì)推薦項(xiàng)目的平均獎(jiǎng)勵(lì)(Reward)作為一個(gè)評(píng)價(jià)指標(biāo)。平均獎(jiǎng)勵(lì)指的是測(cè)試集中的用戶對(duì)于算法推薦項(xiàng)目的評(píng)價(jià)。若平均獎(jiǎng)勵(lì)越大,說明用戶對(duì)于推薦項(xiàng)目越感興趣,整體滿意度越大;反之則說明用戶對(duì)于推薦項(xiàng)目越不感興趣,整體滿意度越小。此外,采用了準(zhǔn)確性(Precision@k)和歸一化折扣累積增益(NDCG@k)作為評(píng)價(jià)指標(biāo)。Precision評(píng)測(cè)推薦的準(zhǔn)確性,NDCG評(píng)測(cè)推薦列表的優(yōu)劣。算法目標(biāo)是將用戶感興趣的項(xiàng)目盡量靠前推薦。k分別取10、20和30驗(yàn)證算法效果。對(duì)于每個(gè)用戶,所有評(píng)分大于等于3.0的項(xiàng)目都被視為用戶感興趣的相關(guān)項(xiàng)目,而小于3.0評(píng)分的項(xiàng)目則被視為用戶不感興趣的項(xiàng)目。 將兩個(gè)數(shù)據(jù)集分別分為訓(xùn)練集和測(cè)試集,其中訓(xùn)練集占80%,測(cè)試集占20%。在所有實(shí)驗(yàn)中,根據(jù)訓(xùn)練經(jīng)驗(yàn)分別設(shè)置學(xué)習(xí)率η和折扣因子γ為0.02和0.9,獎(jiǎng)勵(lì)函數(shù)中的平衡參數(shù)α為0、0.1和0.2進(jìn)行實(shí)驗(yàn)。當(dāng)α=0時(shí),此時(shí)獎(jiǎng)勵(lì)函數(shù)只考慮用戶評(píng)分進(jìn)行推薦。在每個(gè)推薦序列中,一旦一個(gè)推薦項(xiàng)被推薦給用戶后,該項(xiàng)目將會(huì)從候選推薦集中刪除,避免在一個(gè)推薦序列中重復(fù)推薦。將提出的SPRR算法同基于MAB的方法HLinearUCB和基于RL的方法DQN-R對(duì)比。表2列出了平衡參數(shù)取0.2時(shí),SPRR推薦算法和對(duì)比算法在平均獎(jiǎng)勵(lì)上的對(duì)比結(jié)果。 表2 不同數(shù)據(jù)集的Reward值 由表2可知,因基于RL的方法具有動(dòng)態(tài)交互和長(zhǎng)期規(guī)劃的能力,與基于MAB的方法比較時(shí),基于RL的方法DQN-R和SPRR均獲得了較高的平均獎(jiǎng)勵(lì)。在基于RL的方法中,本文提出的SPRR取得了最高的平均獎(jiǎng)勵(lì),在MovieLens和Netflix數(shù)據(jù)集上較DQN-R分別提高了24%和28%。分析可知,SPRR取得了較高的平均獎(jiǎng)勵(lì)主要有兩個(gè)原因:(1) 融合序列模式評(píng)分的獎(jiǎng)勵(lì)給SPRR方法加入了額外的用戶偏好信息;(2) 與傳統(tǒng)的基于RL決策方法不同,本文提出的改進(jìn)的策略參數(shù)更新方法,通過設(shè)計(jì)的基準(zhǔn)可以實(shí)現(xiàn)讓策略參數(shù)沿著有利于產(chǎn)生最高獎(jiǎng)勵(lì)回報(bào)的動(dòng)作的方向移動(dòng),可以使用戶可能感興趣的動(dòng)作得到更高的獎(jiǎng)勵(lì),學(xué)習(xí)到更好的推薦策略。 表3列出了隨著平衡參數(shù)的增大即在算法中不斷增加序列模式獎(jiǎng)勵(lì)回報(bào)的比重,SPRR推薦算法在兩個(gè)數(shù)據(jù)集上的平均獎(jiǎng)勵(lì)的變化,用以驗(yàn)證評(píng)分序列模式對(duì)算法的影響。由表3可知,隨著平衡參數(shù)α的遞增,SPRR算法在兩個(gè)數(shù)據(jù)集上平均獎(jiǎng)勵(lì)均逐漸提高,在Netflix數(shù)據(jù)集上提高了近71%。表明融合序列模式評(píng)分的獎(jiǎng)勵(lì)具有提高SPRR推薦平均獎(jiǎng)勵(lì)的能力。平均獎(jiǎng)勵(lì)的提升,也說明用戶對(duì)于推薦項(xiàng)目滿意度越大。 表3 兩個(gè)數(shù)據(jù)集下不同平衡參數(shù)的Reward值 圖3和圖4是隨著平衡參數(shù)α的遞增在兩個(gè)數(shù)據(jù)集上SPRR算法準(zhǔn)確性。由圖3和圖4可知,隨著α遞增,一方面,k取10、20和30時(shí)的算法準(zhǔn)確性逐漸提高,當(dāng)k=30時(shí),算法準(zhǔn)確性最高;另一方面,在α取0.2時(shí),算法在k取10、20和30時(shí)的整體準(zhǔn)確性都達(dá)到最好的性能。 圖3 MovieLens上的Precision@k值 圖4 Netflix上的Precision@k值 圖5和圖6是隨著平衡參數(shù)α的遞增在兩個(gè)數(shù)據(jù)集上的NDCG值。由圖5和圖6可知,隨著α遞增,本文算法在Netflix數(shù)據(jù)集上NDCG有較明顯的提升,推薦列表的質(zhì)量較高。在α=0.2和k=30時(shí),算法的NDCG取得最高值,實(shí)現(xiàn)盡可能將用戶感興趣的項(xiàng)目靠前推薦,提升用戶體驗(yàn)。分析可知,首先增加評(píng)分序列模式獎(jiǎng)勵(lì)的比重給算法增加了額外的用戶評(píng)分偏好信息,使得算法的推薦準(zhǔn)確性逐漸提高;其次本文通過獎(jiǎng)勵(lì)反饋信息不斷調(diào)整推薦策略,k值越大,使用戶興趣被策略參數(shù)更好地學(xué)習(xí),算法準(zhǔn)確性越高。 圖5 MovieLens上的NDCG@k值 圖6 Netflix上的NDCG@k值 本文提出一種融合序列模式評(píng)分的策略梯度推薦算法。一方面,將推薦過程建模為馬爾可夫決策過程,設(shè)計(jì)融合序列模式評(píng)分的獎(jiǎng)勵(lì)作為交互式推薦的反饋信息,幫助推薦;另一方面,通過對(duì)累計(jì)獎(jiǎng)勵(lì)回報(bào)設(shè)計(jì)標(biāo)準(zhǔn)化操作來降低策略梯度的方差,實(shí)現(xiàn)提高累積獎(jiǎng)勵(lì)較大的推薦軌跡的出現(xiàn)概率,同時(shí)降低累積獎(jiǎng)勵(lì)較小的推薦軌跡的出現(xiàn)概率,學(xué)習(xí)更優(yōu)的推薦策略,解決推薦問題。實(shí)驗(yàn)結(jié)果表明,SPRR推薦算法不僅有效,而且提高了推薦準(zhǔn)確性。在以后的工作中,將繼續(xù)挖掘影響推薦性能的因素,得到性能更優(yōu)的推薦模型。3 實(shí)驗(yàn)與結(jié)果分析
3.1 評(píng)分序列模式驗(yàn)證
3.2 結(jié)果分析
4 結(jié) 語