亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種基于聚類的網(wǎng)絡(luò)結(jié)構(gòu)相似性推薦方法與流程

文檔序號:12802546閱讀:218來源:國知局

本發(fā)明涉及一種信息處理技術(shù)的算法,特別涉及一種基于聚類網(wǎng)絡(luò)結(jié)構(gòu)相似性推薦方法。



背景技術(shù):

現(xiàn)代社會中物質(zhì)資源極大豐富,人民生活水平極大提高,市面上有著各種各樣的物質(zhì)產(chǎn)品和文化產(chǎn)品。每個人的喜好各不相同,每個人都想要找到自己喜愛的產(chǎn)品,個性化的服務(wù)正越來越成為人們關(guān)注的焦點,越來越多的研究者也加入到了研究個性化推薦算法的領(lǐng)域中來。個性化服務(wù)主要是是向用戶推薦其可能感興趣、或者將會購買的產(chǎn)品的信息,使得用戶能夠快速的找到其興趣點。

研究網(wǎng)絡(luò)數(shù)據(jù)的推薦算法,已經(jīng)成為國內(nèi)數(shù)據(jù)挖掘熱點,也產(chǎn)生了很多推薦算法。陳克寒等在論文《基于用戶聚類的異構(gòu)社交網(wǎng)絡(luò)推薦算法》中提出了一種處理冷啟動和數(shù)據(jù)稀疏性的推薦算法gccr。在《多維加權(quán)社會網(wǎng)絡(luò)中的個性化推薦算法》的論文中張華青等使用加權(quán)網(wǎng)絡(luò)不但建立了用戶和商品的關(guān)系網(wǎng)還建立了用戶和用戶的關(guān)系網(wǎng)。在論文《基于項目聚類的協(xié)同過濾推薦算法》鄧愛林等提出了一種根據(jù)用戶評分項判斷產(chǎn)品相似性的聚類推薦算法?,F(xiàn)有聚類推薦方式存在的技術(shù)缺陷:精度低、計算時間長。



技術(shù)實現(xiàn)要素:

為了克服傳統(tǒng)推薦方法的精度較低、計算時間較長的不足,本發(fā)明提出了一種精度較高、計算時間較短的基于聚類的網(wǎng)絡(luò)結(jié)構(gòu)相似性推薦方法。

本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:

一種基于聚類的網(wǎng)絡(luò)結(jié)構(gòu)相似性推薦方法,所述推薦方法包括以下步驟:

步驟1:在數(shù)據(jù)庫中標(biāo)記用戶形成集合user={u1,u2,u3…un};

步驟2:在集合user中選擇k個用戶作為聚類中心,形成集合uc={uc1,uc2,…uck},所述uck代表一個聚類中心用戶;

步驟3:初始化k個聚類集合c={c1,c2,c3…ck},所述ck代表包含有用戶聚類中心uck和與uck相似度高的其他用戶的集合;

步驟4:計算用戶un與聚類中心uck的相似度,將用戶un歸類為某一聚類集合ck中;

步驟5:計算每個聚類ck中每種產(chǎn)品被購買的次數(shù),將數(shù)量大于閥值b*n的產(chǎn)品標(biāo)記出來作為特征商品,b為0~1之間的預(yù)設(shè)系數(shù);

步驟6:計算需要推薦的用戶ui與每個聚類中心的相似性,將ui歸為某一聚類ck中;

步驟7:計算ui與ck特征向量的值,得出推薦列表。

進(jìn)一步,所述步驟1中,用戶集合user={u1,u2,u3…un}中每一個un包含用戶所購買過的產(chǎn)品信息,un代表用戶購買產(chǎn)品的行向量。

再進(jìn)一步,所述步驟2中,使用公式(1)計算用戶的購買指數(shù),選擇購買指數(shù)較高的前幾個用戶作為聚類中心,步驟如下:

步驟2.1使用公式(1)計算用戶的購買指數(shù),計算后的數(shù)值直接保存在c向量中,公式(1)中是元素全為1的一維列向量,c是一維行向量;

a×α1=c(1)

步驟2.2使用循環(huán)程序計算,當(dāng)h<k-1,d<k-1-h時,比較cd和cd+1的大小,如果cd<cd+1,將cd和cd+1中的值互換,將d+1賦值給ranki,將d賦值給ranki+1,所述rank是包含了用戶標(biāo)號d順序的列向量,ranki代表向量rank中的第i個元素;

步驟2.3:取rank中前k個用戶的標(biāo)號賦值給聚類中心,形成集合uc={uc1,uc2,uc3…uck}。

再進(jìn)一步,所述步驟4中,用戶un聚類的步驟如下:

步驟4.1:當(dāng)f<k,t<n時,利用循環(huán)程序通過公式(2)計算用戶un與聚類中心uck的相似度。

simtf=ut×ucf′(2)

步驟4.2:將un放入simtf最大的對應(yīng)的聚類集合ck中。

再進(jìn)一步,所述步驟5中,利用循環(huán)程序計算每個類中每種產(chǎn)品被購買的次數(shù),再將產(chǎn)品按購買次數(shù)的多少進(jìn)行排序得到每個聚類的購買特性向量,步驟如下:

步驟5.1:利用公式(3)提取聚類集合ck中用戶共同購買特征,其中α′1={1,1,…,1}是一維行向量,traitk是包含用戶購買特征的一維行向量;

α′1×ck=traitk(3)

步驟5.2:利用公式(4)對traitk中的數(shù)據(jù)進(jìn)行特征處理,對于traitkj-0.6k>0的數(shù),將trij中的對應(yīng)位置賦值為1,traitkj-0.6k<0時賦值為0,traitkj代表第k個聚類中關(guān)于第j個產(chǎn)品的特征值,tri是將traitkj中對應(yīng)的產(chǎn)品標(biāo)記出來的列向量,trij代表tri中的第j個元素;

再進(jìn)一步,所述步驟6中,計算ui與每個聚類中心的相似性,步驟如下:

6.1:使用公式(5)計算需要推薦的用戶ui和聚類中心uck之間的相似性,simik代表用戶ui和聚類中心uck的相似性;

simik=ui×uck(5)

步驟6.2:將ui歸為相似性最大的聚類uck中。

更進(jìn)一步,所述步驟7中,利用公式(6)對ui和uck的特征向量進(jìn)行與非運算得到推薦列表:

本發(fā)明的技術(shù)構(gòu)思為:首先對數(shù)據(jù)庫中用戶進(jìn)行聚類運算,將具有高相似性的用戶歸為同一類,進(jìn)一步在每一用戶類型中找到此類中用戶購買最多的產(chǎn)品列表,再進(jìn)一步,當(dāng)需要為用戶ui推薦時,只要找到與其最相似的聚類,然后將聚類中用戶還沒有購買的排列在列表前端的產(chǎn)品推薦給用戶即可。

本發(fā)明的有益效果主要表現(xiàn)在:聚類計算的步驟可以放在服務(wù)器中提前進(jìn)行計算,計算的結(jié)果可以存儲起來。當(dāng)用戶需要推薦時只需先對用戶和類進(jìn)行相似性的計算,然后調(diào)用已經(jīng)計算好的數(shù)據(jù)即可。這樣可以簡化計算的過程,大大減少計算的時間。

附圖說明

圖1是一種基于聚類的網(wǎng)絡(luò)結(jié)構(gòu)相似性推薦方法的流程圖。

具體實施方式

下面結(jié)合附圖對本發(fā)明作進(jìn)一步描述。

參照圖1,一種基于聚類的網(wǎng)絡(luò)結(jié)構(gòu)相似性推薦方法,包括以下步驟:

步驟1:在數(shù)據(jù)庫中標(biāo)記用戶形成集合user={u1,u2,u3…un}。

步驟2:在集合user中選擇k個用戶作為聚類中心,形成集合uc={uc1,uc2,…uck}。所述uck代表一個聚類中心用戶。

步驟3:初始化k個聚類集合c={c1,c2,c3…ck}。所述ck代表包含有用戶聚類中心uck和與uck相似度高的其他用戶的集合。

步驟4:計算用戶un與聚類中心uck的相似度,將用戶un歸類為某一聚類集合ck中。

步驟5:計算每個聚類ck中每種產(chǎn)品被購買的次數(shù),將數(shù)量大于閥值b*n的產(chǎn)品標(biāo)記出來作為特征商品,b為0~1之間的預(yù)設(shè)系數(shù),例如b取0.6。

步驟6:計算需要推薦的用戶ui與每個聚類中心的相似性,將ui歸為某一聚類ck中。

步驟7:計算ui與ck特征向量的值,得出推薦列表。

進(jìn)一步,所述步驟1中,用戶集合user={u1,u2,u3…un}中每一個un包含用戶所購買過的產(chǎn)品信息。un代表用戶購買產(chǎn)品的行向量。如下表所示是代表用戶和產(chǎn)品關(guān)系的鄰接矩陣a。其中un代表用戶,pj代表產(chǎn)品,矩陣中的元素anj代表用戶是否購買過此產(chǎn)品,anj=1代表用戶n曾經(jīng)購買過商品j,anj=0表示沒有購買過。

再進(jìn)一步,所述步驟2中使用公式(1)計算用戶的購買指數(shù),選擇購買指數(shù)較高的前幾個用戶作為聚類中心。具體步驟如下:

步驟2.1使用公式(1)計算用戶的購買指數(shù),計算后的數(shù)值直接保存在c向量中。公式(1)中是元素全為1的一維列向量。c是一維行向量。

a×α1=c(1)

步驟2.2使用循環(huán)程序計算,當(dāng)h<k-1,d<k-1-h時,比較cd和cd+1的大小,如果cd<cd+1,將cd和cd+1中的值互換,將d+1賦值給ranki,將d賦值給ranki+1。所述rank是包含了用戶標(biāo)號d順序的列向量。ranki代表向量rank中的第i個元素。

步驟2.3:取rank中前k個用戶的標(biāo)號賦值給聚類中心,形成集合uc={uc1,uc2,uc3…uck}

再進(jìn)一步。所述步驟4中用戶un聚類的具體步驟如下:

步驟4.1:當(dāng)f<k,t<n時,利用循環(huán)程序通過公式(2)計算用戶un與聚類中心uck的相似度。

simtf=ut×ucf′(2)

步驟4.2:將un放入simtf最大的對應(yīng)的聚類集合ck中。

再進(jìn)一步,所述步驟5中,利用循環(huán)程序計算每個類中每種產(chǎn)品被購買的次數(shù),再將產(chǎn)品按購買次數(shù)的多少進(jìn)行排序得到每個聚類的購買特性向量。具體步驟如下:

步驟5.1:利用公式(3)提取聚類集合ck中用戶共同購買特征。其中α′1={1,1,…,1}是一維行向量。traitk是包含用戶購買特征的一維行向量。

α′1×ck=traitk(3)

步驟5.2:利用公式(4)對traitk中的數(shù)據(jù)進(jìn)行特征處理,系數(shù)b取0.6為例,對于traitkj-0.6k>0的數(shù),將trij中的對應(yīng)位置賦值為1,traitkj-0.6k<0時賦值為0。traitkj代表第k個聚類中關(guān)于第j個產(chǎn)品的特征值。tri是將traitkj中對應(yīng)的產(chǎn)品標(biāo)記出來的列向量。trij代表tri中的第j個元素。

再進(jìn)一步,所述步驟6中,計算ui與每個聚類中心的相似性的具體步驟如下:

步驟6.1:使用公式(5)計算需要推薦的用戶ui和聚類中心uck之間的相似性。simik代表用戶ui和聚類中心uck的相似性。

simik=ui×uck(5)

步驟6.2:將ui歸為相似性最大的聚類uck中。

更近一步,在步驟7中利用公式(6)對ui和uck的特征向量進(jìn)行與非運算得到推薦列表。

實例:取如下鄰接矩陣作為包含用戶和產(chǎn)品關(guān)系的矩陣a

采用公式(1)a×α1=c對矩陣a進(jìn)行計算得到購買指數(shù)

c={6,4,6,7,4,5,4,6,5,5}

對c向量進(jìn)行排序后得到包含了用戶標(biāo)號d順序的列向量

rank′={4,1,3,8,6,9,10,2,5,7}

將排序最前的u4和u1賦值給聚類中心集合uc={u4,u1}。

通過(2)simtf=ut×ucf′將用戶un都聚類到集合c={c1,c2}中,其中c1={u1,u3,u5,u7},c2={u2,u4,u6,u8,u9,u10}。

通過公式(3)α′1×ck=traitk以聚類集合c2為例計算出trait2={5,2,4,4,3,2,4,1,2,5},在通過(4)處理后得tri={1,0,1,1,0,0,1,0,0,1}

最后對于需要推薦的用戶ui={0,0,1,0,0,0,1,1,1,1}利用公式(6)得到推薦列表list={1,1,0,1,1,1,0,1,1,0}。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1