• 
    

    
    

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

      ?

      一種混合推薦算法的Mahout實現(xiàn)

      2020-06-21 15:16唐科
      軟件工程 2020年6期
      關(guān)鍵詞:推薦算法機(jī)器學(xué)習(xí)

      唐科

      摘? 要:推薦算法作為推薦引擎實現(xiàn)的核心而得到廣泛研究。在各類推薦算法中,大部分對于用戶行為特征屬性、用戶人口屬性、物品特征屬性,以及用戶—物品關(guān)聯(lián)特征屬性等參數(shù)的應(yīng)用方式存在局限性。它們一般采用相似度計算、或模型計算等方法,其特征提取及參數(shù)的調(diào)優(yōu)依賴于事前定義,存在參數(shù)優(yōu)化效率低的問題。本文結(jié)合機(jī)器學(xué)習(xí)技術(shù),提出一種混合推薦算法,即(MMLHC算法),以多層神經(jīng)網(wǎng)絡(luò)作為參數(shù)優(yōu)化計算的模型,應(yīng)用Mahout庫實現(xiàn)算法,實驗結(jié)果顯示算法能有效去除原始輸入數(shù)據(jù)的噪聲、奇異點,在模型的各層之間優(yōu)化權(quán)重參數(shù)與偏差,輸出數(shù)據(jù)去噪平滑,正常擬合。相似度與精確度的計算指標(biāo)良好。

      關(guān)鍵詞:推薦算法;機(jī)器學(xué)習(xí);多層神經(jīng)網(wǎng)絡(luò);隱藏層;可視層

      Abstract: Recommendation algorithms are widely studied as the core of recommendation engine implementation, but most types of the current recommendation algorithms have limitations on the application of user behavior characteristic attribute, user population attribute, item characteristic attribute and user-item relation characteristic attribute. They generally use similarity-based calculation, or model-based calculation methods, and their feature extraction and parameter tuning depends on prior definition, with low effectiveness of parameter optimization. This paper proposes a hybrid recommendation algorithm of Multilayer Machine Learning Hybrid Compute (MMLHC). Multi-layer neural networks are considered as model of parameter optimization calculation and Apache Mahout implements the algorithms. The experimental results show that the algorithm can effectively remove the noise and singular points of the original input data, optimize the weight parameters and deviations between the layers of the model, and smooth the output data denoising and normal fitting. The index of similarity and accuracy is improved.

      Keywords: recommendation algorithm; machine learning; multi-layer neural network; hidden layer; visual layer

      1? ?引言(Introduction)

      圍繞互聯(lián)網(wǎng)及其應(yīng)用的各類信息技術(shù)持續(xù)地迅猛發(fā)展,各類電子商務(wù)交易系統(tǒng)平臺、網(wǎng)絡(luò)學(xué)習(xí)平臺、音樂社交網(wǎng)絡(luò)應(yīng)用、新聞網(wǎng)站、視頻網(wǎng)站等層出不窮,這些應(yīng)用往往通過建立推薦引擎來為用戶提供令其滿意的個性化優(yōu)質(zhì)服務(wù),而推薦引擎的核心就是推薦算法的設(shè)計實現(xiàn)。目前大多數(shù)的推薦算法是基于內(nèi)容的推薦算法,基于協(xié)同過濾的推薦算法,基于關(guān)聯(lián)規(guī)則知識的推薦算法等。在這些算法中,完成推薦的方式各不相同。有的是通過向量化特征計算相似度,有的是通過建立用戶—物品矩陣并分解矩陣,計算得出物品的特征向量,還有的是通過挖掘關(guān)聯(lián)規(guī)則,由頻繁項集生成強(qiáng)關(guān)聯(lián)規(guī)則,并計算其置信度。在這些算法的研究實現(xiàn)中,大部分對于用戶行為特征屬性、用戶人口屬性、物品特征屬性,以及用戶—物品關(guān)聯(lián)特征屬性等參數(shù)的應(yīng)用方式采用了相似度計算、或模型計算等,當(dāng)與機(jī)器學(xué)習(xí)技術(shù)結(jié)合后,學(xué)習(xí)過程中的特征提取,以及參數(shù)的調(diào)優(yōu)都依賴于事前的手工定義,所以,存在參數(shù)優(yōu)化的效率不高這一問題。因此,本文在這些算法的工作基礎(chǔ)上,設(shè)計了一種可在學(xué)習(xí)過程中持續(xù)自動優(yōu)化參數(shù)的模型,并基于此模型,提出了一種混合推薦算法(MMLHC算法)。該算法通過綜合應(yīng)用各個特征參數(shù),在模型的各層中以交叉關(guān)聯(lián)的方式進(jìn)行學(xué)習(xí),即多次的輸入與輸出的關(guān)聯(lián),初次的參數(shù)輸入經(jīng)過學(xué)習(xí)后,產(chǎn)生了特征的輸出,而這些輸出又作為第二次的輸入,繼續(xù)進(jìn)行學(xué)習(xí)優(yōu)化,一直持續(xù)下去,直到獲取最優(yōu)參數(shù)為止。算法的設(shè)計實現(xiàn)則利用Apache開源的Mahout庫中的類和自定義類,并分別在各自相同的數(shù)據(jù)集Movielens-ml-20M中運行后,計算平均絕對誤差、均方根誤差、準(zhǔn)確率、召回率等指標(biāo),MMLHC算法達(dá)到了較好的推薦效果。

      2? 推薦算法的相關(guān)研究工作(Related studies of recommendation algorithms)

      通過應(yīng)用矩陣分解技術(shù)進(jìn)行重構(gòu)評級矩陣,并與自動編碼方法結(jié)合實現(xiàn)預(yù)測,從而構(gòu)建出推薦系統(tǒng)[1]。估計分布算法[2]則應(yīng)用了真實用戶信息和音頻數(shù)據(jù)高級表示的推薦算法設(shè)計,從用戶感興趣的歌曲特征中捕捉個人的聽力行為,實現(xiàn)了音樂推薦。袁正午等學(xué)者提出一種基于多層次混合相似度的協(xié)同過濾推薦算法[3],改進(jìn)了數(shù)據(jù)稀疏的性能缺陷和單一度量問題。黃震華等學(xué)者綜述了排序技術(shù)與推薦算法融合的各類算法技術(shù),對關(guān)鍵技術(shù)和應(yīng)用進(jìn)展等進(jìn)行概括、比較和分析[4],并提出未來的發(fā)展趨勢。楊佳莉等學(xué)者提出一種自適應(yīng)混合協(xié)同推薦算法,該算法基于張量分解計算物品間的相似度,通過短路徑枚舉疊加生成預(yù)測結(jié)果[5]。曹占偉等學(xué)者提出了結(jié)合LDA主題模型的矩陣分解推薦算法[6],解決了冷啟動及數(shù)據(jù)稀疏問題。楊豐瑞等學(xué)者提出一種結(jié)合特征傳遞和概率矩陣分解的社交網(wǎng)絡(luò)推薦算法[7],實現(xiàn)概率矩陣因式分解,緩解冷啟動并提高了算法的精確度。劉晴晴等學(xué)者提出基于SVD填充的混合推薦算法[8],采用奇異值分解技術(shù)分解項目評分矩陣[8],獲得了優(yōu)化的評分結(jié)果。

      3? 混合推薦算法設(shè)計與模型(Design and model of the hybrid recommendation algorithm)

      傳統(tǒng)的推薦算法中的參數(shù)調(diào)優(yōu),以及學(xué)習(xí)過程中的特征提取依賴于事前的手動定義,參數(shù)優(yōu)化的效率不高,針對參數(shù)優(yōu)化問題,本文提出一種多層神經(jīng)網(wǎng)絡(luò)模型,結(jié)合算法中的迭代計算解決該問題。

      3.1? ?模型與算法設(shè)計

      在機(jī)器學(xué)習(xí)領(lǐng)域,主要的理論基礎(chǔ)是概率論、數(shù)理統(tǒng)計、線性代數(shù)和數(shù)學(xué)分析,其核心技術(shù)是數(shù)據(jù)、算法和模型的綜合應(yīng)用。本文所提出的MMLHC算法涉及其中的邏輯回歸與神經(jīng)網(wǎng)絡(luò),邏輯回歸是數(shù)據(jù)分析中的常用算法,它輸出概率估算值,并將此值用Sigmoid函數(shù)映射到[0,1],以實現(xiàn)樣本分類。神經(jīng)網(wǎng)絡(luò)則是基于歷史數(shù)據(jù)構(gòu)建的模型,隨新數(shù)據(jù)的產(chǎn)生進(jìn)行動態(tài)優(yōu)化,并應(yīng)用新數(shù)據(jù)重新訓(xùn)練模型,以及調(diào)整參數(shù)值。

      MMLHC算法所用的模型是基于多層神經(jīng)網(wǎng)絡(luò)的模型,其結(jié)構(gòu)如圖1所示。當(dāng)該模型處于工作狀態(tài)時,其權(quán)重參數(shù)是需要進(jìn)行調(diào)整的,之后可以使各個單元的狀態(tài)發(fā)生改變,最終讓整個網(wǎng)絡(luò)的誤差函數(shù)最小化,由此可以去除輸入數(shù)據(jù)的噪聲,并將其作為整體來提取特征。

      在輸入數(shù)據(jù)中存在不完整、被破壞的情況,這是帶有噪聲的輸入數(shù)據(jù)。設(shè)輸入數(shù)據(jù)(含中間輸入,即輸出再次作為輸入)單元集合,模型的最終輸出(即可視層)單元集合。隱藏層單元集合。在輸入數(shù)據(jù)中,用于表示帶噪聲的輸入數(shù)據(jù),則隱藏層單元的輸出,可視層單元的輸出分別表示如下:

      式(1)中,代表隱藏層的偏差,代表隱藏層的權(quán)重,式(2)中,代表可視層的偏差,代表可視層的權(quán)重。是邏輯回歸函數(shù)。根據(jù)算法的模型結(jié)構(gòu),輸入層到隱藏層有一個映射過程,稱輸入帶噪聲的數(shù)據(jù)并映射到隱藏層的過程為編碼。反之,將編碼后的數(shù)據(jù)反向再變?yōu)樵驾斎霐?shù)據(jù)的過程稱為解碼。則估計函數(shù)可以表示為一個對數(shù)似然函數(shù),這個對數(shù)似然函數(shù)是關(guān)于和的。

      式(3)中,模型的參數(shù)由表示,它包括了可視層與隱藏層的偏差和權(quán)重。通過計算出參數(shù)的梯度,并依次求導(dǎo),在此過程中,應(yīng)用邏輯回歸函數(shù)求導(dǎo),由這些求導(dǎo)計算得出各個參數(shù)的更新,即權(quán)重的更新以及偏差的更新,同時還確定了參數(shù)優(yōu)化迭代的次數(shù),最終完成模型參數(shù)的計算。

      為便于求導(dǎo)計算,應(yīng)用換元法,引入兩個中間變量和,分別替換式(1)和式(2)中的函數(shù)中的自變量表達(dá)式,如下所示:

      在推薦算法的設(shè)計中,對基于內(nèi)容的過濾與協(xié)同過濾方法的綜合應(yīng)用,形成了混合推薦算法。模型的參數(shù)包含了用戶評分、用戶—物品關(guān)聯(lián)特征、用戶之間的相似度、項之間的相似度等。

      MMLHC算法的實現(xiàn)依賴于模型的逐層訓(xùn)練,并在此過程中進(jìn)行參數(shù)的優(yōu)化調(diào)節(jié)。逐層訓(xùn)練分為兩個階段,第一個階段是預(yù)訓(xùn)練,第二個階段則是精確調(diào)校。在整個網(wǎng)絡(luò)模型中,權(quán)重參數(shù)與偏差在模型的各個層之間都需要進(jìn)行調(diào)整。因此,模型中的前面層向后傳遞的值會成為當(dāng)前層的輸入,輸入輸出的角色動態(tài)地交替。由模型的輸入層輸入數(shù)據(jù),經(jīng)過隱藏層后再回到輸入層,而此時的輸入層就會承擔(dān)輸出層的作用,但同時它也依然不會拋棄輸入的職責(zé)。在這個過程中,模型算法會調(diào)整網(wǎng)絡(luò)的權(quán)重參數(shù),同時消除誤差。那么,前層學(xué)習(xí)到的特征會成為當(dāng)前層的輸入,所以,在整個模型中,輸入數(shù)據(jù)會從逐層學(xué)習(xí)到新特征。

      在模型的預(yù)訓(xùn)練階段,通過權(quán)重參數(shù)的調(diào)節(jié)以更好地匹配通用特征,同時減少噪聲部分的權(quán)重參數(shù)。在模型的精確調(diào)校階段,進(jìn)行有監(jiān)督的機(jī)器學(xué)習(xí),即監(jiān)督訓(xùn)練,以解決分類問題,完成目標(biāo)的推薦。MMLHC算法結(jié)合Apache Mahout庫中的推薦引擎實現(xiàn)了混合推薦的指標(biāo)計算,即相似度參數(shù)、預(yù)測準(zhǔn)確度、均方根誤差、準(zhǔn)確率和召回率。

      3.2? ?實驗驗證

      算法的實驗驗證基于單機(jī)運行方式下完成,硬件配置如下:CPU是Intel Core i7-4790@3.60GHz,內(nèi)存32GB,操作系統(tǒng)為Windows7-64位。軟件配置,基于Maven插件的Eclipse4.11.0,配置Apache Mahout 0.13.0,單機(jī)運行,無Hadoop配置。Windows7操作系統(tǒng)下安裝JDK12.0.1,并配置好相應(yīng)的環(huán)境變量。訓(xùn)練與測試數(shù)據(jù)集應(yīng)用Movielens-ml-20M。

      在Eclipse4.11.0中運行各個自定義實現(xiàn)類,經(jīng)過迭代優(yōu)化后,調(diào)用相應(yīng)的方法獲取輸出數(shù)據(jù)。在實驗中,模型初始參數(shù)設(shè)定為隱藏層單元數(shù)20,輸入/輸出層單元數(shù)200,可視層單元數(shù)200,預(yù)訓(xùn)練階段迭代次數(shù)最大1000,精確調(diào)校階段迭代次數(shù)最大1000,預(yù)訓(xùn)練階段學(xué)習(xí)率20%,精確調(diào)校階段學(xué)習(xí)率15%。分別給出四組原始輸入數(shù)據(jù)(即含噪聲的輸入數(shù)據(jù)),運行并采集優(yōu)化后的輸出數(shù)據(jù)。得出圖2、圖3、圖4、圖5的四組對比,原始輸入明顯存在奇異點,這是包含損毀噪聲的數(shù)據(jù),而輸出的結(jié)果則顯示去除噪聲后的平滑特征,并且與原始數(shù)據(jù)正常擬合,未有欠擬合及過擬合現(xiàn)象。實驗結(jié)果驗證了算法模型具有較好的參數(shù)優(yōu)化能力。

      推薦算法的評測指標(biāo)可在不同的方面反映出算法的性能。在實驗中,通過相似度的計算來標(biāo)明各個屬性特征之間的量化相關(guān)性,并作為推薦結(jié)果的評價依據(jù)。表1分別比較了MMLHC算法、ECFA算法[1]、CFRA算法[3]各自的皮爾遜相關(guān)系數(shù)、余弦向量相似度、對數(shù)似然相似度的計算結(jié)果。從表中可以看出,它們的相似度指標(biāo)近乎一致,至多相差1%—2%,因此,在相似度指標(biāo)的評價中,這幾個算法具有相同的性質(zhì)。

      除相似度外,均方根誤差、準(zhǔn)確率及召回率的計算比較如表2所示。表中反映出MMLHC算法相比于其他算法,均方根誤差略低,準(zhǔn)確率與召回率高出3%,性能上的提高得益于算法模型中對參數(shù)的迭代優(yōu)化,最終使得屬性特征的提取數(shù)據(jù)達(dá)到了最優(yōu)狀態(tài),驗證了算法的較好精確度。

      4? ?結(jié)論(Conclusion)

      基于MMLHC算法模型結(jié)構(gòu)與Apache Mahout庫結(jié)合,實現(xiàn)了一種混合推薦算法。算法模型建立在多層神經(jīng)網(wǎng)絡(luò)之上,通過對權(quán)重參數(shù)的迭代優(yōu)化計算,排除了損毀數(shù)據(jù)對屬性特征提取的干擾,降低了整個模型網(wǎng)絡(luò)的誤差,輸出最優(yōu)參數(shù)。通過實驗驗證了該算法的相關(guān)度以及精確度,達(dá)到了較好的狀態(tài)。

      今后的研究將進(jìn)一步著眼于提高算法的性能,充分利用Mahout庫支持分布式系統(tǒng)的特征。將Mahout庫配置于Hadoop之上,可獲得分布式計算的能力,在此基礎(chǔ)上,繼續(xù)改進(jìn)算法的性能,并使之能滿足大容量特征數(shù)據(jù)的處理需求。

      參考文獻(xiàn)(References)

      [1] F.STRUB, J MARY, R GAUDEL. Hybrid recommender system based on autoencoders [C]. in Proc. of the 1st Workshop on Deep Learning for Recommender Systems (DLRS 2016), Boston, 2016: 11-16.

      [2] P CHILIGUANO, G FAZEKAS. Hybrid music recommender using content-based and social information[C]. in Proc. of the 2016 IEEE International Conference on Acoustics, Speech and Signal Processing(ICASSP2016), Shanghai, China, 2016: 28-38.

      [3] 袁正午,陳然.基于多層次混合相似度的協(xié)同過濾推薦算法[J].計算機(jī)應(yīng)用,2018,38(3):633-638.

      [4] 黃震華,張佳雯,田春岐,等.基于排序?qū)W習(xí)的推薦算法研究綜述[J].軟件學(xué)報,2016,27(3):691?713.

      [5] 楊佳莉,李直旭,許佳捷,等.一種自適應(yīng)的混合協(xié)同過濾推薦算法[J].計算機(jī)工程,2019,45(7):222-228.

      [6] 曹占偉,胡曉鵬.一種結(jié)合主題模型的推薦算法[J].計算機(jī)應(yīng)用研究,2019,36(6):1638-1642.

      [7] 楊豐瑞,鄭云俊,張昌.結(jié)合概率矩陣分解的混合型推薦算法[J].計算機(jī)應(yīng)用,2018,38(3):644-649.

      [8] 劉晴晴,羅永龍,汪逸飛.基于SVD 填充的混合推薦算法[J].計算機(jī)科學(xué),2019,46(6A):468-472.

      作者簡介:

      唐? 科(1969-),男,碩士,講師/經(jīng)濟(jì)師.研究領(lǐng)域:移動互聯(lián)應(yīng)用,JavaEE軟件開發(fā),機(jī)器學(xué)習(xí).

      猜你喜歡
      推薦算法機(jī)器學(xué)習(xí)
      校園社交平臺中標(biāo)簽系統(tǒng)的研究
      基于詞典與機(jī)器學(xué)習(xí)的中文微博情感分析
      基于相似傳播和情景聚類的網(wǎng)絡(luò)協(xié)同過濾推薦算法研究
      社交網(wǎng)絡(luò)推薦系統(tǒng)
      基于網(wǎng)絡(luò)搜索數(shù)據(jù)的平遙旅游客流量預(yù)測分析
      混合推薦算法在電影推薦中的研究與評述
      前綴字母為特征在維吾爾語文本情感分類中的研究
      一種改進(jìn)的基于位置的推薦算法
      基于支持向量機(jī)的金融數(shù)據(jù)分析研究
      基于情景感知的高校移動社交網(wǎng)絡(luò)平臺設(shè)計與開發(fā)
      曲阳县| 镇康县| 酒泉市| 桐庐县| 苍山县| 呼玛县| 抚松县| 扬中市| 包头市| 南通市| 饶阳县| 广西| 鄂州市| 永康市| 辽阳市| 陵水| 洪泽县| 城步| 铁力市| 青龙| 平原县| 光泽县| 石家庄市| 纳雍县| 喀喇沁旗| 天峨县| 农安县| 丹棱县| 阳高县| 台江县| 繁峙县| 滨州市| 海伦市| 恭城| 舞钢市| 平安县| 岑巩县| 秦皇岛市| 石渠县| 平罗县| 龙岩市|