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

        ?

        SVD推薦算法在傳統(tǒng)服飾商城的應(yīng)用

        2020-04-15 02:59:26鐘志攀袁仕芳梁榮鋒朱翡虹
        關(guān)鍵詞:矩陣誤差預(yù)測

        鐘志攀,袁仕芳,梁榮鋒,朱翡虹

        (五邑大學(xué) 數(shù)學(xué)與計(jì)算科學(xué)學(xué)院,廣東 江門 529020)

        0 引 言

        隨著互聯(lián)網(wǎng)的普及和信息技術(shù)的發(fā)展,人們?nèi)粘I羁梢越佑|到的信息越來越豐富,產(chǎn)生信息數(shù)據(jù)的速度也越來越快。但是“信息過載”問題也越來越嚴(yán)重。想要從這海量的信息中獲取目的信息需要耗費(fèi)大量的時(shí)間和精力。

        人們解決“信息過載”問題的方法主要有建立搜索引擎、建立推薦系統(tǒng)(recommended system)[1-3]。推薦系統(tǒng)是比搜索引擎處理問題更為人性化的工具,它可以根據(jù)用戶的個(gè)人愛好、歷史瀏覽記錄等為用戶推薦所感興趣的內(nèi)容[4-6]。建立一個(gè)好的推薦系統(tǒng)可以節(jié)省用戶查找感興趣內(nèi)容的時(shí)間,增強(qiáng)用戶體驗(yàn),還可以提高商品銷售量。推薦系統(tǒng)在很多行業(yè)都有應(yīng)用,例如新聞行業(yè)中的《今日頭條》,個(gè)性音樂軟件“網(wǎng)易云音樂”,尤其是電商行業(yè),最著名的例子就有亞馬遜的“尿不濕和啤酒”[7]。推薦系統(tǒng)在工業(yè)上最經(jīng)典的應(yīng)用莫過于協(xié)同過濾算法(CF)[8-9],該算法通過找到與用戶有相同品味的用戶,然后將相似用戶過去喜歡的物品推薦給用戶。

        文中首先介紹了奇異值分解(SVD)和SVD推薦算法之間的聯(lián)系,以及SVD推薦算法原理,在此基礎(chǔ)上,建立了一個(gè)傳統(tǒng)服飾商城的推薦系統(tǒng)。然后利用傳統(tǒng)服飾商城的用戶樣本數(shù)據(jù)測試該推薦系統(tǒng)的性能。

        1 算法原理

        協(xié)同過濾算法是推薦系統(tǒng)中的經(jīng)典算法。協(xié)同過濾算法主要分為兩類,一類是基于鄰域(neighborhood methods)的協(xié)同過濾算法,另一類是隱語義模型(latent factor models)的協(xié)同過濾算法[10],后者是利用矩陣分解(matrix factorization)算法實(shí)現(xiàn)的。

        為了評價(jià)推薦算法的性能,一般使用平方絕對值誤差(MAE)和均方根誤差(RMSE)測試推薦系統(tǒng)的準(zhǔn)確性,公式如下:

        (1)

        (2)

        其中,Rtest表示測試數(shù)據(jù)集,ui表示用戶i,cj表示商品j,r(ui,cj)表示用戶ui對商品cj的評分。

        1.1 奇異值分解

        SVD算法是在奇異值分解(singular value decomposition)[11]的基礎(chǔ)上建立起來的矩陣分解算法。對于矩陣A∈Rn×m,它的奇異值分解為:

        (3)

        其中,Σr=diag(λ1,λ2,…,λr),r=rank(A),U∈Rn×n和V∈Rm×m是正交矩陣。U的列向量稱為左奇異值向量;Σr對角線上的值是A非零奇異值;VT是V的轉(zhuǎn)置,V的列向量稱為右奇異向量。

        通常定義奇異值為σi,在矩陣Σ中沿對角線從大到小排列為:

        σ1≥σ2≥…≥σr,r≤min{n,m}

        σi的下降速度很快,大多數(shù)情況下,前10%甚至1%的奇異值的和就可占所有奇異值之和的99%以上,所以這里r往往遠(yuǎn)小于n和m。根據(jù)奇異值的這個(gè)性質(zhì),可以用一部分奇異值近似地描述矩陣所包含的信息,即有:

        (4)

        其中k≤r。

        1.2 SVD算法

        傳統(tǒng)的推薦系統(tǒng)一般會通過用戶對商品進(jìn)行評價(jià),得出評分矩陣R(rating matrix),再通過評分矩陣進(jìn)行分類、預(yù)測用戶喜好,從而進(jìn)行商品推薦。當(dāng)用戶數(shù)量比較大,商品種類和數(shù)量比較多時(shí),很難做到讓所有的客戶對所有的商品進(jìn)行評分,此時(shí)評分矩陣R就會出現(xiàn)很多的缺失值。

        這些缺失的評分可以看作是用戶ui對于商品cj的未知的潛在評分。SVD算法的思路就是在評分矩陣R缺失的情況下,對矩陣進(jìn)行分解,從而得到用戶因子矩陣U(users features matrix)和商品因子矩陣C(item features matrix),最后通過矩陣U和C來預(yù)測用戶對商品的潛在評分。

        由式(6)推廣到分解評分矩陣R,有以下等式:

        Un×r=Un×nΣr×r

        (5)

        (6)

        用隱語義模型來進(jìn)行協(xié)同過濾的目標(biāo)是揭示隱藏的特征,這些隱藏的特征能夠解釋觀測到的評分。SVD是為了識別隱語義因子而發(fā)展起來的,然而由于大部分評分值缺失,把SVD應(yīng)用到CF領(lǐng)域的顯式評分變得相對困難。例如表1。

        表1 評分矩陣R

        實(shí)際情況中往往只能獲得形如表1所示的評分矩陣,所有用戶無法對所有商品進(jìn)行評價(jià),造成評分矩陣存在缺失值。當(dāng)r(i,j)=0,表示用戶i對商品j的評分缺失,如表1所示。存在缺失的現(xiàn)實(shí)意義就是用戶尚未購買或者與某商品有一些交互動(dòng)作,因此,通過預(yù)測缺失的評分,在用戶尚未評價(jià)的商品中,通過用戶原有的評分記錄和其他用戶的相似性這一先驗(yàn)知識,對用戶沒有評分的商品進(jìn)行評分預(yù)測。

        SVD算法在奇異值分解的基礎(chǔ)上,將存在缺失值的評分矩陣R分解成形如表2和表3的用戶因子矩陣U和商品因子矩陣C。

        表2 用戶因子矩陣U

        表3 商品因子矩陣C

        可以不用知道這兩個(gè)矩陣中的因子(factors)具體是什么,第一個(gè)因子可以是商品的價(jià)格,也可以是商品的外觀的美觀程度。關(guān)于“因子”,可以把它認(rèn)為是商品的子屬性。對同一個(gè)因子進(jìn)行評分,在用戶因子矩陣中表示用戶偏愛于這種商品的屬性的程度,而在商品因子矩陣中則表示此屬性在該商品反映的程度。

        對于要推薦的商品,如衣服,價(jià)格是衣服的屬性之一,假設(shè)這件衣服的價(jià)格很低廉,那么相對應(yīng)評分就會高些,此時(shí)用戶在購買衣服時(shí)十分注重衣服的價(jià)格,那么對于衣服的價(jià)格的偏愛程度就會高一點(diǎn)。

        通過矩陣分解(可以是任何合理的矩陣分解算法),得到了上面的用戶因子矩陣U和商品因子矩陣C,通過分解出來的因子評分可以預(yù)測出用戶對新商品的評分,在這些新商品的評分中選取前n(Top-N)個(gè)預(yù)測評分最高的物品,構(gòu)造出推薦列表進(jìn)行推薦。

        預(yù)測用戶ui對商品cj的評分,利用用戶因子矩陣U和商品因子矩陣C計(jì)算可得預(yù)測評分:

        (7)

        利用式(7)可以得到表4。

        表4 評分矩陣

        1.3 SVD算法的“學(xué)習(xí)”預(yù)測

        通過上述內(nèi)容,SVD算法實(shí)現(xiàn)推薦的主要思路是:通過矩陣分解技術(shù)將評分矩陣R分解成用戶因子矩陣U和商品因子矩陣C,再通過這兩個(gè)矩陣的合成從而預(yù)測用戶對商品的評分。但是矩陣U和C并不是直接通過矩陣分解得出,而是通過學(xué)習(xí)的方法得到。

        預(yù)測用戶ui對商品cj的評分可以表示為:

        (8)

        (9)

        其中I∈{0,1}n×m,作為一個(gè)指示器,指示相應(yīng)位置是否有評分,有評分為“1”,沒有評分為“0”,最后兩項(xiàng)是正則化項(xiàng);ku和kc是常數(shù),防止過擬合[12]。

        考慮由于個(gè)體差異可能導(dǎo)致評分過低或過高,使用baseline predictors基準(zhǔn)預(yù)測。將平均評分設(shè)為μ,設(shè)用戶做出的評分相對于平均評分的偏差為bui,設(shè)商品cj相對于平均分的偏差為bcj,得到:

        (10)

        結(jié)合式(8)和式(10),有:

        (11)

        于是損失函數(shù)可以重新表述為:

        (12)

        對式(13)求導(dǎo)到求解函數(shù):

        (14)

        其中,γ為學(xué)習(xí)率。

        利用評分矩陣中已知的評分求解上述函數(shù)(14),訓(xùn)練得到損失函數(shù)值最優(yōu)時(shí)的參數(shù),從而確定損失函數(shù),完成對模型的訓(xùn)練。通過損失函數(shù)可以預(yù)測用戶對商品的評分,完成推薦任務(wù)。

        2 算法實(shí)現(xiàn)

        實(shí)驗(yàn)是在Intel-Core i7雙核處理器,CPU1 2.60 GHz,CPU2 2.0 GHz,內(nèi)存4 G的計(jì)算機(jī)上進(jìn)行,采用Window8.1操作系統(tǒng),編程語言是Python 3.6。

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

        實(shí)驗(yàn)數(shù)據(jù)來自傳統(tǒng)漢服網(wǎng)站“衣緣巷”的用戶統(tǒng)計(jì)數(shù)據(jù)。隨機(jī)選取了158名用戶對20件服裝進(jìn)行評分,評分范圍是1~7。

        2.2 算法實(shí)現(xiàn)與結(jié)果分析

        算法流程如圖1所示。

        圖1 算法流程

        將獲取到的數(shù)據(jù)進(jìn)行數(shù)據(jù)清理,剔除user_id、item_id數(shù)據(jù)內(nèi)容缺失的數(shù)據(jù)項(xiàng)。再將數(shù)據(jù)集重新整合成(user_id,item_id,rating)三元組結(jié)構(gòu)。使用交叉驗(yàn)證[14]來驗(yàn)證數(shù)據(jù),將數(shù)據(jù)隨機(jī)分成三份進(jìn)行三組測試,第一組實(shí)驗(yàn)選定其中兩份數(shù)據(jù)作為訓(xùn)練數(shù)據(jù),剩下的一份作為測試數(shù)據(jù);其他兩組數(shù)據(jù)也是執(zhí)行同樣的操作。

        初始化式(13)的學(xué)習(xí)率γ為0.002,因子factors的維數(shù)初始化為100,表示將要分解的評分矩陣的因子最多有100個(gè)。模型測試指標(biāo)見表5。

        表5 模型測試指標(biāo)

        圖2反映了實(shí)際評分和預(yù)測評分之間的絕對誤差主要集中在“1”分左右,意味著該模型預(yù)測用戶的評分出現(xiàn)的誤差大部分不超過“1”。

        通過計(jì)算客戶對商品的實(shí)際評分和模型的預(yù)測評分之間的絕對誤差占總分“7”的百分比,觀察模型的總體預(yù)測性能,如圖3所示??梢园l(fā)現(xiàn)誤差百分比超過50%的誤差基本沒有,誤差百分比大部分集中在30%,其中誤差百分比為10%的誤差的樣本數(shù)量居多。

        圖2 絕對評分誤差散點(diǎn)分布

        圖3 模型預(yù)測誤差分布

        3 結(jié)束語

        總體來說,該模型相對于現(xiàn)行的其他推薦算法是可靠的。SVD算法的優(yōu)勢在于可以較為準(zhǔn)確地預(yù)測用戶評分,實(shí)現(xiàn)精準(zhǔn)推薦。但在用戶和商品基數(shù)特別

        大的情況下,SVD算法會因矩陣分解的時(shí)間效率低而優(yōu)勢不在,表明該算法非常適合用戶數(shù)量不夠巨大,商品種類不太繁多的小型在線商城。

        猜你喜歡
        矩陣誤差預(yù)測
        無可預(yù)測
        黃河之聲(2022年10期)2022-09-27 13:59:46
        選修2-2期中考試預(yù)測卷(A卷)
        選修2-2期中考試預(yù)測卷(B卷)
        角接觸球軸承接觸角誤差控制
        哈爾濱軸承(2020年2期)2020-11-06 09:22:26
        Beidou, le système de navigation par satellite compatible et interopérable
        壓力容器制造誤差探究
        不必預(yù)測未來,只需把握現(xiàn)在
        初等行變換與初等列變換并用求逆矩陣
        九十億分之一的“生死”誤差
        山東青年(2016年2期)2016-02-28 14:25:41
        矩陣
        南都周刊(2015年4期)2015-09-10 07:22:44
        国产精品成人久久电影| 亚洲一二三四五中文字幕| 亚洲一区二区国产激情| 天天狠天天添日日拍| 四虎影视在线观看2413| AV中文字幕在线视| 国产亚洲综合另类色专区| 国产精品无码dvd在线观看| 亚洲av无码专区国产乱码不卡| 亚洲综合网站精品一区二区| 国产一区二区三区中出| 色狠狠色狠狠综合天天| 日韩好片一区二区在线看| 欧美激情精品久久999| 少妇被啪出水在线视频| 国产精品av在线| 色拍拍在线精品视频| 久久精品国产亚洲av热明星| 国产免费在线观看不卡| 97无码免费人妻超级碰碰夜夜| 免费a级毛片在线观看| 青青草免费在线视频导航| 国产精品一区二区三久久不卡| 亚洲av成人无码网站…| 亚洲区偷拍自拍29p| 久久精品国产自产对白一区| 大学生粉嫩无套流白浆| 欧美国产日产一区二区| 国产av一区网址大全| 亚洲中文字幕舔尻av网站| 国语自产偷拍精品视频偷| av无码天堂一区二区三区| 伊人精品成人久久综合97| 狼狼综合久久久久综合网| 亚洲AV日韩AV永久无码电影| 国产免费人成网站在线播放 | 午夜亚洲www湿好爽| 色婷婷久久免费网站| 国产成人大片在线播放| 精品国产一区二区三区免费| 韩国女主播一区二区在线观看|