亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于改進的LFM算法的短視頻推薦系統(tǒng)的研究與實現(xiàn)

        2022-07-06 15:00:36彭宇寧慧張汝波
        應(yīng)用科技 2022年3期
        關(guān)鍵詞:列表物品矩陣

        彭宇,寧慧,張汝波

        1. 哈爾濱工程大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,黑龍江 哈爾濱 150001

        2. 大連民族大學(xué) 機電工程學(xué)院,遼寧 大連 116600

        隨著移動互聯(lián)網(wǎng)終端的普及、網(wǎng)絡(luò)的提速以及流量資費的降低,人們能夠隨時通過手機觀看視頻。而由于短視頻具有時間短且內(nèi)容豐富的特性,能夠在碎片化的時間里最大限度地滿足人們觀看視頻的需求,因此結(jié)合了拍攝手法、音樂、故事、畫面的短視頻,可以更加多樣地滿足用戶的內(nèi)容消費需求。

        由于短視頻受到了廣泛的歡迎,隨之誕生了許多短視頻平臺。短視頻平臺為了吸引用戶、優(yōu)化用戶體驗,短視頻推薦算法成為平臺間競爭的重要手段。如何既保證推薦算法的精度,又確保算法的實時性一直是研究的重點。本文研究和實現(xiàn)了基于改進的潛在因子模型 (latent factor model,LFM)算法的短視頻推薦系統(tǒng)。

        對于傳統(tǒng)的 LFM算法,由于模型的訓(xùn)練時間較長,系統(tǒng)在一定的時間內(nèi)只能訓(xùn)練一次,所以在下一次進行訓(xùn)練時為用戶推薦的視頻列表不變,無法為用戶提供實時的視頻推薦,降低了用戶在系統(tǒng)的使用體驗。為了解決這個問題,本系統(tǒng)在原LFM算法上進行了改進,結(jié)合了基于物品的協(xié)同過濾算法 (item collaborative filtering, ItemCF)算法,既保證了推薦算法的精度,又確保算法的實時性。

        1 相關(guān)算法

        1.1 LFM算法

        潛在因子模型算法是矩陣分解的一種,屬于協(xié)同過濾算法,它先基于矩陣分解算法建立LFM,再依據(jù)機器學(xué)習(xí)和優(yōu)化理論處理評分矩陣,從而獲取用戶的潛在特征并預(yù)測用戶對未評分物品的評分[1-4]。

        假設(shè)存在m個用戶和n個物品,先獲取每個用戶對每個物品的評分,構(gòu)建出一個評分矩陣。而LFM是在設(shè)置特征的維度后,尋找2個低維矩陣,分別將其作為用戶和物品的特征矩陣,再通過對特征矩陣相乘得到預(yù)測的評分矩陣。在為用戶推薦時,根據(jù)用戶對每個物品的預(yù)測得分進行降序排序,選出前N個當(dāng)前用戶未評分的物品推薦給用戶[5]。

        由于LFM算法是基于矩陣分解的推薦算法,這一類的算法通常會有很高的預(yù)測精度,但是通過LFM獲得的預(yù)測評分矩陣需要不斷逼近用戶對物品的實際評分,這需要進行多次迭代來獲取更準確的結(jié)果,所以LFM算法需要花費較長的時間來獲得一個好的預(yù)測結(jié)果,無法做到實時推薦。

        1.2 ItemCF算法

        基于物品的協(xié)同過濾算法(ItemCF)是基于鄰域的算法的一種,它的核心思想就是給用戶推薦和其過去感興趣的物品相似的物品。ItemCF算法主要包括2個步驟:1) 計算所有物品之間的相似度,一般使用余弦相似度或者皮爾遜相關(guān)系數(shù)計算相似度[6];2) 根據(jù)物品的相似度和用戶的歷史行為計算用戶對物品的興趣,選擇用戶興趣度最高且無歷史行為的N個物品推薦給用戶[7]。

        由于ItemCF的2個步驟分別計算物品的相似度和用戶對物品的興趣度,無需進行迭代,所以計算過程所花費的時間較短,在實際應(yīng)用中一般能立刻得到結(jié)果,可以為用戶進行實時推薦。

        1.3 改進的LFM算法

        為了解決LFM算法無法進行實時推薦的問題,并保留LFM算法的精確度,本文結(jié)合ItemCF算法對LFM算法進行了改進。

        首先根據(jù)用戶對物品的歷史行為量化用戶對物品的評分,獲取用戶對物品的評分矩陣,使用LFM算法對該評分矩陣進行矩陣分解,迭代訓(xùn)練獲得用戶和物品的特征矩陣。之后便可以通過用戶和物品的特征矩陣預(yù)測用戶對物品的評分,從而得到用戶的推薦列表。

        將LFM算法得到的推薦列表作為基礎(chǔ),當(dāng)用戶對某物品表達出正反饋后,利用ItemCF算法中的第一步計算出物品間的相似度,選擇與該物品相似度最高且用戶無歷史行為的前幾個物品添加到用戶的推薦列表中,若該物品已存在于推薦列表中,則將其從推薦列表中刪除。

        由于用戶的歷史行為已轉(zhuǎn)化為了評分矩陣,通過LFM算法獲得了推薦列表,改進算法只借鑒了ItemCF算法的第一步,無需再根據(jù)用戶的歷史行為計算用戶對物品的興趣度,而是通過用戶對物品的實時反饋來更新用戶的推薦列表,從而實現(xiàn)對用戶的在線實時推薦。

        2 系統(tǒng)設(shè)計與實現(xiàn)

        本網(wǎng)站采用B/S架構(gòu),當(dāng)用戶在登陸后進入首頁或者推薦視頻頁面時,服務(wù)端會立即返回經(jīng)過改進的LFM算法獲取的推薦列表,并在頁面中進行顯示,用戶點擊視頻的標(biāo)題或者封面即可觀看推薦的視頻[8]。

        2.1 獲取用戶對視頻的評分矩陣

        利用LFM算法進行視頻推薦時,首先就是要獲取用戶對視頻的評分,構(gòu)建一個評分矩陣。由于在短視頻網(wǎng)站中,用戶與視頻沒有一個直接的評分關(guān)系,此處則通過一定的規(guī)則將用戶對視頻的歷史行為量化為用戶對視頻的評分。

        系統(tǒng)中設(shè)置的用戶對視頻的評分規(guī)則為:所有用戶對任意視頻的評分初始化為0,用戶播放視頻,則用戶對該視頻的評分加1;用戶點贊視頻,則用戶對該視頻的評分加2;用戶點踩視頻,則用戶對該視頻的評分減2;用戶收藏視頻,則用戶對該視頻的評分加3。網(wǎng)站根據(jù)該規(guī)則,通過用戶對視頻的播放、點贊、點踩和收藏記錄計算用戶對視頻的評分,得到每名用戶對每個視頻的評分,從而形成一個用戶對視頻的評分矩陣,將其命名為Y。

        2.2 構(gòu)建潛在因子模型

        在LFM算法中,需要構(gòu)建潛在因子模型,通過潛在因子模型中用戶和視頻的特征矩陣計算出用戶對視頻的預(yù)測評分,再通過損失函數(shù)來計算用戶對視頻的預(yù)測評分與實際評分的差別,為下一步進行模型訓(xùn)練、優(yōu)化特征矩陣做準備。

        設(shè)網(wǎng)站的總用戶數(shù)為n,總視頻數(shù)為m,本網(wǎng)站設(shè)置的用戶和視頻的隱含特征數(shù)為50,所以建立了維度為n×50的用戶特征矩陣和維度為m×50的視頻特征矩陣。用戶特征矩陣中的每行代表每名用戶的特征向量,視頻特征矩陣的每行代表每個視頻的特征向量,這2個矩陣是在模型中訓(xùn)練的參數(shù)。假設(shè)用戶的特征矩陣為θ,視頻的特征矩陣為X,則利用矩陣分解原理,計算XθT即為預(yù)測的評分矩陣。為了使預(yù)測的結(jié)果更準確,需要不斷迭代改變 θ和X矩陣的值,使預(yù)測的評分矩陣更加接近實際的評分矩陣[9-11]。此處使用平方損失函數(shù)來量化預(yù)測評分矩陣與實際評分矩陣差別,其計算為

        式中:Rij代表用戶i對視頻j是否評分,若用戶i對視頻j有評分,則其值為1,若無評分則其值為0;Xj表示視頻j的特征向量;θi表示用戶i的特征向量,而的結(jié)果就是用戶i對視頻j評分的預(yù)測值;Yij表示用戶i對視頻j的實際評分。

        為了防止訓(xùn)練時產(chǎn)生過擬合現(xiàn)象,本文在原損失函數(shù)的基礎(chǔ)上增加了L2正則化,增加了正則化的損失函數(shù)為[12]

        式中 λ為正則化系數(shù),默認設(shè)置為1。

        2.3 模型訓(xùn)練

        在通過上一步建立模型之后,此時用戶和視頻的特征向量還不準確,用戶對視頻的預(yù)測評分與實際評分偏差較大,需要利用損失函數(shù)對模型進行訓(xùn)練,使模型中用戶和視頻的特征向量取得最優(yōu)值。

        本文采用梯度下降法進行迭代,結(jié)合正則化的損失函數(shù),不斷迭代用戶特征矩陣θ和視頻特征矩陣X,減小預(yù)測分數(shù)與實際分數(shù)的平方差,直到2次迭代的損失函數(shù)的差值小于10-8才停止。此時認為LFM模型已訓(xùn)練完成,用戶特征矩陣和視頻特征矩陣已盡可能的取得了最優(yōu)值。用戶特征矩陣θ使用梯度下降法進行迭代的公式如下。

        式中:α為學(xué)習(xí)率,[]中為正則化損失函數(shù)中對于用戶i特征向量的導(dǎo)數(shù)。

        視頻特征矩陣X使用梯度下降法進行迭代為

        式中[]中為正則化損失函數(shù)中對于視頻j特征向量的導(dǎo)數(shù)。

        訓(xùn)練過程中正則化損失函數(shù)的變化如圖1所示。

        圖1 訓(xùn)練中損失函數(shù)的變化

        在LFM算法訓(xùn)練完后,認為用戶對視頻的預(yù)測得分與實際得分接近。若有用戶首次請求獲取推薦視頻,則利用模型訓(xùn)練出的特征矩陣,計算視頻特征矩陣X與用戶特征矩陣θ的內(nèi)積,即XθT,得到評分的預(yù)測矩陣,隨后根據(jù)該用戶在矩陣中的索引,找到該用戶對所有視頻的預(yù)測評分。除去用戶已經(jīng)評分的視頻外,將這些視頻按照預(yù)測評分從高到底進行排序。本文選擇預(yù)測評分最高的前600個視頻作為該用戶的基礎(chǔ)推薦列表,并在網(wǎng)站中推薦給用戶。

        2.4 更新推薦列表

        當(dāng)用戶在網(wǎng)站中觀看視頻,對某視頻表現(xiàn)出正反饋時,利用改進的LFM算法更新用戶的推薦列表,其中用戶對視頻的正反饋行為包括用戶對視頻的點贊和收藏。

        在更新推薦列表時,首先要計算視頻之間的相似度,一般使用余弦相似度或者皮爾遜相關(guān)系數(shù)計算相似度,本文則選擇余弦相似度進行相似度計算,余弦相似度的計算為

        式中:N(u)代表用戶u表現(xiàn)出正反饋的視頻,N(v)代表用戶v表現(xiàn)出正反饋的視頻。根據(jù)網(wǎng)站中設(shè)置的用戶對視頻的評分規(guī)則,在數(shù)據(jù)獲取階段得到的評分矩陣Y中分數(shù)大于1的元素代表用戶對視頻表現(xiàn)出正反饋,通過這些記錄就可以計算視頻間的相似度,并生成相應(yīng)的相似度矩陣。

        余弦相似度生成視頻相似度矩陣的代碼如下。

        在得到了視頻的相似度矩陣之后,可以得到當(dāng)前用戶表達正反饋的視頻與其他視頻的相似度組成的數(shù)組。之后便可以將該數(shù)組根據(jù)相似度降序排序,找到與該視頻相似度最高且當(dāng)前用戶未表現(xiàn)過正反饋的前幾個視頻。本文選擇前5個視頻,并將這些視頻插入到用戶的推薦列表中,從而實現(xiàn)用戶推薦列表的更新。若該視頻已存在于推薦列表中,則將其從推薦列表中刪除,避免推薦列表過于冗余。

        2.5 系統(tǒng)實現(xiàn)

        本系統(tǒng)采用Python語言開發(fā),使用Django框架進行后端功能的實現(xiàn),運用Jquery進行網(wǎng)站的前后端交互。系統(tǒng)的主要數(shù)據(jù)都保存在Mysql數(shù)據(jù)庫中,用戶的推薦視頻列表則作為緩存保存在Redis數(shù)據(jù)庫中。

        用戶在登錄系統(tǒng)后,可以在系統(tǒng)上發(fā)布視頻。發(fā)布視頻時需要輸入視頻標(biāo)題、視頻簡介等信息,還要上傳視頻封面和視頻文件。用戶上傳完視頻后不會立刻被用戶看到,還需要經(jīng)過管理員用戶的審核,只有審核通過的視頻才可以在系統(tǒng)中被搜索或者查看到。用戶發(fā)布視頻的界面如圖2所示,管理員審核視頻的界面如圖3所示。

        圖2 發(fā)布視頻頁面

        圖3 審核視頻頁面

        用戶登陸后,進入主頁或者推薦頁面,都能查看到針對當(dāng)前用戶的推薦視頻。這些推薦視頻都是根據(jù)用戶的歷史行為和最近的正反饋行為計算出的推薦視頻。用戶在頁面中點擊視頻標(biāo)題或者視頻封面就可以進入視頻播放界面播放視頻,用戶的視頻推薦頁面如圖4所示。

        圖4 視頻推薦頁面

        3 實驗結(jié)果與分析

        3.1 數(shù)據(jù)集

        本文的模型是利用用戶對視頻已有的評分進行視頻評分的預(yù)測,因此為了評估算法的性能,本文選取了具有用戶對電影評分的數(shù)據(jù)集Movielens-100k。

        Movielens-100k數(shù)據(jù)集是推薦領(lǐng)域最受歡迎的數(shù)據(jù)集之一,主要是用于電影推薦領(lǐng)域,其包含用戶對電影的評分、用戶的屬性信息和項目的屬性信息。數(shù)據(jù)集最初是由Grouplens構(gòu)建的。Movielens-100k包含了943個用戶、1 682部電影以及943個用戶對1 682部電影的100 000個評分記錄。本文算法所用到的數(shù)據(jù)為用戶對電影的評分。

        3.2 評價指標(biāo)

        本文提出的LFM改進算法目的在于提高推薦系統(tǒng)推薦的實時性,解決傳統(tǒng)LFM算法無法進行實時推薦的問題。因此本文將算法運行的時間作為評價指標(biāo),可以更好地反映本文提出算法在實時推薦上的有效性。對于該評價指標(biāo),值越小越好。

        3.3 具體實驗

        為了模擬實時推薦的場景,本文先使用LFM算法將原始數(shù)據(jù)集進行訓(xùn)練,得到的模型先進行保存;然后在數(shù)據(jù)集中為指定用戶增加一條對指定電影的評分數(shù)據(jù),模擬該用戶對電影進行了反饋。

        修改了原數(shù)據(jù)集后,分別使用LFM算法和ItemCF算法獲取預(yù)測結(jié)果,并計算2種方法所用時間。使用LFM算法時,需要加載之前保存的LFM模型,對修改后的數(shù)據(jù)再進行訓(xùn)練后,使用最終得到的訓(xùn)練模型得到推薦電影集合,并計算花費時間;使用ItemCF算法時,先計算相似度矩陣,然后直接針對新增加的電影獲取推薦集合,并計算花費時間。

        3.4 實驗結(jié)果

        本文將所提出的改進的LFM算法和傳統(tǒng)LFM算法在Movielens-100k數(shù)據(jù)集上進行了比較,結(jié)果見表1。

        表1 處理反饋分別花費的時間

        從表1的結(jié)果可以看出,本文提出的改進的LFM算法在用戶給出反饋后,計算推薦集合所花費的時間更少。因此在實時推薦方面,本文提出的改進算法能取得更好的效果。

        4 結(jié)論

        本文實現(xiàn)了基于改進的LFM算法的短視頻推薦系統(tǒng),有效地解決了LFM算法不能為用戶進行實時在線推薦的缺點。本文將ItemCF算法與LFM算法相結(jié)合,在LFM算法獲得的推薦列表的基礎(chǔ)上,隨著用戶在系統(tǒng)上對視頻的正反饋而更新推薦列表,既保留了LFM算法的高精確度,又實現(xiàn)了短視頻的在線實時推薦,極大提高了用戶使用本系統(tǒng)的興趣和體驗。

        猜你喜歡
        列表物品矩陣
        巧用列表來推理
        稱物品
        學(xué)習(xí)運用列表法
        “雙十一”,你搶到了想要的物品嗎?
        擴列吧
        誰動了凡·高的物品
        初等行變換與初等列變換并用求逆矩陣
        矩陣
        南都周刊(2015年4期)2015-09-10 07:22:44
        矩陣
        南都周刊(2015年3期)2015-09-10 07:22:44
        矩陣
        南都周刊(2015年1期)2015-09-10 07:22:44
        国产精品一区二区久久蜜桃| 日本添下边视频全过程| 日韩人妻系列在线观看| 国产激情一区二区三区在线| 亚洲av久播在线一区二区| 午夜精品久久久久久久久| 99久久免费只有精品国产| 亚洲精品久久久久久久久久吃药| 天堂国精产品2023年| 亚洲av无码不卡| 富婆如狼似虎找黑人老外| 日本免费一区尤物| 久久九九国产精品怡红院| 国产手机在线αⅴ片无码观看| 亚洲成a人片在线| 精品亚洲欧美高清不卡高清| 久久久久亚洲AV片无码乐播| 色偷偷亚洲av男人的天堂| 亚洲av毛片在线播放| 国产美腿丝袜一区二区| 色男色女午夜福利影院| 免费黄片小视频在线播放| 欧美国产激情二区三区| 亚洲精品久久久久久久久久吃药| 国产精品jizz观看| 成年人男女啪啪网站视频| 国产精品高湖呻呤久久av| 国产性感丝袜在线观看| 十八禁视频网站在线观看| 久久久久久国产精品mv| 精品无码专区久久久水蜜桃| а的天堂网最新版在线| 中文天堂一区二区三区| 成人大片在线观看视频| 中国美女a级毛片| 久久九九国产精品怡红院| 综合激情网站| 在线播放中文字幕一区二区三区| 大尺度极品粉嫩嫩模免费| 免费不卡在线观看av| 国产日韩精品中文字无码|