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

一種基于簇?cái)?shù)自適應(yīng)增長的聚類算法的個(gè)性化推薦算法的制作方法

文檔序號(hào):11458919閱讀:647來源:國知局
一種基于簇?cái)?shù)自適應(yīng)增長的聚類算法的個(gè)性化推薦算法的制造方法與工藝

本發(fā)明是關(guān)于數(shù)據(jù)挖掘中的個(gè)性化推薦問題,具體涉及數(shù)據(jù)挖掘中的基于聚類的個(gè)性化推薦領(lǐng)域。



背景技術(shù):

個(gè)性化推薦是根據(jù)用戶的興趣特點(diǎn)和購買行為,向用戶推薦用戶感興趣的信息和商品。協(xié)同過濾算法是個(gè)性化推薦中的常用算法。協(xié)同過濾推薦前進(jìn)行聚類有利于解決搜索空間較大、準(zhǔn)確率不夠高以及對(duì)稀疏數(shù)據(jù)敏感等問題。

聚類是將相似度高的對(duì)象聚集成簇的過程。在個(gè)性化推薦中,可以首先采用聚類技術(shù)將相似度高的對(duì)象聚類,然后將聚類簇的信息用到推薦算法中。然而,目前大多數(shù)采取先聚類后協(xié)同過濾策略的個(gè)性化推薦算法只支持離線學(xué)習(xí),不能適應(yīng)用戶、項(xiàng)目和評(píng)分信息頻繁更新的增量學(xué)習(xí)的情況。

目前已經(jīng)提出了一些能適應(yīng)增量學(xué)習(xí)情況的先聚類后協(xié)同過濾的個(gè)性化推薦算法。但是這些算法存在的一個(gè)缺點(diǎn)是:在聚類階段需要事先人為指定簇的數(shù)量,這樣推薦算法的結(jié)果往往對(duì)該人為指定的簇的數(shù)量敏感,因而需要花費(fèi)大量時(shí)間來實(shí)驗(yàn)以確定最優(yōu)的簇?cái)?shù)量。另一個(gè)缺點(diǎn)是準(zhǔn)確度不夠高。



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

針對(duì)現(xiàn)有先聚類后協(xié)同過濾的個(gè)性化推薦算法存在的不足,本發(fā)明提供了一種基于簇?cái)?shù)自適應(yīng)增長的聚類算法的個(gè)性化推薦算法。本算法包含基于聚類的增量學(xué)習(xí)和推薦兩個(gè)階段,其中在基于聚類的增量學(xué)習(xí)階段采用了本發(fā)明提供的mwosk-means(modifiedweightedonlinesphericalk-means)算法與mgsoc(modifiedgrowingself-organizingcluster)算法。mwosk-means算法能夠充分利用項(xiàng)目信息補(bǔ)足用戶權(quán)值的計(jì)算,提高了個(gè)性化推薦的準(zhǔn)確度。mgsoc算法完成了簇?cái)?shù)量的自適應(yīng)增長,一定程度上解決了現(xiàn)有技術(shù)中簇的數(shù)量需人為事先指定、需要大量時(shí)間確定最優(yōu)簇?cái)?shù)量的問題。

本發(fā)明所提供的基于簇?cái)?shù)自適應(yīng)增長的聚類算法的個(gè)性化推薦算法可適用于信息(如用戶、項(xiàng)目和評(píng)分信息等)頻繁更新的增量學(xué)習(xí)情況,與現(xiàn)有個(gè)性化推薦算法相比能得到更高的準(zhǔn)確度并且減少了確定最優(yōu)簇?cái)?shù)量所需的時(shí)間。

本發(fā)明包含以下內(nèi)容:

1、一種基于簇?cái)?shù)自適應(yīng)增長的聚類算法的個(gè)性化推薦算法

該算法包含基于聚類的增量學(xué)習(xí)和推薦兩個(gè)階段,詳見圖1。

2、一種基于mwosk-means算法和mgsoc算法的簇?cái)?shù)自適應(yīng)增長的聚類算法

在本發(fā)明提供的個(gè)性化推薦算法中的增量學(xué)習(xí)階段,采用了本發(fā)明提供的一種基于mwosk-means算法和mgsoc算法的簇?cái)?shù)自適應(yīng)增長的聚類算法(見圖1中的p1),該算法包括使用mwosk-means算法進(jìn)行聚類(見圖1中的s2,詳見圖3)、使用mgsoc算法實(shí)現(xiàn)簇?cái)?shù)量的自適應(yīng)增長(見圖1中的p1.1,詳見圖4、圖5)和增量更新(見圖1中的s6,詳見圖6、圖7、圖8、圖9)三個(gè)部分。

3、一種新的項(xiàng)目權(quán)值和用戶權(quán)值的計(jì)算方法

現(xiàn)有技術(shù)在計(jì)算用戶權(quán)值時(shí)沒有考慮項(xiàng)目權(quán)值帶來的影響。本發(fā)明提供了一種mwosk-means算法,該算法的初始化階段(見圖2中的s1.5)采用了本發(fā)明提供的一種新的項(xiàng)目權(quán)值計(jì)算方法,具體見公式(1)、(2)?;谠擁?xiàng)目權(quán)值計(jì)算方法,本發(fā)明提供了一種新的考慮了項(xiàng)目權(quán)值的用戶權(quán)值計(jì)算方法,具體方法見公式(3)。

4、一種新的判斷聚類過程中簇?cái)?shù)量是否合適的判斷方法

在本發(fā)明的內(nèi)容2中,采用mgsoc算法實(shí)現(xiàn)簇?cái)?shù)量的自適應(yīng)增長(見圖1中的p1.1,詳見圖4、圖5)部分,為了實(shí)現(xiàn)簇?cái)?shù)量的自適應(yīng)增長,本發(fā)明在mgsoc算法中提供了一種新的判斷聚類過程中簇?cái)?shù)量是否合適的方法(圖1中的s3、s4,其中s3詳見圖4)。

5、一種新的計(jì)算新增簇中心初始位置的計(jì)算方法

在本發(fā)明的內(nèi)容2中,采用mgsoc算法實(shí)現(xiàn)簇?cái)?shù)量的自適應(yīng)增長(見圖1中的p1.1,詳見圖4、圖5)部分,如果判斷得出聚類過程中的簇?cái)?shù)量不合適,則由mgsoc算法中本發(fā)明提供的一種新的計(jì)算新增簇中心初始位置的計(jì)算方法來計(jì)算新簇中心初始位置(圖1中的s5,詳見圖5)。

附圖說明

圖1是本發(fā)明提供的一種基于簇?cái)?shù)自適應(yīng)增長的聚類算法的個(gè)性化推薦算法的流程圖。

圖2是圖1中s1的流程圖。

圖3是圖1中s2的流程圖。

圖4是圖1中s3的流程圖。

圖5是圖1中s5的流程圖。

圖6是圖1中s6的流程圖。

圖7是圖6中s6.1的流程圖。

圖8是圖6中s6.2的流程圖。

圖9是圖6中s6.3的流程圖。

本發(fā)明所用到的符號(hào)說明:

σ(ui):ui的標(biāo)準(zhǔn)差

exp(·):以e為底的指數(shù)函數(shù)

η:聚類過程中簇中心的學(xué)習(xí)率

α:用于判斷簇中心是否收斂的收斂閾值

β:用于判斷當(dāng)前簇?cái)?shù)量是否合適的誤差閾值

1:與被乘向量維數(shù)相同,且元素全為1的向量

t:矩陣轉(zhuǎn)置

n:用戶數(shù)

p:項(xiàng)目數(shù)

d:線性映射后區(qū)間的長度

l:線性映射后區(qū)間的下界

a:待推薦的用戶集合

s(u):向量歸一化。舉例:對(duì)n維向量u=(u1,u2,...,un),其模為

具體實(shí)施方式

本發(fā)明公開的基于簇?cái)?shù)自適應(yīng)增長的聚類算法的個(gè)性化推薦算法包含基于聚類的增量學(xué)習(xí)和推薦兩個(gè)階段。

個(gè)性化推薦算法整體流程圖如圖1所示。

下面結(jié)合附圖,對(duì)本發(fā)明的具體實(shí)施方式做詳細(xì)說明。

一、初始化

本部分對(duì)應(yīng)圖1中的s1,詳細(xì)流程圖見圖2。

s1:初始化

s1.1:初始化參數(shù)集

1)根據(jù)實(shí)際情況對(duì)用戶數(shù)n、項(xiàng)目數(shù)p進(jìn)行賦值;

2)該算法的使用者指定初始簇?cái)?shù)量k、學(xué)習(xí)率η、收斂閾值α、誤差閾值β、線性映射后區(qū)間的長度d、線性映射后區(qū)間的下界l、待推薦的用戶集合a。

s1.2:初始化表示“用戶是否對(duì)項(xiàng)目評(píng)分”的矩陣m

以n行p列的矩陣m=(mij)表示第i個(gè)用戶是否給出了對(duì)第j個(gè)項(xiàng)目的評(píng)分,其中i∈{1,2,3,...,n},j∈{1,2,3,...,p}。mij=1表示用戶i給出了對(duì)項(xiàng)目j的評(píng)分,mij=0表示用戶i沒對(duì)項(xiàng)目j給出評(píng)分。

s1.3:初始化“用戶-項(xiàng)目評(píng)分矩陣”u

1)以n行p列的矩陣u=(uij)表示用戶-項(xiàng)目評(píng)分矩陣,其中i∈{1,2,3,...,n},j∈{1,2,3,...,p}。第i行第j列的元素表示第i個(gè)用戶對(duì)第j個(gè)項(xiàng)目的評(píng)分值。用ui=(ui1,ui2,...,uij,...,uip)表示第i個(gè)用戶對(duì)所有p個(gè)項(xiàng)目的評(píng)分值;

2)對(duì)u逐行歸一化,即s(ui),i∈{1,2,3,...,n};

s1.4:初始化“用戶-用戶所屬簇矩陣”z

1)構(gòu)造n行k列的矩陣z=(zik)表示用戶-用戶所屬簇矩陣,其中i∈{1,2,3,...,n},k∈{1,2,3,...,k}。zik∈{0,1},zik=1表示用戶i屬于簇k,zik=0表示用戶i不屬于簇k;

2)將n個(gè)用戶隨機(jī)分配至k個(gè)簇中的某一個(gè)簇(對(duì)任意用戶i滿足);

s1.5:mwosk-means算法初始化

1)計(jì)算包含p個(gè)項(xiàng)目的權(quán)值的項(xiàng)目權(quán)值向量witem,第j(j∈{1,2,3,...,p})個(gè)項(xiàng)目的項(xiàng)目權(quán)值的計(jì)算公式如下:

m,j表示矩陣m的第j列。

2)根據(jù)d、l及如下公式將witem線性映射到合適的區(qū)間:

其中表示witem的最大元素的值,表示witem的最小元素的值。表示線性映射前項(xiàng)目j的項(xiàng)目權(quán)值,表示線性映射后項(xiàng)目j的項(xiàng)目權(quán)值,j∈{1,2,3,...,p}。d表示線性映射后區(qū)間的長度,l表示線性映射后區(qū)間的下界。

3)計(jì)算包含n個(gè)用戶的權(quán)值的用戶權(quán)值向量wuser,第i(i∈{1,2,3,...,n})個(gè)用戶的用戶權(quán)值的計(jì)算公式如下:

其中σ(ui)表示ui的標(biāo)準(zhǔn)差。

4)根據(jù)如下公式構(gòu)造k個(gè)p維向量μk(k∈{1,2,3,...,k})以表示各個(gè)簇的簇中心的位置:

其中j∈{1,2,3,...,p}。

二、聚類

本部分對(duì)應(yīng)圖1中的s2,具體流程圖見圖3。

s2:mwosk-means算法聚類

s2.1:遍歷u中所有用戶訓(xùn)練模型

對(duì)第i(i∈{1,2,3,...,n})個(gè)用戶:

1)重新計(jì)算用戶i所屬簇:

其中k∈{1,2,3,...,k},closest_ki表示重新計(jì)算得到的用戶i所屬的某個(gè)新簇,closest_ki∈{1,2,3,...,k}。

2)更新用戶i新所屬簇的簇中心:

表示更新后的簇中心,表示更新前的簇中心。

s2.2:計(jì)算收斂度h

根據(jù)如下公式計(jì)算收斂度h:

μ'k表示“s2.1:遍歷u中所有用戶訓(xùn)練模型”后的第k個(gè)簇中心,μk表示s2.1前的第k個(gè)簇中心,k∈{1,2,3,...,k}。

三、簇?cái)?shù)自適應(yīng)增長

本部分對(duì)應(yīng)圖1中的s3、s4、s5,其中s3、s5的具體流程圖見圖4、圖5。

s3:mgsoc算法階段一:計(jì)算誤差度em

s3.1:構(gòu)造包含k個(gè)元素的誤差向量e

對(duì)每個(gè)簇k(k∈{1,2,3,...,k})用以下公式計(jì)算ek:

s3.2:歸一化e

即s(e)。

s3.3:計(jì)算誤差度em

用以下公式計(jì)算誤差度em:

其中,exp(·)是以e為底的指數(shù)函數(shù)。

s4:判斷簇?cái)?shù)量是否合適

根據(jù)以上得到的誤差度em,將em與β比較,如果em小于β,則當(dāng)前簇?cái)?shù)量合適;如果em大于β,則當(dāng)前簇?cái)?shù)不合適。

s5:mgsoc算法階段二:計(jì)算新簇中心μnew

s5.1:計(jì)算新簇中心的位置μnew

用以下公式計(jì)算新簇中心的位置μnew:

s5.2:歸一化新簇的簇中心向量μnew

即s(μnew)。

s5.3:清除誤差向量e

四、增量學(xué)習(xí)

s6:增量學(xué)習(xí)

本發(fā)明中提出的個(gè)性化推薦算法支持以下四種增量學(xué)習(xí)情況:1)已存在用戶i第一次對(duì)項(xiàng)目j進(jìn)行評(píng)分;2)已存在用戶i更新對(duì)項(xiàng)目j的評(píng)分;3)出現(xiàn)新用戶;4)出現(xiàn)新項(xiàng)目。由于出現(xiàn)的新項(xiàng)目未被用戶評(píng)分,因此不會(huì)對(duì)模型造成影響。當(dāng)新項(xiàng)目被用戶評(píng)分時(shí),情況等價(jià)于“1)已存在用戶i第一次對(duì)項(xiàng)目j進(jìn)行評(píng)分”。

具體如下:

s6.1:已存在用戶i第一次對(duì)項(xiàng)目j進(jìn)行評(píng)分

對(duì)應(yīng)圖7。

1)更新用戶i的模:

||u'i||表示更新后用戶i的模,||ui||表示更新前用戶i的模。

2)更新用戶i與各個(gè)簇的余弦相似度:

其中k∈{1,2,3,...,k}。

3)更新項(xiàng)目j的權(quán)值:

表示更新后項(xiàng)目j的權(quán)值,表示更新前項(xiàng)目j的權(quán)值。

4)更新用戶i的權(quán)值:

表示更新后用戶i的權(quán)值,表示更新前用戶i的權(quán)值。

5)重新計(jì)算用戶i所屬簇:

其中k∈{1,2,3,...,k},closest_ki表示重新計(jì)算得到的用戶i所屬的某個(gè)新簇,closest_ki∈{1,2,3,...,k}。

6)根據(jù)公式(7)更新簇中心

s6.2:已存在用戶i更新對(duì)j的評(píng)分

對(duì)應(yīng)圖8。

1)更新用戶i的模:

2)更新用戶i與各個(gè)簇的余弦相似度:

其中k∈{1,2,3,...,k}。

3)更新用戶i的權(quán)值:

4)根據(jù)公式(16)、(17)重新計(jì)算用戶i所屬簇;

5)根據(jù)公式(7)更新簇中心

s6.3:出現(xiàn)新用戶

對(duì)應(yīng)圖9。

1)根據(jù)公式(3)計(jì)算新用戶權(quán)值;

2)根據(jù)公式(16)、(17)計(jì)算新用戶所屬簇;

3)根據(jù)公式(7)更新所屬簇中心;

五、推薦

本部分對(duì)應(yīng)圖1中的s7。

s7:協(xié)同過濾推薦

預(yù)測(cè)用戶a對(duì)項(xiàng)目j的評(píng)分:

其中a∈a,k∈{1,2,3,...,k},j∈{1,2,3,...,p}。

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