基于Hadoop的協同過濾推薦算法研究
發(fā)布時間:2022-02-04 17:02
電子商務的興起不僅為消費者提供了更多選擇,而且還導致了信息超過人們所能處理的范圍。為了從大量資源中快速找到喜歡的物品,用戶希望出現可以為他們進行推薦自己可能感興趣的物品的技術。因此,為了解決人們的問題出現了個性化的推薦系統(tǒng)。協同過濾推薦算法作為推薦系統(tǒng)最成功的算法之一,發(fā)揮了關鍵作用。盡管協同過濾算法已成功應用于許多商業(yè)領域,但是協同過濾算法的一些缺陷,例如數據的稀疏性等。面對當今信息社會海量信息數據的增長,對算法的準確性和通用性等方面都提出了更高的要求。在推薦系統(tǒng)中,推薦算法的準確性要求總是難以實現。用戶的興趣隨著時間的改變也會發(fā)生變化,在大數據背景下,傳統(tǒng)的協同過濾推薦算法無法為用戶提供精準的推薦服務,使得用戶數據的稀疏性在復雜的社交網絡環(huán)境中成為影響推薦準確性的重要因素。本文提出在傳統(tǒng)推薦算法相似度計算的基礎上,結合用戶的興趣,不僅對用戶與項目之間的相似度進行計算,還對用戶興趣的相似度進行計算,將用戶的評分和興趣度結合起來。本文改進的算法解決用戶的興趣問題,用計算實際的評分與推薦評價算法對比得到的結果來預測實際評分與推薦值之間的差值以及平均絕對偏差,推薦算法的準確性用MAE作為評...
【文章來源】:沈陽工業(yè)大學遼寧省
【文章頁數】:60 頁
【學位級別】:碩士
【部分圖文】:
Hadoop生態(tài)系統(tǒng)組件Fig.2.1HadoopEcosystemComponents
沈陽工業(yè)大學碩士學位論文8圖2.2Hadoop分布式文件系統(tǒng)架構圖Fig.2.2HadoopDistributedFileSystemArchitectureDiagramHDFS由一個名稱節(jié)點(NameNode)[14]和多個數據節(jié)點(DataNode)[15]組成,在集群中,NameNode是主節(jié)點,主要承擔的是對客戶端的請求進行響應、對元數據進行管理的功能。DataNode是從節(jié)點,它承擔的是對文件塊數據存放、通過心跳機制向主節(jié)點按期進行報告的任務。NameNode節(jié)點的角色相當于集群的管理者,主要管理HDFS文件系統(tǒng)、數據塊(Block)、處理客戶端請求等。DataNode的角色相當于集群的工作者,當客戶端發(fā)出命令時,DataNode負責執(zhí)行。SecondaryNameNode起到監(jiān)控作用,設置檢查點幫助NameNode工作。當NameNode掛起時,集群并不能夠立刻替換NameNode,這時SecondaryNameNode就會準時將元數據的映像文件進行同步操作,隨后將修改日志發(fā)送給NameNode。HDFS提供多副本策略[16],這樣可以使數據存儲時更加可靠。高可用性(HA,HighAvailability)也是HDFS的特征之一,高可用性在集群中設置有兩個NameNode。這樣的部署允許處于集群中的計算機在故障的時候,能夠向另一個NameNode快速轉移。一個具有高可用性的集群,集群內的節(jié)點分別處于活躍和待機狀態(tài);钴S狀態(tài)的NameNode節(jié)點,處理集群中客戶端的具體操作,待命狀態(tài)的NameNode對Active狀態(tài)NameNode數據的進行數據同步工作,當活躍的節(jié)點故障時以便進行狀態(tài)的轉換工作。如圖2.3所示。
第2章Hadoop相關技術9圖2.3HDFS高可用性架構圖Fig.2.3HDFShighavailabilityarchitecturediagram集群啟動之后,其中的一個NameNode通過選舉處于活躍狀態(tài),負責處理客戶端與數據節(jié)點之間的請求,另一個NameNode處于待機狀態(tài),以便提供快速的故障轉移。為了實現StandbyNameNode在ActiveNameNode掛掉之后,能迅速的再提供服務,需要數據節(jié)點不僅需要向活躍狀態(tài)的NameNode匯報,同時還要向待機狀態(tài)的NameNode匯報,這樣就能保證數據塊在數據節(jié)點上的位置信息保存在待機的NameNode上。FailoverController負責通過心跳這一方式與ZK保持時刻通信,通過ZK來選舉活躍狀態(tài)的NameNode,一旦處于活躍狀態(tài)的主節(jié)點處于掛起狀態(tài),就會選擇待機狀態(tài)的節(jié)點來作為新的主節(jié)點,轉換成活躍狀態(tài),這樣能夠使系統(tǒng)正常運行得到良好的保障。ZookeeperFailoverController故障切換控制器時刻監(jiān)控主節(jié)點狀態(tài)的,向ZK定期發(fā)送心跳,以便進行故障節(jié)點的切換。當自己被選為主節(jié)點(Active)的時候,就會通過RPC使相應NameNode轉變成為Active狀態(tài);诖朔N特性,所以當集群中某個單節(jié)點發(fā)生故障的時候,允許集群中的處于活躍狀態(tài)的主節(jié)點快速轉移到另一個NameNode,這樣就能夠保障系統(tǒng)的正常運行。HDFS的高可用性特性使集群在某個節(jié)點發(fā)生故障時仍能夠正常運行,更好地保障了系統(tǒng)的運行。2.3分布式編程模型MapReduceMapReduce編程模型是將程序運行在分布式系統(tǒng)上,并行計算大規(guī)模數據集從而進行數據處理。MapReduce是map思想和reduce的思想因而得名。MapReduce應用到
【參考文獻】:
期刊論文
[1]基于知識圖譜和協同過濾的電影推薦算法研究[J]. 袁泉,成振華,江洋. 計算機工程與科學. 2020(04)
[2]基于時間權重和用戶興趣變化的協同過濾算法[J]. 王娜娜. 皖西學院學報. 2020(02)
[3]大數據安全技術研究進展[J]. 陳性元,高元照,唐慧林,杜學繪. 中國科學:信息科學. 2020(01)
[4]基于內容和協同過濾的科技文獻個性化推薦[J]. 楊凱,王利,周志平,趙衛(wèi)東. 信息技術. 2019(12)
[5]協同過濾算法在推薦系統(tǒng)中的應用[J]. 柳宇,蔡欣華,申小玲,梁琨,劉松. 信息與電腦(理論版). 2019(21)
[6]基于Pearson系數的計算機科學與技術專業(yè)課程體系相關性研究[J]. 王曉莉,石剛,楊晴雯,張銘閱. 無線互聯科技. 2019(21)
[7]分布式計算框架下的大數據機器學習[J]. 田彬. 電子技術與軟件工程. 2019(20)
[8]基于懲罰因子的協同過濾算法的改進與研究[J]. 徐立民,李涵. 物聯網技術. 2019(10)
[9]基于專家信任的協同過濾推薦算法改進研究[J]. 劉國麗,白曉霞,廉孟杰,張斌. 計算機工程與科學. 2019(10)
[10]基于Hive的高可用雙引擎數據倉庫[J]. 李翀,張彤彤,杜偉靜,劉學敏. 計算機系統(tǒng)應用. 2019(09)
本文編號:3613591
【文章來源】:沈陽工業(yè)大學遼寧省
【文章頁數】:60 頁
【學位級別】:碩士
【部分圖文】:
Hadoop生態(tài)系統(tǒng)組件Fig.2.1HadoopEcosystemComponents
沈陽工業(yè)大學碩士學位論文8圖2.2Hadoop分布式文件系統(tǒng)架構圖Fig.2.2HadoopDistributedFileSystemArchitectureDiagramHDFS由一個名稱節(jié)點(NameNode)[14]和多個數據節(jié)點(DataNode)[15]組成,在集群中,NameNode是主節(jié)點,主要承擔的是對客戶端的請求進行響應、對元數據進行管理的功能。DataNode是從節(jié)點,它承擔的是對文件塊數據存放、通過心跳機制向主節(jié)點按期進行報告的任務。NameNode節(jié)點的角色相當于集群的管理者,主要管理HDFS文件系統(tǒng)、數據塊(Block)、處理客戶端請求等。DataNode的角色相當于集群的工作者,當客戶端發(fā)出命令時,DataNode負責執(zhí)行。SecondaryNameNode起到監(jiān)控作用,設置檢查點幫助NameNode工作。當NameNode掛起時,集群并不能夠立刻替換NameNode,這時SecondaryNameNode就會準時將元數據的映像文件進行同步操作,隨后將修改日志發(fā)送給NameNode。HDFS提供多副本策略[16],這樣可以使數據存儲時更加可靠。高可用性(HA,HighAvailability)也是HDFS的特征之一,高可用性在集群中設置有兩個NameNode。這樣的部署允許處于集群中的計算機在故障的時候,能夠向另一個NameNode快速轉移。一個具有高可用性的集群,集群內的節(jié)點分別處于活躍和待機狀態(tài);钴S狀態(tài)的NameNode節(jié)點,處理集群中客戶端的具體操作,待命狀態(tài)的NameNode對Active狀態(tài)NameNode數據的進行數據同步工作,當活躍的節(jié)點故障時以便進行狀態(tài)的轉換工作。如圖2.3所示。
第2章Hadoop相關技術9圖2.3HDFS高可用性架構圖Fig.2.3HDFShighavailabilityarchitecturediagram集群啟動之后,其中的一個NameNode通過選舉處于活躍狀態(tài),負責處理客戶端與數據節(jié)點之間的請求,另一個NameNode處于待機狀態(tài),以便提供快速的故障轉移。為了實現StandbyNameNode在ActiveNameNode掛掉之后,能迅速的再提供服務,需要數據節(jié)點不僅需要向活躍狀態(tài)的NameNode匯報,同時還要向待機狀態(tài)的NameNode匯報,這樣就能保證數據塊在數據節(jié)點上的位置信息保存在待機的NameNode上。FailoverController負責通過心跳這一方式與ZK保持時刻通信,通過ZK來選舉活躍狀態(tài)的NameNode,一旦處于活躍狀態(tài)的主節(jié)點處于掛起狀態(tài),就會選擇待機狀態(tài)的節(jié)點來作為新的主節(jié)點,轉換成活躍狀態(tài),這樣能夠使系統(tǒng)正常運行得到良好的保障。ZookeeperFailoverController故障切換控制器時刻監(jiān)控主節(jié)點狀態(tài)的,向ZK定期發(fā)送心跳,以便進行故障節(jié)點的切換。當自己被選為主節(jié)點(Active)的時候,就會通過RPC使相應NameNode轉變成為Active狀態(tài);诖朔N特性,所以當集群中某個單節(jié)點發(fā)生故障的時候,允許集群中的處于活躍狀態(tài)的主節(jié)點快速轉移到另一個NameNode,這樣就能夠保障系統(tǒng)的正常運行。HDFS的高可用性特性使集群在某個節(jié)點發(fā)生故障時仍能夠正常運行,更好地保障了系統(tǒng)的運行。2.3分布式編程模型MapReduceMapReduce編程模型是將程序運行在分布式系統(tǒng)上,并行計算大規(guī)模數據集從而進行數據處理。MapReduce是map思想和reduce的思想因而得名。MapReduce應用到
【參考文獻】:
期刊論文
[1]基于知識圖譜和協同過濾的電影推薦算法研究[J]. 袁泉,成振華,江洋. 計算機工程與科學. 2020(04)
[2]基于時間權重和用戶興趣變化的協同過濾算法[J]. 王娜娜. 皖西學院學報. 2020(02)
[3]大數據安全技術研究進展[J]. 陳性元,高元照,唐慧林,杜學繪. 中國科學:信息科學. 2020(01)
[4]基于內容和協同過濾的科技文獻個性化推薦[J]. 楊凱,王利,周志平,趙衛(wèi)東. 信息技術. 2019(12)
[5]協同過濾算法在推薦系統(tǒng)中的應用[J]. 柳宇,蔡欣華,申小玲,梁琨,劉松. 信息與電腦(理論版). 2019(21)
[6]基于Pearson系數的計算機科學與技術專業(yè)課程體系相關性研究[J]. 王曉莉,石剛,楊晴雯,張銘閱. 無線互聯科技. 2019(21)
[7]分布式計算框架下的大數據機器學習[J]. 田彬. 電子技術與軟件工程. 2019(20)
[8]基于懲罰因子的協同過濾算法的改進與研究[J]. 徐立民,李涵. 物聯網技術. 2019(10)
[9]基于專家信任的協同過濾推薦算法改進研究[J]. 劉國麗,白曉霞,廉孟杰,張斌. 計算機工程與科學. 2019(10)
[10]基于Hive的高可用雙引擎數據倉庫[J]. 李翀,張彤彤,杜偉靜,劉學敏. 計算機系統(tǒng)應用. 2019(09)
本文編號:3613591
本文鏈接:http://sikaile.net/kejilunwen/shengwushengchang/3613591.html
最近更新
教材專著