趙曉宇
摘要:為更加準(zhǔn)確的為制造服務(wù)需求方推薦制造服務(wù)供應(yīng)商,提高云制造平臺(tái)的運(yùn)行效率,本文將BP神經(jīng)網(wǎng)絡(luò)與協(xié)同過(guò)濾算法相結(jié)合,構(gòu)造了一個(gè)制造服務(wù)供應(yīng)商推薦系統(tǒng)。系統(tǒng)結(jié)合了神經(jīng)網(wǎng)絡(luò)強(qiáng)大的非線性擬合能力以及協(xié)同過(guò)濾推薦算法的可解釋性,從而更加精準(zhǔn)的為制造服務(wù)需求方提供推薦服務(wù)。最終發(fā)現(xiàn),本文提出的系統(tǒng)推薦準(zhǔn)確率要優(yōu)于傳統(tǒng)的協(xié)同過(guò)濾推薦算法。
Abstract: In order to recommend manufacturing service providers for manufacturing service demanders more accurately and improve the operational efficiency of cloud manufacturing platform, a manufacturing service provider recommendation system is constructed by combining BP neural network with collaborative filtering algorithm. The system combines the strong non-linear fitting ability of neural network and the interpretability of collaborative filtering recommendation algorithm, so as to provide more accurate recommendation services for manufacturing service demanders. Finally, it is found that the proposed system recommendation accuracy is better than the traditional collaborative filtering recommendation algorithm.
關(guān)鍵詞:云制造;BP神經(jīng)網(wǎng)絡(luò);協(xié)同過(guò)濾;推薦
Key words: cloud manufacturing;BP neural network;collaborative filtering;recommendation
中圖分類(lèi)號(hào):TP391.3 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?文章編號(hào):1006-4311(2019)20-0128-03
0 ?引言
智能制造是實(shí)現(xiàn)制造企業(yè)信息化的重要途徑之一,而云制造是實(shí)現(xiàn)智能制造的一個(gè)重要方式。云制造主要運(yùn)用互聯(lián)網(wǎng)技術(shù)搭建一個(gè)制造資源共享云平臺(tái),平臺(tái)將匯集制造企業(yè)的剩余制造資源、制造能力,并將其提供給制造資源需求者。這種制造方式可以有效地降低制造資源需求方的制造成本,同時(shí)也能夠充分利用制造資源供應(yīng)商的剩余制造資源。
制造服務(wù)推薦是云平臺(tái)的功能之一,快速準(zhǔn)確地為制造資源需求方推薦制造資源供應(yīng)商能夠有效提高云平臺(tái)的運(yùn)作效率,同時(shí)也能夠極大的提升云平臺(tái)的用戶體驗(yàn)。因此,提升云平臺(tái)制造資源供應(yīng)商推薦準(zhǔn)確率對(duì)于云平臺(tái)良好運(yùn)營(yíng)至關(guān)重要。
1 ?環(huán)境描述
在現(xiàn)實(shí)生活中,商品種類(lèi)繁多,消費(fèi)者往往只購(gòu)買(mǎi)過(guò)其中一部分商品。然而,在其未購(gòu)買(mǎi)過(guò)的商品中也許會(huì)存在符合消費(fèi)者需求的某種商品,為了避免消費(fèi)者錯(cuò)過(guò)符合其需求的商品,應(yīng)當(dāng)為消費(fèi)者進(jìn)行合理準(zhǔn)確的商品推薦。推薦已經(jīng)逐漸成為了商品交易系統(tǒng)的一項(xiàng)基本功能,例如天貓、京東等電商平臺(tái)均已集成了商品推薦功能。
本文的目標(biāo)是構(gòu)建一個(gè)推薦系統(tǒng),通過(guò)構(gòu)建的推薦系統(tǒng)能夠更加精確的將制造服務(wù)供應(yīng)商推薦至制造服務(wù)需求方出。精準(zhǔn)的推薦能夠減少交易的時(shí)間成本,提高交易效率,另一方面也能夠增加云制造平臺(tái)用戶的用戶體驗(yàn),進(jìn)而保證云平臺(tái)的良好運(yùn)營(yíng)。
本文假設(shè)存在一個(gè)云制造平臺(tái),且平臺(tái)上具有多個(gè)參與者以及多種制造服務(wù)。當(dāng)某一制造服務(wù)需求方購(gòu)買(mǎi)其需求的制造服務(wù)后,需對(duì)制造服務(wù)供應(yīng)商的當(dāng)前次制造服務(wù)進(jìn)行評(píng)分,評(píng)分角度應(yīng)從制造平臺(tái)所設(shè)定的多個(gè)指標(biāo)所出發(fā)。當(dāng)用戶再次購(gòu)買(mǎi)制造服務(wù)時(shí),系統(tǒng)根據(jù)歷史數(shù)據(jù)為其進(jìn)行制造服務(wù)供應(yīng)商的推薦。
本文的研究背景正是基于這樣一種環(huán)境,符號(hào)描述如下所示:
①平臺(tái)參與者:m1,m2,m3,…,mN,其中mi為第i個(gè)參與則,其既可以作為制造服務(wù)供應(yīng)商,也可以做作為造服務(wù)需求方。
②制造服務(wù)種類(lèi):s1,s2,s3,…,sp平臺(tái)共有p種制造服務(wù),其中si為第i種制造服務(wù)。
③評(píng)價(jià)指標(biāo):i1,i2,i3,…,im,為m個(gè)評(píng)價(jià)指標(biāo),當(dāng)制造服務(wù)交易完成后,制造服務(wù)需求方可以從這些指標(biāo)出發(fā),對(duì)當(dāng)前制造服務(wù)供應(yīng)商此次制造服務(wù)進(jìn)行評(píng)分,分值為1~10分。
④Tb:每個(gè)平臺(tái)參與者作為制造服務(wù)sb供應(yīng)商時(shí),在各個(gè)指標(biāo)上被評(píng)分的均值。如果制造服務(wù)供應(yīng)商沒(méi)有該項(xiàng)制造服務(wù),則其各個(gè)指標(biāo)評(píng)分為均為0,如表1所示。
其中,vij表示第i個(gè)平臺(tái)參與者作為制造服務(wù)sb的供應(yīng)商在第j個(gè)指標(biāo)上的平均得分。
⑤Bb:制造服務(wù)sb的交易矩陣,如表2所示。
其中,tij表示mi購(gòu)買(mǎi)mj的sb制造服務(wù)的次數(shù)。
⑥IDab:表示ma在購(gòu)買(mǎi)制造服務(wù)sb的側(cè)重指標(biāo)集合,例如IDab={i2,i5,i7}表示ma在購(gòu)買(mǎi)服務(wù)sb時(shí)側(cè)重于i2,i5,i7這三個(gè)指標(biāo)。
⑦M(jìn)b:表示所有供應(yīng)商的sb制造服務(wù)在IDab指標(biāo)上的平均得分,假設(shè)IDab=k,則Mb如表3所示。
顯然,表3為表1的一個(gè)子集。
⑧Eab:表中數(shù)值為ma提供過(guò)sb制造服務(wù)的供應(yīng)商在側(cè)重指標(biāo)IDab上的平均得分,假設(shè)側(cè)重指標(biāo)總共有K個(gè),Eab如表4所示。
最后一列為ma購(gòu)買(mǎi)當(dāng)前sb服務(wù)供應(yīng)商的sb制造服務(wù)的次數(shù),代表了ma對(duì)當(dāng)前sb制造服務(wù)供應(yīng)商的喜好程度。顯然表4為表3的一個(gè)子集。
2 ?模型構(gòu)建
假設(shè)制造服務(wù)需求方為ma,所需求的制造服務(wù)種類(lèi)為制造服務(wù)sb。針對(duì)ma的需求,通過(guò)模型計(jì)算,最終將制造服務(wù)sb供應(yīng)商推薦優(yōu)先級(jí)進(jìn)行排序,之后推薦至制造服務(wù)sb需求方ma處。
2.1 BP神經(jīng)網(wǎng)絡(luò)的構(gòu)建
神經(jīng)網(wǎng)絡(luò)是機(jī)器學(xué)習(xí)中常用的一種預(yù)測(cè)模型,由于隱層以及激活函數(shù)的存在,使得神經(jīng)網(wǎng)絡(luò)具有了超強(qiáng)的非線性擬合能力。神經(jīng)網(wǎng)絡(luò)既可以解決分類(lèi)問(wèn)題,也可以解決回歸問(wèn)題,本文將運(yùn)用神經(jīng)網(wǎng)絡(luò)解決回歸問(wèn)題。
本文首先構(gòu)建一個(gè)三層bp神經(jīng)網(wǎng)絡(luò),將Eab作為神經(jīng)網(wǎng)絡(luò)的訓(xùn)練數(shù)據(jù),每一行為一個(gè)樣本。Eab的第一列至倒數(shù)第二列為樣本特征數(shù)據(jù),最后一列為樣本標(biāo)記。
神經(jīng)網(wǎng)絡(luò)輸入層神經(jīng)元個(gè)數(shù)為IDab(IDab中元素的個(gè)數(shù))個(gè),隱層神經(jīng)元個(gè)數(shù)為超參數(shù)需要進(jìn)行進(jìn)一步調(diào)節(jié),輸出層神經(jīng)元個(gè)數(shù)為1,最終輸出ma對(duì)當(dāng)前制造服務(wù)供應(yīng)商的喜好程度。神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
將某個(gè)制造服務(wù)sb供應(yīng)商在IDab上的平均得分輸入至訓(xùn)練后的神經(jīng)網(wǎng)絡(luò),輸出ma為對(duì)當(dāng)前供應(yīng)商的喜好程度。將表3再次輸入訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)即可得到ma對(duì)于每個(gè)制造服務(wù)sb供應(yīng)商的喜好程度,從中選出喜好程度最大的制造服務(wù)sb供應(yīng)商記為mmax。
2.2 協(xié)同過(guò)濾推薦
協(xié)同過(guò)濾推薦算法是一種經(jīng)典的推薦算法,其分為基于用戶的協(xié)同過(guò)濾算法以及基于物品的協(xié)同過(guò)濾算法,本文采用基于物品的協(xié)同過(guò)濾算法。
基于物品的協(xié)同過(guò)濾算法的核心思想為找到與目標(biāo)用戶所喜好物品相似的物品推薦給目標(biāo)用戶。如圖2所示,喜歡物品A的用戶都喜歡物品C,因此判定物品A與物品C較為相似,而ma喜歡物品A,因此可將物品C推薦給ma。
本文中需要運(yùn)用表2找出與供應(yīng)商mmax最相似的sb服務(wù)供應(yīng)商,并按照相似程度進(jìn)行排序,將相似度排名前q位的制造服務(wù)供應(yīng)商推薦給ma。
3 ?算例分析
考慮在一個(gè)云平臺(tái)上共有100家企業(yè),記為m1,m2,…m100;云平臺(tái)上總共有20種制造服務(wù),記為s1,s2,s3,…,s20;20個(gè)評(píng)價(jià)指標(biāo),記為i1,i2,i3,…,i20。通過(guò)尋找100個(gè)具有相關(guān)專業(yè)背景的本科生作為云平臺(tái)參與者進(jìn)行情境模擬,并獲取相關(guān)數(shù)據(jù)。
現(xiàn)制造服務(wù)需求方m15需要購(gòu)買(mǎi)制造服務(wù)s3,T3如表5所示。
之后,運(yùn)用python編程語(yǔ)言,通過(guò)第三方深度學(xué)習(xí)框架tensorflow進(jìn)行神經(jīng)網(wǎng)絡(luò)的搭建,接著將E153中的數(shù)據(jù)進(jìn)行隨機(jī)劃分,其中25%的數(shù)據(jù)作為測(cè)試集用于模型測(cè)試,剩余75%的數(shù)據(jù)作為訓(xùn)練集用作模型訓(xùn)練,訓(xùn)練過(guò)程中訓(xùn)練集及測(cè)試集損失函數(shù)值如圖3所示。
通過(guò)神經(jīng)網(wǎng)絡(luò)訓(xùn)練過(guò)程中訓(xùn)練集以及測(cè)試集的損失函數(shù)值的變化趨勢(shì)可以看出神經(jīng)網(wǎng)絡(luò)迭代訓(xùn)練至5000次時(shí)已經(jīng)收斂。與此同時(shí)還可以看出,測(cè)試集損失要低于訓(xùn)練集損失,也就表明模型具有一定的泛化能力。
之后,將M3再次輸入神經(jīng)網(wǎng)絡(luò)獲得m15對(duì)于所有供應(yīng)商的喜好程度,其中喜好程度最大的供應(yīng)商為m65,其喜好程度為30.20369。
式中d(x,y)表示x,y之間的歐氏距離。顯然,歐氏距離越大則相似度越小。未對(duì)m15提供過(guò)制造服務(wù)s3的制造服務(wù)供應(yīng)商按照與m65的相似度進(jìn)行排序,將相似度排名前10位的制造服務(wù)供應(yīng)商推薦至制造服務(wù)需求方,相似度從大到小前10名的制造服務(wù)供應(yīng)商依次為m65,m34,m32,m6,m45,m83,m91,m41,m22,m82,隨后將其推薦至制造服務(wù)s3需求方m15處。
最終通過(guò)10次試驗(yàn)對(duì)比發(fā)現(xiàn)bp神經(jīng)網(wǎng)絡(luò)-協(xié)同過(guò)濾算法的推薦準(zhǔn)確率要優(yōu)于單純使用協(xié)同過(guò)濾算法,如圖4所示。
4 ?結(jié)論
為了提高云制造供應(yīng)商推薦準(zhǔn)確率,本文通過(guò)將神經(jīng)網(wǎng)絡(luò)與協(xié)同過(guò)濾算法相結(jié)合,構(gòu)建了一個(gè)云制造供應(yīng)商推薦系統(tǒng)。推薦系統(tǒng)綜合了神經(jīng)網(wǎng)絡(luò)的非線性擬合能力以及協(xié)同過(guò)濾算法的可解釋性。所提出的推薦系統(tǒng)的具體工作流程為:①運(yùn)用歷史數(shù)據(jù)以及所構(gòu)造的神經(jīng)網(wǎng)絡(luò)可以預(yù)測(cè)得知制造服務(wù)需求方對(duì)于制造服務(wù)供應(yīng)商的喜好程度。②獲取制造服務(wù)需求方喜好程度最高的制造服務(wù)供應(yīng)商并計(jì)算其與其他供應(yīng)商的相似度。③隨后按相似度從高到低對(duì)供應(yīng)商進(jìn)行排序,將相似度較高的制造服務(wù)供應(yīng)商推薦至制造服務(wù)需求方。最后,運(yùn)用提出的系統(tǒng)進(jìn)行了算例分析,通過(guò)模擬100家制造企業(yè)之間的交易來(lái)獲取數(shù)據(jù)。運(yùn)用所得數(shù)據(jù)對(duì)神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,最終為制造服務(wù)需求方進(jìn)行供應(yīng)商推薦。通過(guò)10次實(shí)驗(yàn)發(fā)現(xiàn),本文提出的系統(tǒng)推薦準(zhǔn)確率均高于單獨(dú)使用協(xié)同過(guò)濾算法的推薦準(zhǔn)確率。
參考文獻(xiàn):
[1]馬言春,彭志平.基于市場(chǎng)機(jī)制的云服務(wù)管理研究[J].計(jì)算機(jī)技術(shù)與發(fā)展,2012(3):214-216.
[2]王宗武.基于用戶聚類(lèi)的協(xié)同推薦算法研究[D].廣東工業(yè)大學(xué),2013.
[3]高睿.基于深度神經(jīng)網(wǎng)絡(luò)的視頻個(gè)性化推薦系統(tǒng)研究[D].深圳大學(xué),2017.
[4]孫曉琳.云制造環(huán)境下供應(yīng)商匹配方法研究[D].2016.
[5]印桂生,崔曉暉,馬志強(qiáng).遺忘曲線的協(xié)同過(guò)濾推薦模型[J]. 哈爾濱工程大學(xué)學(xué)報(bào),2012,33(01):85-90.
[6]榮輝桂,火生旭,胡春華,等.基于用戶相似度的協(xié)同過(guò)濾推薦算法[J].通信學(xué)報(bào),2014(2).
[7]練緒寶.基于排序?qū)W習(xí)和卷積神經(jīng)網(wǎng)絡(luò)的推薦算法研究[D].大連理工大學(xué),2016.
[8]程磊,高茂庭.基于深度神經(jīng)網(wǎng)絡(luò)的推薦算法[J].現(xiàn)代計(jì)算機(jī)(專業(yè)版),2018(22):5-9.