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

        ?

        基于Spark 框架的電影推薦系統(tǒng)的實現(xiàn)

        2021-03-30 01:06:46賴麗君
        鄂州大學學報 2021年2期
        關(guān)鍵詞:物品矩陣模塊

        賴麗君

        (泉州經(jīng)貿(mào)職業(yè)技術(shù)學院信息技術(shù)系,福建泉州362000)

        推薦系統(tǒng)通過分析海量信息來挖掘、 學習用戶的興趣或喜好,結(jié)合推薦技術(shù)及系統(tǒng)支撐框架,為每個用戶推薦其感興趣的產(chǎn)品或內(nèi)容。 目前解決“信息過載”的兩種重要的手段即是利用推薦系統(tǒng)與搜索引擎[1],兩者均能協(xié)助用戶獲取感興趣的內(nèi)容, 不同于搜索引擎, 推薦系統(tǒng)在進行深度挖掘、分析用戶數(shù)據(jù),推測用戶興趣和喜好時是通過選用合適的推薦算法來進行處理, 把用戶主動搜索的方式轉(zhuǎn)化為系統(tǒng)主動推送其感興趣的內(nèi)容或產(chǎn)品,為用戶提供智能化、個性化的推薦服務。

        1 Spark 框架

        推薦系統(tǒng)目前已經(jīng)廣泛應用于電影、 音樂、電子商務等網(wǎng)站中,并取得較好的推薦效果,推薦系統(tǒng)以往是基于Hadoop 框架下的MapReduce 的分布式計算平臺的,能解決海量數(shù)據(jù)的高效存儲和分布式計算問題, 但是隨著網(wǎng)絡(luò)和大數(shù)據(jù)技術(shù)的發(fā)展,對推薦系統(tǒng)的計算速度、實時性要求更高,而傳統(tǒng)的基于Hadoop 計算平臺不能滿足需要,Spark 框架以其計算速度快、 實時性強等特點, 逐漸取代MapReduce 成為目前熱門的推薦系統(tǒng)框架。

        Apache Spark 是用于針對大規(guī)模數(shù)據(jù)處理的一種統(tǒng)一分析引擎[2]。 Spark 由Scala 語言實現(xiàn),支持Python、Java、Scala 等語言開發(fā), 可以和其他大數(shù)據(jù)工具如Hadoop、Kafka 等很好地整合。 Spark是基于內(nèi)存計算的,且具有易操作的特點,能夠快速、 簡潔、 高效的進行并行化應用的開發(fā)[3]。 與Hadoop 相比,Spark 因其數(shù)據(jù)結(jié)構(gòu)RDD 強大的計算能力, 對于處理數(shù)據(jù)挖掘與機器學習算法更加適合[4],能夠更高效地實現(xiàn)MapReduce 的操作。

        2 算法模型

        2.1 協(xié)同過濾算法

        基于協(xié)同過濾、內(nèi)容的推薦、混合推薦的這類的算法是傳統(tǒng)的推薦方法[5],在這三種算法中,當前使用最為廣泛, 最為經(jīng)典的方法則是協(xié)同過濾算法, 如矩陣因子分解借助于用戶與項目或產(chǎn)品之間的交互信息,向用戶提供推薦內(nèi)容。 協(xié)同過濾算法目前有很多,主流的算法有兩種,分別是基于模型的協(xié)同過濾與基于鄰域的協(xié)同過濾。

        基于鄰域的協(xié)同過濾算法在進行推薦的過程中,通過對鄰域進行搜索來計算相似度,主要相似度的計算為用戶之間的相似度與項目之間的相似度,它的實現(xiàn)相對簡單,但也存在過分依賴用戶的評分的缺點,特別是數(shù)據(jù)很稀疏時,推薦系統(tǒng)的預測精度將會急劇下降, 這將導致無法為新用戶進行推薦的問題出現(xiàn)[6],基于模型的協(xié)同過濾算法在這種情況下, 它的預測速度將會更快且算法的可擴展性更強, 有一種典型的代表就是使用最小二乘法(ALS)進行矩陣分解算法。

        2.2 交替最小二乘(ALS)算法

        ALS 同時考慮了用戶和物品兩個方面, 將用戶和物品的關(guān)系抽象為一個三元組<用戶, 物品,用戶對物品的評分>,并表示為一個評分矩陣,由于用戶不可能對所有物品進行評分, 所以R 矩陣注定是一個稀疏矩陣,缺失不少評分。 為填充空值,ALS 算法采用“隱語義模型”,通過降維的方法來補全“用戶-物品”矩陣,并對沒有出現(xiàn)的值進行估計[7],這使得稀疏矩陣的問題能得到有效地解決。在ALS 算法中, 首先假設(shè)有m 個用戶,n 個物品,用矩陣Rm×n來表示用戶對物品的評分, 即矩陣元素Rij代表評分值為第i 個用戶對第j 個物品的評分[8]。 Rm×n矩陣的規(guī)模通常很大,而且數(shù)據(jù)稀疏,為填充缺失值,ALS 算法假設(shè)評分矩陣是近似低秩的,將Rm×n分解為兩個子矩陣Xm×k(用戶對隱含特征的偏好矩陣),Yk×n(物品包含隱含特征的矩陣),使兩個矩陣相乘近似得到Rm×n,其中k<<min(m,n)即k 值遠小于m 和n,這樣達到降維的目的,公式如下:

        Rm×n≈Xm×kYTk×n

        為了使得矩陣X 與矩陣Y 的乘積與原始矩陣R 值盡可能接近,ALS 采用最小化平方誤差損失函數(shù)方法,同時對損失函數(shù)加上正則化項后表示如下:

        L(X,Y)=∑u,i(rui-xuTyi)2+λ(|xu|2+|yi|2)

        其中λ 是正則化項系數(shù)。 xu作為用戶u 的隱含特征向量,yi是物品i 隱含的特征向量。 而rui則表示用戶u 對物品i 的評分。

        具體求解步驟如下:

        (1)將矩陣Y 進行固定,再對xu求導[8],公式如下:

        xu=(YTY+λI)-1YTru

        (2)再固定矩陣X,然后對yi 求導[8],公式如下:

        yi=(XTX+λI)-1XTri

        在迭代過程中,隨機對X,Y 進行初始化,交替對X、Y 進行迭代優(yōu)化, 不斷更新X 和Y 的值,直至收斂。

        3 基于Spark 框架的電影推薦系統(tǒng)設(shè)計和實現(xiàn)

        3.1 系統(tǒng)總體設(shè)計

        本文基于Spark 生態(tài)框架及Mysql、IDEA、Node.js 等軟件平臺構(gòu)建電影推薦系統(tǒng)。 由HDFS分布式存儲結(jié)構(gòu)來對海量的歷史評分數(shù)據(jù)進行保存,為充分測試系統(tǒng)性能,使用的評分數(shù)據(jù)源于網(wǎng)絡(luò),在使用之前在Pycharm 平臺進行預處理后,在IDEA 平臺上進一步清洗數(shù)據(jù),用戶在瀏覽網(wǎng)站時的行為及軌跡產(chǎn)生的實時數(shù)據(jù)由Spark Streaming處理,系統(tǒng)將用戶注冊信息、最新評分數(shù)據(jù)、瀏覽歷史記錄等信息存儲到Mysql 數(shù)據(jù)庫中。 通過MLlib 平臺實現(xiàn)ALS 算法, 訓練數(shù)據(jù)獲得最佳的推薦模型,產(chǎn)生推薦結(jié)果,向用戶推薦電影,同時對電影進行點擊率、評分排名處理,設(shè)計基于電影排名推薦功能, 與ALS 算法一起形成組合推薦模式,向用戶推薦電影。 系統(tǒng)工作流程圖如圖1:

        平樂古鎮(zhèn)對原有古鎮(zhèn)建筑進行保留,并對當?shù)鼐用襁M行扶持,使其具有原始居民的人氣。利用已經(jīng)開發(fā)的建筑用地進行經(jīng)營。不僅造福當?shù)鼐用?,增加當?shù)鼐用竦氖杖?,而且利用當?shù)鼐用駥ㄖ涸黾由鷻C,營造古鎮(zhèn)氛圍吸引游客觀光及停留。在業(yè)態(tài)經(jīng)營上缺少多樣性和獨特性,在熙攘的人群中古鎮(zhèn)之景韻味有所欠缺。

        圖1 系統(tǒng)總體設(shè)計

        3.2 系統(tǒng)功能設(shè)計

        系統(tǒng)主要分為用戶信息,電影推薦,電影信息管理三個主要功能模塊,用戶信息模塊分為注冊、登錄、用戶信息管理功能,電影推薦模塊主要有個性化電影推薦功能、用戶評分功能,為解決ALS 算法存在的冷啟動問題, 在此模塊還增加熱門電影推薦功能和好劇推薦功能, 使系統(tǒng)在向老用戶推薦電影的同時, 也能為新用戶提供電影推薦,此外,為進一步緩解冷啟動問題,在用戶注冊模塊增加年齡和對電影類別的偏好的信息填寫, 增加用戶特征屬性,對于新用戶進行輔助推薦。系統(tǒng)功能模塊如圖2:

        圖2 系統(tǒng)功能設(shè)計

        3.3 Spark 大數(shù)據(jù)處理框架搭建

        在實驗室搭建Spark 生態(tài)環(huán)境, 安裝配置Kafka、Zookeeper、flume、MLlib、Spark SQL、Spark Streaming 等生態(tài)組件,搭建Hadoop 平臺,配置1個Master 節(jié)點和2 個work 節(jié)點,采用其HDFS 分布式存儲歷史評分數(shù)據(jù), 對于實時產(chǎn)生的評分數(shù)據(jù),將其存于MySQL 數(shù)據(jù)庫中。安裝IDEA 平臺采用Scala 編程語言開發(fā)程序, 安裝Node.js 進行前端開發(fā)。 搭建Spark 環(huán)境部分效果如圖3。

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

        3.4.1 算法實現(xiàn)

        Spark 生態(tài)組件MLlib 是實現(xiàn)部分機器學習算法的平臺, 其中的spark.ml 包有提供實現(xiàn)交替最小二乘算法的函數(shù),在ALS 算法中,主要的實現(xiàn)過程如下幾個步驟:

        (1)對數(shù)據(jù)集和Spark 生態(tài)環(huán)境進行初始化操作, 通過語句(import org.apache.spark.mllib.recommendation.{ALS,ALSModel})來加載交替最小二乘ALS 算法模型。

        (2)數(shù)據(jù)集轉(zhuǎn)換,將樣本評分數(shù)據(jù)分為3 部分,訓練數(shù)據(jù)占70%,將最靠近最近時間段的數(shù)據(jù)作為測試數(shù)據(jù)占20%(通過用戶評分表中的timestamp 排序獲取),校驗數(shù)據(jù)占10%。

        (4)在對ALS 模型進行訓練的過程中,既進行顯式反饋數(shù)據(jù)模型的訓練, 同時也對隱式反饋數(shù)據(jù)進行模型訓練,通過調(diào)整參數(shù),多次迭代訓練,產(chǎn)生最佳模型。

        圖3 Spark 環(huán)境搭建

        (5)通過模型預測評分,計算與實際評分間的均方根誤差RMSE,值越小越接近收斂。

        (6)將推薦結(jié)果寫入數(shù)據(jù)庫,向用戶推薦電影。

        3.4.2 功能實現(xiàn)

        (1)用戶信息模塊。 實現(xiàn)了用戶注冊、登錄、用戶信息管理三個子功能模塊, 用戶注冊時盡可能簡化用戶操作,除了填寫基本信息外,需要選擇感興趣的電影種類,以便對新用戶進行電影推薦。 用戶信息管理模塊用于管理用戶個人信息, 用戶可以對自己的信息進行修改、完善,系統(tǒng)管理員也可查詢和管理網(wǎng)站所有用戶信息。 用戶注冊界面效果如圖4。

        (2)電影推薦模塊。 這部分是網(wǎng)站的核心模塊,實現(xiàn)了個性化電影推薦、熱門電影推薦、好劇推薦、用戶評分等四個子功能模塊,用戶選擇對電影進行星級評分,并發(fā)表評論,后臺管理員可以查看所有評分和評論并進行管理, 網(wǎng)站實現(xiàn)對每個用戶提供個性化電影推薦服務, 并組合近一個月內(nèi)點擊率高及評論數(shù)多的熱門電影, 和評分排名靠前的好劇進行推薦。 部分效果如圖5、圖6、圖7所示。

        圖4 用戶注冊界面

        (3)電影信息管理模塊。 實現(xiàn)電影信息管理、電影分類管理子功能模塊, 便于網(wǎng)站管理員對電影信息進行查詢、增加、修改、刪除等操作。

        圖5 猜你喜歡

        圖6 熱門電影推薦

        圖7 電影評價

        4 結(jié)語

        大數(shù)據(jù)環(huán)境下, 推薦系統(tǒng)已進入到人們生活的各個方面, 為人們提供了更加豐富和便捷的體驗, 應用前景廣泛。 本文設(shè)計并實現(xiàn)了一個基于Spark 生態(tài)環(huán)境的電影推薦系統(tǒng), 通過在Spark 框架中采用ALS 算法模型對數(shù)據(jù)進行反復的訓練、優(yōu)化調(diào)整,最終取得推薦的最佳模型,向用戶提供個性化電影推薦服務。 面對新用戶,推薦的挑戰(zhàn)主要是冷啟動問題,該系統(tǒng)以ALS 推薦算法為主,輔以熱門電影和優(yōu)質(zhì)好劇推薦,同時將電影分類,以用戶興趣為出發(fā)點,結(jié)合電影點擊率排名、評分排名向新用戶提供電影推薦服務, 有效緩解冷啟動問題。

        猜你喜歡
        物品矩陣模塊
        28通道收發(fā)處理模塊設(shè)計
        “選修3—3”模塊的復習備考
        稱物品
        “雙十一”,你搶到了想要的物品嗎?
        誰動了凡·高的物品
        初等行變換與初等列變換并用求逆矩陣
        選修6 第三模塊 International Relationships
        矩陣
        南都周刊(2015年4期)2015-09-10 07:22:44
        矩陣
        南都周刊(2015年3期)2015-09-10 07:22:44
        矩陣
        南都周刊(2015年1期)2015-09-10 07:22:44
        国产又黄又大又粗视频| 大奶白浆视频在线观看| 摸进她的内裤里疯狂揉她动图视频 | 高潮潮喷奶水飞溅视频无码| 国产精品麻豆aⅴ人妻| 在线a人片免费观看国产| 美女被强吻并脱下胸罩内裤视频 | 国产一级r片内射视频播放| 国产av精品麻豆网址| 特级a欧美做爰片第一次| 国产成人久久精品二区三区牛| 日韩成人精品一区二区三区| 国产av一级片在线观看| 波多野结衣的av一区二区三区| 少妇高潮喷水久久久影院| 国产人成在线成免费视频| 国产一区二区长腿丝袜高跟鞋| 国产精品视频免费播放| 国产曰批免费视频播放免费s| 午夜精品一区二区久久做老熟女| 精品亚洲一区二区三区四区五| 亚洲av午夜福利精品一区二区| 亚洲产在线精品亚洲第一站一| 国产精品丝袜美腿诱惑| 亚洲av成人片色在线观看| 国产精品免费久久久久软件| 色综合999| 天堂av网手机线上天堂| 久久久久久曰本av免费免费| 最新亚洲人成网站在线| 国产自拍伦理在线观看| 久久99精品久久久久久琪琪| 欧美人与动人物牲交免费观看| 亚洲色拍拍噜噜噜最新网站 | 无码人妻丰满熟妇区五十路百度| 久久精品国产精品亚洲婷婷| 国产亚洲av综合人人澡精品| 色www永久免费视频| 国产99re在线观看只有精品| 精品在线亚洲一区二区三区| 亚洲另类无码专区首页|