国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

PCA算法在酒店推薦系統(tǒng)中的應(yīng)用研究

2019-01-06 02:19:22劉淑英鄒燕飛唐云凱李依橋趙子慧
中國(guó)科技縱橫 2019年22期
關(guān)鍵詞:機(jī)器學(xué)習(xí)降維

劉淑英 鄒燕飛 唐云凱 李依橋 趙子慧

摘 要:目前我們使用的酒店推薦系統(tǒng)中,會(huì)出現(xiàn)用戶評(píng)分?jǐn)?shù)據(jù)極端稀疏,矩陣的稀疏性導(dǎo)致推薦算法在相似性計(jì)算時(shí)存在較大誤差,進(jìn)而導(dǎo)致最近鄰居選擇的不準(zhǔn)確,從而影響推薦質(zhì)量。針對(duì)此問(wèn)題,我們通過(guò)對(duì)評(píng)分矩陣采用PCA降維的方法,降低評(píng)分矩陣的稀疏性,保留了最能代表用戶興趣的維數(shù),使得相似性計(jì)算更加準(zhǔn)確,保證了最近鄰居選擇的準(zhǔn)確性,從而提高了推薦質(zhì)量。

關(guān)鍵詞:機(jī)器學(xué)習(xí);PCA算法;酒店推薦系統(tǒng);降維

中圖分類號(hào):TP391.9 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1671-2064(2019)22-0051-02

0 引言

在信息技術(shù)和互聯(lián)網(wǎng)蓬勃發(fā)展的今天,大量的數(shù)據(jù)使人們從信息貧乏的時(shí)代走到了信息過(guò)載的時(shí)代,面對(duì)大量的信息,人們獲取到對(duì)自己有用的信息是非常慢[1]。因此,我們需要將信息進(jìn)行過(guò)濾,找到有用的信息,從而使對(duì)數(shù)據(jù)的研究更加簡(jiǎn)單方便,這樣過(guò)濾信息的能力就變成了評(píng)價(jià)一個(gè)系統(tǒng)的重要的條件[2]。PCA算法能夠?qū)崿F(xiàn)數(shù)據(jù)有效降維,并且可以利用特征值對(duì)原始指標(biāo)進(jìn)行分類,實(shí)現(xiàn)特征的準(zhǔn)確提取。

1 PCA算法

PCA算法即主成分分析法(principal component analysis),用于數(shù)據(jù)降維,是以“信息”損失較小的為前提,將高維的數(shù)據(jù)轉(zhuǎn)換到低維,這樣就可以減小計(jì)算量[3]。它可以把一個(gè)確定事物的特征提取出來(lái),舍掉沒(méi)有特點(diǎn)的特征值,提取事物的本質(zhì)因素,使復(fù)雜的問(wèn)題簡(jiǎn)單化。

PCA算法的主旨思想就是通過(guò)對(duì)大量數(shù)據(jù)進(jìn)行一系列的計(jì)算后,將高維度的數(shù)據(jù)降為低維度數(shù)據(jù),應(yīng)用于無(wú)監(jiān)督學(xué)習(xí)。得到的低維將加快模型訓(xùn)練的速度,低維特征具有更好的可視化特性。此外,數(shù)據(jù)降維將導(dǎo)致某些信息丟失。通常我們可以設(shè)置一個(gè)丟失閾值來(lái)控制信息丟失[4-5]。PCA算法的計(jì)算過(guò)程如下:

設(shè)原始樣本集為X,其有m個(gè)樣本,每個(gè)樣本有n個(gè)特征維度,可以用式(1)表示為:

(1)

接下來(lái),我們對(duì)每個(gè)特征去均值化(即均值零化),計(jì)算公式為:

(2)

然后,我們通過(guò)計(jì)算協(xié)方差矩陣,計(jì)算公式為:

(3)

將特征向量按特征值的大小排序,組成矩陣u=[u1 u2 … un],則特征向量u1為主特征向量(對(duì)應(yīng)的特征值最大),u2為次特征向量,以此類推。對(duì)于特征值越大的特征向量,樣本集在該方向上的變化越大。對(duì)于由特征向量組成的矩陣我們稱為特征矩陣,特征矩陣是一個(gè)正交矩陣,即滿足uTu=uuT=I。

PCA算法非常巧妙地利用協(xié)方差矩陣來(lái)計(jì)算出樣本集在不同方向上的分散程度,利用方差最大的方向作為樣本集的主方向。PCA算法為我們提供了一種處理大量數(shù)據(jù)便捷快速的方法,在這個(gè)信息過(guò)量,發(fā)展速度迅速的時(shí)代,可以為我們提高工作學(xué)習(xí)以及生活的效率。

當(dāng)樣本數(shù)據(jù)量大,維度高時(shí),PCA算法是非常有效的一種降維方法,它能起到的作用有兩個(gè):一個(gè)是節(jié)約存儲(chǔ)空間,當(dāng)數(shù)據(jù)量過(guò)多時(shí),通過(guò)減少減少幾個(gè)維度就可以節(jié)約很多空間;另一個(gè)是提供計(jì)算的速度,將數(shù)據(jù)降維后,無(wú)論是樣本數(shù)據(jù)訓(xùn)練時(shí),還有對(duì)新數(shù)據(jù)做出響應(yīng)時(shí),速度都會(huì)大幅提高。

2 模型實(shí)現(xiàn)

PCA算法的主要過(guò)程是首先構(gòu)建一個(gè)示例矩陣通過(guò)使用樣本集和特性,然后利用樣本集,計(jì)算協(xié)方差矩陣,然后根據(jù)協(xié)方差矩陣的特征值和特征向量,并保留最大的前k個(gè)特征值的特征向量作為新維方向。將原始樣本集轉(zhuǎn)換為新的空間維度。

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

本文用到的樣本數(shù)據(jù)集為兩類,第一類樣本數(shù)據(jù)為行為100000,列為5。100000表示的是用戶的數(shù)量,5表示有5種類型的酒店。即100000用戶對(duì)酒店在5個(gè)維度的側(cè)重點(diǎn)的評(píng)分,這5個(gè)維度分別為用戶酒店的瀏覽量,訪客數(shù),下單數(shù),成交數(shù),成交金額。第二類樣本數(shù)據(jù)集為行為5,列為100。5表示樣本,100表示的是特征點(diǎn),5個(gè)維度同樣代表的是瀏覽量,訪客數(shù),下單數(shù),成交數(shù),成交金額等。即第二類樣本數(shù)據(jù)集為100個(gè)酒店在5個(gè)維度的評(píng)分。

使用矩陣運(yùn)算,將兩類樣本數(shù)據(jù)集相乘,生成顧客對(duì)酒店的評(píng)分,其具體實(shí)現(xiàn)代碼為:

hotelRating=pd.DataFrame(generators.dot(hotelcomp),index=[‘c%.6d%i for i in range(customerNum)],columns=[‘hotel_%.3d%j for j in range(100)]).astype(int)

print(hotelRating)

2.2 數(shù)據(jù)的預(yù)處理

計(jì)算樣本集的平均值,再用樣本集減去平均值并且除以其標(biāo)準(zhǔn)差,最后將數(shù)據(jù)進(jìn)行歸一化處理。其實(shí)現(xiàn)代碼為:

def normalize(s):

if s.std()>1e-6:

return(s-s.mean())*s.std()**(-1)

else:

return (s-s.mean())

hotelRating_norm=hotelRating.apply(normalize)

2.3 模型訓(xùn)練

PCA算法的計(jì)算過(guò)程為:

(1)數(shù)據(jù)中心化,去均值。

(2)求解協(xié)方差矩陣。

(3)利用特征值分解/奇異值分解,求解特征值以及特征向量。

(4)利用特征向量構(gòu)造投影矩陣。

首先,計(jì)算協(xié)方差矩陣,然后進(jìn)行奇異值分解,PCA算法就是對(duì)協(xié)方差矩陣做特征值分解,我們使用奇異值分解來(lái)分解矩陣。其具體實(shí)現(xiàn)代碼為:

u,s,v=np.linalg.svd(hotelRating_norm_corr)

print(‘u\n{}.format(u))

在實(shí)現(xiàn)的過(guò)程中,我們使用奇異值分解矩陣,使用SVD分解特征值,降低問(wèn)題復(fù)雜性,奇異值分解,就是將一個(gè)矩陣通過(guò)運(yùn)算分解為三個(gè)矩陣。即A=U*S*V,其中U和V均是正交矩陣,S為對(duì)角矩陣。相對(duì)于PCA特征值分解,奇異值分解可處理的不只是協(xié)方差矩陣(方陣),還可以直接處理數(shù)據(jù)。

然后通過(guò)對(duì)數(shù)據(jù)的描繪,最后得到特征值碎石圖,如圖1所示。

根據(jù)碎石圖1可知,X軸為成分?jǐn)?shù),Y軸為特征值,在第五個(gè)之后變得平緩,可得知我們可提取五個(gè)主成分,實(shí)現(xiàn)了PCA數(shù)據(jù)降維。

最后我們進(jìn)行獲取分類評(píng)分。根據(jù)分析協(xié)方差矩陣中100個(gè)樣本和100個(gè)特征點(diǎn)的相似度,找出與每個(gè)特征點(diǎn)相似的樣本,得到特征值。選出明顯大的前k個(gè)特征值,舍去小的特征值。我們可以通過(guò)樣本集特征提取最高的5個(gè)主成分。截取SVD維度來(lái)確定酒店相似度,具體實(shí)現(xiàn)代碼為:

u_short=u[:,:5] ?v_short=v[:5,:] ?s_short=s[:5]

print(‘u,s,v,short{}.format(u_short,v_short,s_short))

該程序最終會(huì)得到一個(gè)行為100,列為5的矩陣,即100個(gè)酒店在前5個(gè)主特征值得評(píng)分。然后我們計(jì)算出指定酒店在各分類評(píng)分。首先獲取樣本集中的最高成分,與檢索出的30號(hào)酒店的用戶評(píng)分相乘。其具體實(shí)現(xiàn)代碼為:

top_component=hotelRating_norm.dot(u_short).dot(np.diag(np.power(s_short,-0.5)))

hotel_ind = 30

rating=hotelRating_norm.loc[:,‘hotel_%.3d% hotel_ind]

print ("classification of the dth hotel"hotel_ind,

top_component.T.dot(rating)/customerNum)

該程序的運(yùn)行結(jié)果如圖2所示。

根據(jù)圖2可以看出30號(hào)酒店與第1個(gè)分類評(píng)分最高,第3個(gè)分類的評(píng)分最低。用戶可以根據(jù)自身需求選擇是否入住30號(hào)酒店。

3 結(jié)語(yǔ)

通過(guò)用PCA算法實(shí)現(xiàn)簡(jiǎn)單的酒店推薦系統(tǒng),在實(shí)際研究中,PCA算法是不能完全的到樣本集的分類的,還要結(jié)合SVD奇異值分解獲得樣本集的特征值。PCA算法非常巧妙地利用協(xié)方差矩陣來(lái)計(jì)算出樣本集在不同方向上的分散程度,利用方差最大的方向作為樣本集的主方向。通過(guò)對(duì)該P(yáng)CA算法在酒店推薦系統(tǒng)中的應(yīng)用研究,實(shí)驗(yàn)結(jié)果表明:該酒店推薦算法具有較高的準(zhǔn)確度和覆蓋度。

參考文獻(xiàn)

[1] Justiawan.Riyanto Sigit,Zainal Arief.Tooth Color Detection Using PCA and KNN Classifier Algorithm Based on Color Moment[J].Emitter:International Journal of Engineering Technology,2017,5(1):316-325.

[2] Yan Wang.An Advanced AOI-Cast Algorithm Based on PCA[J].Advanced Materials Research,2014,3227(945):1-2.

[3] 易旺.酒店搜索推薦的設(shè)計(jì)與分析[D].武漢:華中科技大學(xué),2013.

[4] 劉艷.基于協(xié)同過(guò)濾的酒店推薦系統(tǒng)研究與實(shí)現(xiàn)[D].成都:電子科技大學(xué),2011.

[5] 謝佩,吳小俊.分塊多線性主成分分析及其在人臉識(shí)別中的應(yīng)用研究[J].計(jì)算機(jī)科學(xué),2015,42(03):274-279.

猜你喜歡
機(jī)器學(xué)習(xí)降維
Three-Body’s epic scale and fiercely guarded fanbase present challenges to adaptations
混動(dòng)成為降維打擊的實(shí)力 東風(fēng)風(fēng)神皓極
車主之友(2022年4期)2022-08-27 00:57:12
降維打擊
海峽姐妹(2019年12期)2020-01-14 03:24:40
基于詞典與機(jī)器學(xué)習(xí)的中文微博情感分析
基于機(jī)器學(xué)習(xí)的圖像特征提取技術(shù)在圖像版權(quán)保護(hù)中的應(yīng)用
基于網(wǎng)絡(luò)搜索數(shù)據(jù)的平遙旅游客流量預(yù)測(cè)分析
前綴字母為特征在維吾爾語(yǔ)文本情感分類中的研究
基于支持向量機(jī)的金融數(shù)據(jù)分析研究
機(jī)器學(xué)習(xí)理論在高中自主學(xué)習(xí)中的應(yīng)用
一種改進(jìn)的稀疏保持投影算法在高光譜數(shù)據(jù)降維中的應(yīng)用
高平市| 北宁市| 淅川县| 会同县| 游戏| 任丘市| 伊宁市| 夏津县| 大丰市| 佛山市| 星子县| 岫岩| 揭西县| 乌拉特中旗| 邯郸县| 永兴县| 麦盖提县| 东辽县| 琼海市| 宜兰市| 安溪县| 大渡口区| 龙陵县| 安新县| 定襄县| 图片| 德令哈市| 夏河县| 台南县| 涪陵区| 阜宁县| 大兴区| 全州县| 土默特右旗| 抚顺县| 台中市| 和平县| 南丰县| 都匀市| 吴旗县| 抚顺县|