顧強
摘要:提出了一種用于手機終端產(chǎn)品推薦的預測模型。詳細設計了用戶特征提取模塊和終端產(chǎn)品特征提取模塊;結合多層感知機模型和基于文本的卷積神經(jīng)網(wǎng)絡模型對用戶和終端產(chǎn)品的特征進行提取;利用提取到的特征,進行評分預測和終端產(chǎn)品推薦。實驗結果表明,該模型在經(jīng)過一定時間的訓練后,參數(shù)得到優(yōu)化,可以取得較穩(wěn)定的預測推薦結果。
關鍵詞:深度學習;卷積神經(jīng)網(wǎng)絡;推薦模型;預測算法
中圖分類號:TP393 文獻標識碼:A 文章編號:1006-8228(2020)07-30-04
0引言
推薦系統(tǒng)在今天的網(wǎng)絡平臺中無處不在,無論是網(wǎng)絡購物、社交平臺、音樂、新聞網(wǎng)站等等,都能見到系統(tǒng)推薦的商品列表,并可針對個性化偏好進行推薦”。當今,隨著智能終端產(chǎn)品的發(fā)展日新月異,面對紛繁復雜的終端產(chǎn)品,如何選擇一個適合自己的產(chǎn)品,是許多消費者亟待解決的問題。
本文以終端手機品牌型號推薦為例,通過深度學習技術建立一個手機終端產(chǎn)品的推薦預測模型,研究消費者選購終端產(chǎn)品時的喜好,從而可以為終端產(chǎn)品廠商提供進一步研發(fā)的方向。
深度學習作為一個新興技術,現(xiàn)已在圖像識別、語音處理和交通控制等各領域取得了成功的應用。首先,深度學習可通過人工神經(jīng)網(wǎng)絡強大的非線性學習能力,從龐大的數(shù)據(jù)樣本中抽象出用戶和商品數(shù)據(jù)集的特征,獲取用戶和項目隱含的特征表示。其次,深度學習自動學習特征的能力是非常出色的,它能夠?qū)⒉煌Y構層次的數(shù)據(jù)特征提取出來,并統(tǒng)一量化特征,映射到一個抽象空間中。因此可以考慮將其與傳統(tǒng)商品推薦算法進行結合,進而最大化有效利用海量的數(shù)據(jù),避免了人工特征提取的繁瑣與困難,在計算上具有一定優(yōu)勢。所以,本文提出了一種基于卷積神經(jīng)網(wǎng)絡的終端產(chǎn)品推薦預測模型。
1基于卷積神經(jīng)網(wǎng)絡的特征提取模塊
在終端產(chǎn)品推薦預測模型中,首先要進行用戶特征和終端特征的提取。基于卷積神經(jīng)網(wǎng)絡的終端產(chǎn)品特征提取模塊可分為三個子模塊:用戶特征提取模塊,終端品牌特征提取模塊和基于神經(jīng)網(wǎng)絡的訓練模塊。
1.1用戶特征提取模塊
終端產(chǎn)品推薦模型的功能是通過學習用戶、終端產(chǎn)品和評分三個數(shù)據(jù)來獲取用戶對不同類型終端產(chǎn)品的偏好,從而將符合相應用戶偏好的終端產(chǎn)品推薦給用戶。其中的核心模塊:兩大信息的特征提取模塊本質(zhì)上是一個篩選分類功能的選擇器,通過神經(jīng)網(wǎng)絡的強大學習功能來從輸入的用戶信息和終端產(chǎn)品屬性的組合中提取用戶和終端產(chǎn)品的特征,之后推薦模塊對這兩類特征采取一定的處理策略來進行打分預測。用戶特征提取模塊圖如圖1。
在本文的推薦模型中,訓練集所包含的數(shù)據(jù)有:用戶的ID,性別,年齡和職業(yè)。當數(shù)據(jù)經(jīng)過嵌入層后,分別量化為四個特征,然后經(jīng)過神經(jīng)網(wǎng)絡的兩個全連接層,用戶的四個功能組件進行拼接和集成,以獲得完整的用戶功能。
嵌入層的功能是將用戶ID,用戶性別,用戶年齡和職業(yè)設置了不同的嵌入矩陣。經(jīng)過訓練逐步調(diào)整各嵌入矩陣權值使得提取得到的局部特征向量越來越具有代表性。
全連接層的功能是將模型學到的分布式特征共同映射到一個大的特征空間中,由于該層使用之前獲取的所有局部特征,因此稱為完全連接層。用戶的全連接層將之前提取到的四個局部特征通過加權處理獲得完整的用戶特征向量。
1.2終端產(chǎn)品特征提取模塊
終端產(chǎn)品特征提取模塊同樣是以一個神經(jīng)網(wǎng)絡為框架,將終端產(chǎn)品ID、終端的型號類型作為嵌入層輸入,終端的品牌作為文本卷積網(wǎng)絡的輸入,并且單獨提取該特征。
如圖2所示,終端的特征提取模塊與用戶模塊類似,先對終端ID和型號類型分別進行嵌入層處理后,由于一部終端手機可能具有多個類型標識,所以先進行一次局部的全連接,之后再和品牌名稱特征進行二次連接,最終得到完整的終端特征。
1.3基于文本的卷積神經(jīng)網(wǎng)絡訓練模塊
考慮到本文中的模型用于處理終端產(chǎn)品名稱,因此將終端產(chǎn)品的名稱用作卷積神經(jīng)網(wǎng)絡的輸入?;谖谋镜木矸e神經(jīng)網(wǎng)絡被分為四層:輸入層、卷積層、匯集層和輸出層。
(1)輸入層:將終端的品牌型號名稱轉(zhuǎn)為相應的嵌入矩陣,方便后續(xù)特征提取。
(2)卷積層:在這一層中,模型選用了窗口大小不相同的眾多卷積核對嵌入層輸出結果做卷積操作,生成可變長度的特征向量。利用迭代更新的權重矩陣w對這些向量求加權和。接著,把結果輸入到激勵函數(shù)中。本文模型選用了Relu函數(shù),記為:
(3)池化層:選取池化窗口中特征值最大的值作為特征來提取??蓪⑵湟曌魈厥獾囊淮尉矸e運算,經(jīng)過池化層后模型便獲取到更加“濃縮的”輸出結果。
(4)輸出層:輸出層接受上述經(jīng)過卷積、池化的向量作為輸入,并對其進行分析進一步完成對于語句的特征提取工作。
2基于卷積神經(jīng)網(wǎng)絡的推薦預測模型
2.1基于卷積神經(jīng)網(wǎng)絡的推薦預測流程
完成數(shù)據(jù)特征提取之后,就可以開始進行終端產(chǎn)品推薦預測模型的訓練。模型中通過反向誤差反饋調(diào)整權值矩陣,可以提高準確率和精度。模型的具體實現(xiàn)流程如圖3所示。
基于卷積神經(jīng)網(wǎng)絡的推薦預測實現(xiàn)步驟如下。
(1)預處理用戶數(shù)據(jù)、終端數(shù)據(jù),以便后續(xù)的網(wǎng)絡可以使用共享權值矩陣進行特征的提取。
(2)初始化神經(jīng)網(wǎng)絡。即經(jīng)過實驗確定神經(jīng)網(wǎng)絡數(shù)據(jù)矩陣的大小、維度,激活函數(shù)的確定,以及損失函數(shù)的計算方式等。
(3)對獲取到的數(shù)據(jù)進行處理,之后利用隨機數(shù)種子將預先獲取到的數(shù)據(jù)劃分成訓練集和測試集。
(4)選取訓練集的部分數(shù)據(jù)作為輸入數(shù)據(jù),根據(jù)嵌入層、文本卷積神經(jīng)網(wǎng)絡中的各層神經(jīng)元的輸入計算輸出,直至達到全連接層II。
(5)提取出訓練后的用戶和終端數(shù)據(jù)的特征,實現(xiàn)待預測的終端產(chǎn)品評分。利用訓練集的預測結果和實際評分結果,通過損失函數(shù)的計算,反向調(diào)整每一層卷積核的權值矩陣w與偏置向量b。
(6)當神經(jīng)網(wǎng)絡的評分預測結果與實際結果是在合理范圍內(nèi),或者迭代步數(shù)完成到所預設的要求時,訓練結束。
(7)完成上述操作后,推薦模型輸入測試用例獲取對應的終端產(chǎn)品推薦列表,算法結束。
2.2基于全連接層的評分預測算法
本文采取全連接層預測算法,來處理用戶特征向量和終端產(chǎn)品特征的特征向量這兩個特征矩陣。全連接層計算評分的算法如圖4所示。
圖4中,左側(cè)為用戶i特征向量,右側(cè)為終端品牌類型j的特征向量,全連接層通過計算每一個特征分量給出最后評分預測。即采用一個全新的權值矩陣(訓練學習得到)分別對用戶特征和終端品牌類型特征進行累積、連接,相當于對經(jīng)過篩選過濾的特征再次進行一遍特征提取,輸出結果的打分范圍是0-5分。用戶特征矩陣和終端產(chǎn)品特征矩陣經(jīng)過“再加工”后,可以得到用戶對不同品牌及類型的終端產(chǎn)品的評分預測。
2.3終端產(chǎn)品推薦預測算法
現(xiàn)階段終端品牌類型的主要推薦方向分為三大類:推薦同類型的終端產(chǎn)品,推薦該用戶可能感興趣的終端產(chǎn)品,和用過該終端產(chǎn)品的人還關注了哪些終端產(chǎn)品。根據(jù)公式(2)計算待測終端產(chǎn)品的特征向量與完整的終端產(chǎn)品的特征矩陣的余弦相似度。其中u;和mi分別代表待測用戶終端產(chǎn)品的特征向量與完整的終端產(chǎn)品的特征向量。余弦值從-1到1變化,以表示相似性越來越高,從而說明兩類終端產(chǎn)品之間的相似性更大。
本文通過處理待推薦用戶的特征向量與完整終端特征矩陣來計算評分,獲取評分最高的前k個終端用于推薦;然后分別計算出這k個用戶最喜歡的終端是什么,來作為對應用戶的推薦結果。
3終端產(chǎn)品推薦預測結果的分析與比較
本實驗平臺是在Anaconda集成環(huán)境下搭建的Tensorflow2.0。
本文選取四組有代表性的數(shù)據(jù)進行實驗,其中,數(shù)據(jù)集合的數(shù)據(jù)量說明如表1所示。
本文選取推薦系統(tǒng)中常用的準確率和召回率作為評估指標,選用獲取到的所有評分記錄作為實際集合,將用戶、終端產(chǎn)品數(shù)據(jù)和評分數(shù)據(jù)(0-5分)通過基于卷積神經(jīng)網(wǎng)絡的終端產(chǎn)品推薦預測模型,記錄下每位用戶對終端產(chǎn)品的預測評分,高于3分則視作推薦,否則視作不推薦。實驗時基于推薦模型預測的打分結果和用戶實際評分對應的標簽對比,來確定準確率和召回率。實驗中隨機選擇部分用戶,該模型對他們進行終端產(chǎn)品推薦預測的準確率和召回率如表2所示。
本文提出的推薦預測模型在訓練初期準確率較低,是因為在訓練途中需要不斷地調(diào)整相關參數(shù),之后在進行了一定時間的訓練后才對這一數(shù)據(jù)集的終端產(chǎn)品推薦有了一定的穩(wěn)定結果,可見模型訓練中的參數(shù)調(diào)整也是非常重要的。表2中,樣本數(shù)為實驗時所獲取到的用戶數(shù)據(jù)對應有多少條終端產(chǎn)品評分項。計算時以現(xiàn)有評分項作為終端產(chǎn)品推薦的評估標準??梢钥闯?,本文中的終端產(chǎn)品推薦預測模型準確率大約在82%上下波動,召回率約在55%上下波動,預測結果是比較理想的。
4結束語
本文提出了一種基于卷積神經(jīng)網(wǎng)絡的終端品牌型號推薦預測模型,該模型首先提取用戶特征和終端特征,然后進行學習和訓練,隨后得出推薦預測得分,從而可以在用戶選擇手機品牌和型號時,精準有效地進行推薦。隨著5G技術的發(fā)展,精準地向消費者進行終端產(chǎn)品推薦,必然可以給用戶帶來更好的消費體驗,也給商家?guī)砀嗟纳虣C。