• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于Pyspark平臺的協(xié)同過濾推薦算法應用與實現(xiàn)

      2018-04-21 08:16:46許文英
      關鍵詞:算子協(xié)同矩陣

      許文英,向 強

      (西南民族大學電氣信息工程學院,四川 成都 610041)

      隨著互聯(lián)網(wǎng)技術的發(fā)展,人們的生活越來越豐富.尤其近幾年來,電子商務的快速發(fā)展,各大網(wǎng)站銷售的商品幾乎涵蓋人們的所有需求.并且伴隨著電商平臺的物品豐富多樣,數(shù)量數(shù)不勝數(shù),甚至一類相似物品數(shù)量達到幾十個,使得人們選購商品的時候,信息過載導致選購商品倍感費力.在海量的信息情況下,商家對顧客消費的大量數(shù)據(jù)的處理技術提出嚴峻的挑戰(zhàn),消費者對紛繁復雜的商品,很難準確定位自己所需求的物品.因此,推薦系統(tǒng)[1]應運而生.

      由最早的亞馬遜推薦系統(tǒng)[2],到目前各知名的淘寶網(wǎng)、豆瓣網(wǎng)、京東等電商門戶的各自的推薦系統(tǒng),都得到廣泛的應用,并取得顯著的成功.傳統(tǒng)的推薦系統(tǒng)包括基于協(xié)同過濾算法的推薦系統(tǒng)[3]、基于用戶相似的矩陣分解模型算法的推薦系統(tǒng)[4]、社會化的推薦系統(tǒng)[5]等.在電商時代,更好的掌握和運用用戶與物品的數(shù)據(jù),才能為電商的運營帶來更好的指導方向.隨著大數(shù)據(jù)分布式技術的發(fā)展,對于推薦系統(tǒng)框架:車晉強等人對分布式Spark的協(xié)同過濾推薦算法研究[6],岑凱倫等人基于Spark平臺,對電商實時推薦系統(tǒng)的研究[7],劉壽強等人對Hadoop平臺推薦算法的研究[8],彭建喜對MapReduce平臺推薦系統(tǒng)的研究[9];近年來,對推薦算法的有很大的改進,隨著大數(shù)據(jù)環(huán)境的發(fā)展,大數(shù)據(jù)運用推薦系統(tǒng)也隨著變化[10],大數(shù)據(jù)推薦算法有:關聯(lián)規(guī)則算法[10],社交網(wǎng)絡算法[11],組合推薦算法[12].本文針對傳統(tǒng)的協(xié)同過濾算法,在大量數(shù)據(jù)運算的情況下,存在單節(jié)點計算難度大以及特征矩陣稀疏等問題,適應大數(shù)據(jù)環(huán)境的要求、采用大數(shù)據(jù)分布式框架Pyspark,對并發(fā)性很好的ALS協(xié)同過濾算法原理進行研究并實踐應用.

      1 pyspark實現(xiàn)原理與架構

      1.1 pyspark原理

      根據(jù)官方提供,Apache Spark是一個開源的大數(shù)據(jù)處理框架,它具有高速處理、易用性、構建復雜大數(shù)據(jù)分析的特點.相比其它大數(shù)據(jù)處理技術(如Hadoop,Storm)和MapReduce技術,Spark提供了一個全面、統(tǒng)一的大數(shù)據(jù)處理框架.

      Spark技術族包括資源調度、文件存儲、編程模型、分析工具,其中資源調度包括YARN、Mesos,文件存儲包括HDFS、Tachyon,編程模型包括Hadoop、MapReduce、Spark/Spark Straming,分析工具包括 Hive、Spark SQL、SparkR、Pyspark、GraphX、MLlib.Spark 吸收和借鑒大數(shù)據(jù)分布式計算模式的優(yōu)勢,它巧妙的融合彈性分布式數(shù)據(jù)集(Resilient Distributed Datasets,RDD)和算子(Operation),以此減少對內存的訪問和消耗,實現(xiàn)簡潔高效的分布式計算的運行框架.其中Spark的算子包括創(chuàng)建算子(Creation)、變換算子(Transformation)、緩存算子(Cache)、行動算子(Action),用于對RDD中的數(shù)據(jù)進行轉換和操作.

      Spark是用面向函數(shù)式變成語言(Scala)編寫的,并提供了幾個交互式的API.Pyspark即是Spark開發(fā)者為python語言開發(fā)者提供的pythonAPI,與Spark相似,PySpark的中心數(shù)據(jù)抽象是一個“彈性分布式數(shù)據(jù)集”(RDD),它只是一個Python對象的集合,圖1給出了Pyspark與Spark的關系示意圖.選擇Pyspark的原因是對于熟練Python的程序員,Python自身的輕量級、簡單的優(yōu)勢,結合Spark的特點,得到很多程序員的青睞.

      圖1 Pyspark與Spark的關系示意圖Fig.1 diagram of the relationship between Pyspark and Spark

      1.2 pyspark基本架構

      Pyspark相對于Spark是在外圍包裝一層Python API,通過集成的Py4J對Python和Java進行交互,進而實現(xiàn)Python編寫Spark應用程序,其運行基本架構如圖2所示:

      圖2 pyspark架構Fig.2 pyspark architecture

      a)在Python引擎中,SparkContext通過Py4J連接Java的解釋器JVM,并且創(chuàng)建一個JavaSparkContext.

      b)Py4J通過引擎,把本地的Python與JavaSpark-Context的對象進行互相通信.

      c)Pyspark的RDD在Python下的轉化被映射成Java環(huán)境下的PythonRDD.

      d)在遠程的worker機器上PythonRDD對象啟動子進程,并且使用Pipes與啟動的這些子進程進行通信,通過這樣的關系為用戶傳遞代碼和數(shù)據(jù).

      2 協(xié)同過濾推薦算法

      協(xié)同過濾模算法摸型:假設有一個用戶數(shù)據(jù)集:U = {u1,u2,u3,…,uk} , 收 集 用 戶 買 過 商 品:,用評分矩陣Mn×k表示用戶對商品的評價[13]、打分、點贊等方式,Mu,i表示第u個用戶對第i個商品的綜合評分,評分相近的表示用戶喜歡的商品相似.

      2.1 基于隱含的ALS協(xié)同過濾算法

      基于改進的協(xié)同過濾算法摸型:ALS(alternatingleast-squares)繼承協(xié)同過濾算法模型的思想,用戶與用戶對商品的打分構成隱含的評分矩陣,其中隱含因子就是用戶對一些物品的偏好.

      基于隱含的ALS協(xié)同過濾算法原理:由于一個用戶不能給所有物品打分,因此決定了評分矩陣高度稀疏,因此假設一定存在兩個低秩矩陣U、I盡可能逼近M,即

      為了使低秩矩陣乘法最大限度逼近真實值,需要計算平方誤差函數(shù),且使得誤差達到最小:

      根據(jù)潔洪諾夫正則化(Tikhonovregularization)準則[14],則(3)式變?yōu)?/p>

      根據(jù)偏微分原理,求解U,固定I,對U求偏導:

      令偏導數(shù)為零,得:

      化簡得:

      根據(jù)偏導數(shù)對稱原則,同理可得:

      根據(jù)(4)、(5)式,隨機給定 U,I的初始值,可以迭代求出U,I矩陣,當平方誤差(6)的值變化很小時,算法達到收斂,進而求得評分矩陣M.

      2.2 正則化參數(shù)λ

      Tikhonovregularization求解的質量依賴于正則化參數(shù)λ,為了合理迭代求取(4)、(5)式,根據(jù)最小化廣義交叉驗證算法求取[15]λ:

      其中 Sλ= Φ(Φ'Φ + λR)-1Φ',Φ表示全體基函數(shù).

      3 實驗及結果分析

      3.1 實驗過程

      數(shù)據(jù)準備:選取開源的電影評價數(shù)據(jù)集(MovieLens);

      平臺部署:官方網(wǎng)址下載對應操作系統(tǒng)版本的Spark,本次采用 Spark 2.0、JDK 1.8.0、 Python 2.7.13,安裝完成并配置環(huán)境變量,啟動Pyspark,如圖3.

      圖3 Pyspark啟動(MovieLens數(shù)據(jù)集)Fig.3 Pyspark startup(MovieLens data set)

      3.2 實驗程序流程圖

      推薦程序流程圖如圖4:

      圖4 推薦系統(tǒng)流程圖Fig.4 recommendation system flow chart

      3.3 變換配置參數(shù),RMSE對比圖

      使用Anaconda仿真,調節(jié)程序中三個參數(shù)λ,RANK,numIteration.首先取λ =0.01、λ =0.02、λ=0.03,改變隱形因子的數(shù)量,畫出RMSE變化,如圖5所示;其次取 rank=8、rank=10、rank=12,改變參數(shù)Lambda,畫出RMSE,如圖6所示.

      圖5 RMSE1Fig.5 RMSE1

      圖6 RMSE2Fig.6 RMSE2

      通過實驗結果,當隱形因子數(shù)取10,正則參數(shù)為0.01時,RMSE最大,得到本次數(shù)據(jù)集在本次實驗環(huán)境下的最佳推薦結果,其中RMSE如圖7所示;并且保存模型,根據(jù)ALS模型,分別計算出第196個用戶對第241,第240,第139部電影的評分,以及第197、第198、第199、第200個用戶對第139部電影的評分結果,如圖8所示,然后根據(jù)模型(ALS)計算結果,將評分最高的推薦給相應用戶.

      圖7 RMSE最佳值Fig.7 RMSE best value

      圖8 第i用戶個對第j個電影的評分Fig.8 Thei-th user scores the j-th movie

      4 結論

      與傳統(tǒng)的協(xié)同過濾推薦相比,首先,Pyspark針對大數(shù)據(jù)環(huán)境平臺,在計算量很大的情況下,運行速度快,并發(fā)性好,穩(wěn)定,可以用于生產(chǎn)環(huán)境.其次,ALS協(xié)同過濾算法,并發(fā)性好,在Pyspark平臺下,隨著隱形因子數(shù)的增多,平方誤差越??;隨著正則數(shù)的增大,平方誤差變大,這個實驗結論可用于生產(chǎn)環(huán)境中對模型參數(shù)調優(yōu)有決策的方向,能使推薦精度更高.最后,隨著物品的日益增多,數(shù)據(jù)量增大,上網(wǎng)購物體驗會有很大變化,推薦系統(tǒng)的性能還有很多改進的地方,比如怎么實現(xiàn)實時推薦有效的問題、算法平臺遷移穩(wěn)定性等,需要進一步的研究.

      [1]張素智,趙亞楠,吳健.推薦系統(tǒng)研究[J].湖北民族學院學報(自然科學版),2016,35(2):1-6.

      [2]洪亮,任秋圜,梁樹賢.國內電子商務網(wǎng)站推薦系統(tǒng)信息服務質量比較研究—以淘寶、京東、亞馬遜為例梁樹賢[J].2016,60(23):97-110.

      [3]余娜娜,王中杰.基于Spark的協(xié)同過濾算法的研究[J].系統(tǒng)仿真技術,2016,12(1):41-45.

      [4]盛偉,余英,王保云.基于相似用戶索引和ALS矩陣分解的推薦算法研究[J].陜西理工學院學報(自然科學版),2016,32(6):47-52.

      [5]孟祥武,劉樹棟,張玉潔,等.社會化推薦系統(tǒng)的研究[J].軟件學報,2015,26(6):1356-1372.

      [6]車晉強,謝紅薇.基于Spark的分層協(xié)同過濾推薦算法[J].電子技術應用,2015,41(9):135-138.

      [7]岑凱倫,于紅巖,楊騰霄.大數(shù)據(jù)下基于Spark的電商實時推薦系統(tǒng)的設計與實現(xiàn)[J].現(xiàn)代計算機,2016(11):61-69.

      [8]劉壽強,祁明.基于Hadoop云平臺的社交大數(shù)據(jù)協(xié)同過濾個性化推薦的研究與實現(xiàn)[J].現(xiàn)代計算機,2016(32):76-79.

      [9]彭建喜.基于MapReduce的潛在因素算法在推薦系統(tǒng)中的研究與應用[J].科技通報,2013(29):124-126.

      [10]陳平華,陳傳瑜,洪英漢.一種結合關聯(lián)規(guī)則的協(xié)同過濾推薦算法[J].小型微型計算機系統(tǒng),2016(2):287-292.

      [11]李霞,李守偉.一種基于社交網(wǎng)絡輿論影響的推薦算法[J].計算機應用與軟件,2017,34(1):276-280.

      [12]王子政,姚衛(wèi)東.一種改進的組合推薦算法研究[J].軍民兩用技術與產(chǎn)品,2015(1):46-51.

      [13]李偉霖,王成良,文俊浩.基于評論與評分的協(xié)同過濾算法[J].計算機應用研究,2017(3):362-412.

      [14]傅初黎,李洪芳,熊向團.不適定問題的迭代iT k h o n o v正則化方法[J].計算數(shù)學,2006,28(3):238-246.

      [15]王麗,王文劍,姜高霞.數(shù)據(jù)擬合中光滑參數(shù)的優(yōu)化[J].計算機科學,2015,42(9):226-234.

      猜你喜歡
      算子協(xié)同矩陣
      擬微分算子在Hp(ω)上的有界性
      蜀道難:車與路的協(xié)同進化
      科學大眾(2020年23期)2021-01-18 03:09:08
      各向異性次Laplace算子和擬p-次Laplace算子的Picone恒等式及其應用
      “四化”協(xié)同才有出路
      汽車觀察(2019年2期)2019-03-15 06:00:50
      一類Markov模算子半群與相應的算子值Dirichlet型刻畫
      Roper-Suffridge延拓算子與Loewner鏈
      三醫(yī)聯(lián)動 協(xié)同創(chuàng)新
      初等行變換與初等列變換并用求逆矩陣
      矩陣
      南都周刊(2015年4期)2015-09-10 07:22:44
      矩陣
      南都周刊(2015年3期)2015-09-10 07:22:44
      平邑县| 潜江市| 竹溪县| 肇源县| 巴林右旗| 灯塔市| 左贡县| 商水县| 陕西省| 嘉荫县| 平舆县| 同德县| 诏安县| 攀枝花市| 望都县| 灵武市| 信宜市| 松溪县| 盐城市| 德安县| 嘉善县| 青河县| 建阳市| 青龙| 黄大仙区| 峨山| 周至县| 黎平县| 工布江达县| 乌审旗| 静乐县| 河北省| 榆林市| 南澳县| 汝州市| 凤台县| 法库县| 尉犁县| 蓬安县| 嘉定区| 吴旗县|