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

        ?

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

        2019-01-06 02:19:22劉淑英鄒燕飛唐云凱李依橋趙子慧
        中國科技縱橫 2019年22期
        關鍵詞:機器學習

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

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

        關鍵詞:機器學習;PCA算法;酒店推薦系統(tǒng);降維

        中圖分類號:TP391.9 文獻標識碼:A 文章編號:1671-2064(2019)22-0051-02

        0 引言

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

        1 PCA算法

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

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

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

        (1)

        接下來,我們對每個特征去均值化(即均值零化),計算公式為:

        (2)

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

        (3)

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

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

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

        2 模型實現(xiàn)

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

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

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

        使用矩陣運算,將兩類樣本數(shù)據(jù)集相乘,生成顧客對酒店的評分,其具體實現(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ù)的預處理

        計算樣本集的平均值,再用樣本集減去平均值并且除以其標準差,最后將數(shù)據(jù)進行歸一化處理。其實現(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 模型訓練

        PCA算法的計算過程為:

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

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

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

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

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

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

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

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

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

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

        最后我們進行獲取分類評分。根據(jù)分析協(xié)方差矩陣中100個樣本和100個特征點的相似度,找出與每個特征點相似的樣本,得到特征值。選出明顯大的前k個特征值,舍去小的特征值。我們可以通過樣本集特征提取最高的5個主成分。截取SVD維度來確定酒店相似度,具體實現(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))

        該程序最終會得到一個行為100,列為5的矩陣,即100個酒店在前5個主特征值得評分。然后我們計算出指定酒店在各分類評分。首先獲取樣本集中的最高成分,與檢索出的30號酒店的用戶評分相乘。其具體實現(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)

        該程序的運行結果如圖2所示。

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

        3 結語

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

        參考文獻

        [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] 易旺.酒店搜索推薦的設計與分析[D].武漢:華中科技大學,2013.

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

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

        猜你喜歡
        機器學習
        基于詞典與機器學習的中文微博情感分析
        基于網(wǎng)絡搜索數(shù)據(jù)的平遙旅游客流量預測分析
        時代金融(2016年27期)2016-11-25 17:51:36
        前綴字母為特征在維吾爾語文本情感分類中的研究
        科教導刊(2016年26期)2016-11-15 20:19:33
        下一代廣播電視網(wǎng)中“人工智能”的應用
        活力(2016年8期)2016-11-12 17:30:08
        基于支持向量機的金融數(shù)據(jù)分析研究
        基于Spark的大數(shù)據(jù)計算模型
        基于樸素貝葉斯算法的垃圾短信智能識別系統(tǒng)
        基于圖的半監(jiān)督學習方法綜述
        機器學習理論在高中自主學習中的應用
        極限學習機在圖像分割中的應用
        性xxxx18免费观看视频| 亚洲一区二区日韩精品| 日本免费一区二区在线视频播放| 国产精品美女自在线观看| 少妇人妻中文久久综合| 亚洲国产成人久久综合| 国产黄色片在线观看| 激情综合五月天开心久久| 男女射精视频在线观看网站| 人妻av无码一区二区三区| 亚洲不卡av不卡一区二区| 国产爆乳美女娇喘呻吟久久| 一道之本加勒比热东京| 亚洲熟妇久久精品| 亚洲av成人一区二区三区av| 日本第一区二区三区视频| 国模91九色精品二三四| 欧美午夜刺激影院| 91亚洲无码在线观看| 手机在线观看成年人视频| 无码精品国产一区二区三区免费| 成人激情五月天| 92精品国产自产在线观看48页| 国产福利不卡视频在线| 18禁黄污吃奶免费看网站| 大香视频伊人精品75| 女同国产日韩精品在线| 国产精品会所一区二区三区| 成人欧美一区二区三区的电影| 九九久久国产精品大片| 亚洲精品国产av成拍色拍| 国产亚洲精品成人aa片新蒲金 | 极品美女一区二区三区免费| 日韩毛片免费无码无毒视频观看| 人妻AV无码一区二区三区奥田咲 | 成人自拍偷拍视频在线观看| 国产精久久一区二区三区| 亚洲欧美在线播放| 青青青视频手机在线观看| 亚洲av乱码一区二区三区林ゆな| 亚洲av无码成人黄网站在线观看 |