胡 磊,蔡紅霞,俞 濤
(上海大學(xué) 機(jī)電工程與自動(dòng)化學(xué)院,上海 200072)
雙重聚類的協(xié)同過濾算法在智能家居中的應(yīng)用
胡 磊,蔡紅霞,俞 濤
(上海大學(xué) 機(jī)電工程與自動(dòng)化學(xué)院,上海 200072)
針對智能家居系統(tǒng)中用戶獲取有效信息困難的問題,提出基于用戶和環(huán)境雙重聚類的協(xié)同過濾推薦算法。利用K-means算法分別對智能家居系統(tǒng)中的用戶和環(huán)境進(jìn)行聚類,找出目標(biāo)用戶和所處家居環(huán)境的最近鄰居。使用歐氏距離為度量計(jì)算目標(biāo)用戶和系統(tǒng)其他用戶之間、目標(biāo)用戶所處家居環(huán)境和系統(tǒng)其他家居環(huán)境之間的綜合相似度。從最近鄰居之間選出與目標(biāo)用戶最相似的前K個(gè)推薦給目標(biāo)用戶,實(shí)現(xiàn)對推薦算法的優(yōu)化。實(shí)驗(yàn)結(jié)果表明,與傳統(tǒng)的協(xié)同過濾算法,以及基于用戶或環(huán)境單一變量的協(xié)同過濾算法相比,文中采用的算法推薦精度更高,實(shí)時(shí)性和可擴(kuò)展性更好。
智能家居;K-means;聚類;最近鄰居;協(xié)同過濾
智能家居,就是使用當(dāng)前先進(jìn)的并且處于持續(xù)發(fā)展階段的計(jì)算機(jī)技術(shù),以及網(wǎng)絡(luò)通訊等技術(shù),以家庭住宅作為平臺(tái),將各種與家居生活相關(guān)的功能性子系統(tǒng),結(jié)合成一套高效的家居系統(tǒng)。在這套系統(tǒng)中,運(yùn)用控制平臺(tái)進(jìn)行統(tǒng)籌管理,使得家居生活更加安全、高效、舒適。智能家居系統(tǒng)中最重要的組成成分就是用戶和家居環(huán)境。通過智能家居系統(tǒng),用戶不但可以控制各種家居環(huán)境,如遠(yuǎn)程控制家用電器開關(guān),設(shè)置家居溫度、濕度等,而且管理員可以管理所有用戶的家居信息,如各種家居設(shè)備狀態(tài)信息詳情,各個(gè)季節(jié)時(shí)間段不同用戶的家居環(huán)境偏好信息等,因此智能家居系統(tǒng)中的數(shù)據(jù)具有數(shù)據(jù)量龐大、數(shù)據(jù)異構(gòu)等特點(diǎn)。隨著系統(tǒng)中用戶的不斷增長,用戶和家居環(huán)境等信息數(shù)據(jù)也在成倍增長,同時(shí),信息質(zhì)量良莠不齊,導(dǎo)致許多有效信息被埋藏在茫茫的信息海洋中,也給用戶獲取到想要的信息造成了巨大的困難[1]。智能推薦服務(wù)技術(shù)能為用戶提供便利,通過分析用戶的某些相關(guān)信息,主動(dòng)地向用戶反饋滿足其需求的內(nèi)容。這種方式可以更加高效地為用戶提供其所需信息,使用戶設(shè)置自己喜歡的家居環(huán)境,從而有效解決用戶信息獲取困難的問題。
國內(nèi)外針對智能推薦服務(wù)展開了廣泛的研究與應(yīng)用,目前最常見的推薦算法是協(xié)同過濾推薦:協(xié)同過濾算法[2-4]。根據(jù)用戶的歷史操作,首先分析用戶間存在的相似性,再根據(jù)這種相似性尋找目標(biāo)用戶的相鄰集合,之后根據(jù)相鄰集合測算出這些目標(biāo)群體會(huì)為他們沒有評分過的項(xiàng)目使用怎樣的評分,以此得到推薦結(jié)果。協(xié)同過濾正迅速成為一項(xiàng)受歡迎的技術(shù),具有不需要領(lǐng)域知識(shí)、推薦準(zhǔn)確度隨時(shí)間推移性能提高、推薦個(gè)性化高等優(yōu)點(diǎn)。算法描述的應(yīng)用情景也最適合智能家居系統(tǒng)推薦功能。
“協(xié)同過濾”這一術(shù)語是由GlodBerg等在開發(fā)推薦系統(tǒng)Tapestry[5]時(shí)提出的,該技術(shù)以其廣闊的應(yīng)用價(jià)值受到越來越多的關(guān)注。
傳統(tǒng)的協(xié)同過濾算法可分為基于全局的過濾算法(Memory-basedalgorithm)和基于模型的過濾算法(Model-basedalgorithm)。其中,基于全局的過濾算法又可分為基于用戶(User-Based)的全局算法和基于項(xiàng)目(Item-Based)的全局算法。基于用戶的全局算法是最原始的,更好的解決辦法是構(gòu)建以項(xiàng)目為基礎(chǔ)的推薦模型[5],也就是一種基于項(xiàng)目的協(xié)同過濾算法。使用這種算法時(shí),速度要比基于用戶的全局算法快很多,能夠很快地得到推薦結(jié)果[6]。但是基于用戶的全局算法適用于用戶數(shù)目變化不大而項(xiàng)目數(shù)量遠(yuǎn)遠(yuǎn)超過用戶的情況,而基于項(xiàng)目的全局算法卻適合用戶數(shù)量多但項(xiàng)目數(shù)并不多的情況[7],同時(shí)相比基于用戶的方法,該算法擁有更好的可擴(kuò)展性,但是還不能有效解決實(shí)時(shí)性和可擴(kuò)展性問題?;谀P偷倪^濾算法在一定程度上可以解決可擴(kuò)展性問題,如SarwarB等[8]提出一種增量式的基于矩陣奇異值分解法(SingularValueDecomposition,SVD)的協(xié)同過濾算法,從而降低了重復(fù)進(jìn)行矩陣分解的代價(jià),提高了推薦系統(tǒng)的可擴(kuò)展性。此外,也可以使用主成分分析(PrincipalComponentAnalysis)[9]和(LatentSemanticIndexing,LSI)[10]對用戶協(xié)同過濾進(jìn)行降維。若使用基于SVD的降維法,雖然能夠解決可擴(kuò)展性問題,但要進(jìn)行矩陣分解。為了提高可擴(kuò)展性,Miyahara等[11]采用基于貝葉斯方法的協(xié)同過濾算法,但是貝葉斯網(wǎng)絡(luò)模型需要定期維護(hù),加上模型訓(xùn)練時(shí)間成本較高,所以只適用于數(shù)據(jù)變化不頻發(fā)的場景。
文中在智能家居系統(tǒng)中運(yùn)用協(xié)同過濾算法實(shí)現(xiàn)智能推薦之前,采用基于用戶和環(huán)境的雙重聚類算法對用戶和環(huán)境進(jìn)行聚類。聚類算法采用K-means,因?yàn)镵-means算法非常適合對大型數(shù)據(jù)集進(jìn)行分類[12]。考慮到智能家居用戶對不同家居環(huán)境偏好信息,使用K-means算法把自身屬性和偏好相似的用戶劃分到相同的用戶簇中,另外,再把用戶所處的相似家居環(huán)境劃分到相同的環(huán)境簇中,這樣可以縮小活動(dòng)用戶的最近鄰居查詢范圍。并且這些聚類操作可以在離線的環(huán)境下進(jìn)行,不僅實(shí)現(xiàn)了對推薦系統(tǒng)實(shí)時(shí)性、可擴(kuò)展性問題的緩解,同時(shí)保證了推薦的有效性。
文中提出的協(xié)同過濾算法,在對智能家居系統(tǒng)進(jìn)行用戶和環(huán)境雙聚類的同時(shí),分別基于這兩方面的協(xié)同過濾方法,實(shí)現(xiàn)優(yōu)質(zhì)推薦,并且克服了原有協(xié)同過濾算法中關(guān)于可擴(kuò)展性的缺陷。算法流程如圖1所示。
圖1 基于用戶和環(huán)境雙重聚類的協(xié)同過濾算法流程圖
算法具體描述如下:
(1)構(gòu)建用戶屬性和偏好矩陣和用戶環(huán)境矩陣。
(2)用戶聚類和環(huán)境聚類:對所有系統(tǒng)用戶及家居環(huán)境,按照預(yù)先制定好的聚類準(zhǔn)則,分別進(jìn)行聚類。
(3)確定最近鄰居的用戶集合和環(huán)境集合:首先找到目標(biāo)用戶及其所處環(huán)境,并找到這個(gè)環(huán)境所在的一個(gè)或幾個(gè)簇,然后再在簇中找到其最近鄰居集合。
(4)預(yù)測推薦:計(jì)算出目標(biāo)用戶和目標(biāo)用戶所處的環(huán)境的前N個(gè)相似度高的推薦方案。
(5)綜合推薦:獲取用戶聚類和環(huán)境聚類的推薦結(jié)果,將二者進(jìn)行綜合計(jì)算,運(yùn)用加權(quán)平均的方式獲取前K個(gè)方案推薦給目標(biāo)用戶。
3.1 用戶和環(huán)境的基礎(chǔ)數(shù)據(jù)庫構(gòu)建
通過對用戶的自身屬性和智能家居系統(tǒng)中用戶的環(huán)境偏好分析,構(gòu)建的用戶數(shù)據(jù)庫表的字段有性別、年齡、體重、溫度偏好、濕度偏好、水溫偏好等m個(gè)屬性。假設(shè)有n個(gè)用戶,則表示為用戶屬性和偏好矩陣就是Xi(n1,n2,…,nm),每一個(gè)用戶都可以用一個(gè)一行m列的數(shù)組表示,用戶信息表的設(shè)計(jì)如表1所示。
表1 用戶屬性和偏好表(Users)
通過分析用戶所處的智能家居環(huán)境,構(gòu)建環(huán)境數(shù)據(jù)表。表中字段主要有當(dāng)前溫度、溫度變化、當(dāng)前濕度、濕度變化、空氣質(zhì)量、空氣質(zhì)量指數(shù)、用戶居家模式等k個(gè)屬性,同樣具有n個(gè)用戶。環(huán)境信息表的設(shè)計(jì)如表2所示。
表2 用戶家居環(huán)境表(Environment)
前面提到,用戶和用戶所有的屬性可以表示為一個(gè)1行m列矩陣,那么用戶可以用一個(gè)n行m列矩陣表示,Xn表示第n個(gè)用戶。同理,n個(gè)用戶和環(huán)境所有屬性也可表示為一個(gè)n行m列矩陣。
數(shù)據(jù)庫各個(gè)字段,若是數(shù)值類型,可直接計(jì)算;若是文字描述,則要將其先化為數(shù)值的形式。舉個(gè)例子,用戶性別是Boolean類型,女為true,男為false,可以用數(shù)字[1,0]表示。若無法枚舉,則要轉(zhuǎn)換成數(shù)值類型,通過去模糊化的方式。
3.2 用戶、環(huán)境聚類
由于用戶和環(huán)境聚類原理是一樣的,只是m個(gè)屬性值不一樣,所以只對用戶聚類進(jìn)行描述。
對用戶進(jìn)行聚類,運(yùn)用的是K-means算法。如果用戶屬性與偏好值相似,就將他們放到同一用戶簇。例如,用戶i和用戶j的聚類相似度量采用歐氏距離相似度求得。聚類的用戶數(shù)為n,用戶屬性和偏好是m,則對用戶聚類的步驟如下:
(1)從用戶中隨機(jī)選取K個(gè)(u1,u2,…,uk)作為初始聚類簇,將K個(gè)用戶的m個(gè)屬性和偏好L(ui,j),i={1,2,…,k},j={1,2,…,m}作為初始聚類中心。
(2)以聚類中心為中心,算出其與剩余的每個(gè)用戶i屬性的歐氏距離,并算出偏好值與其的歐氏距離,比較二者相似度,根據(jù)相似度,將其放置到最相似的簇Cm中。
(3)重調(diào)各個(gè)簇的聚類中心。這種做法是基于分組后各簇中的用戶集。再選擇新的聚類中心,如何選擇則是根據(jù)各簇中存在的所有用戶屬性與偏好值的均值。
(4)經(jīng)過上一步的調(diào)整,進(jìn)行判斷,若新的聚類中心與上一次的一致,或者在一定的誤差范圍內(nèi),就結(jié)束聚類;否則重新回到步驟(2)。
另外,設(shè)置一個(gè)參數(shù)—最大迭代次數(shù),以避免因不滿足第四步條件而進(jìn)入無限循環(huán)的情形。算法偽代碼如下:
(1)從所有用戶集N中選擇K個(gè)用戶,用戶的屬性值和偏好值作為初始的聚類中心,記為集合CC={cc1,cc2,…,cck};K個(gè)聚類簇初始化為空,記為集合c={c1,c2,…,ck}。
(2)repeat
Foreachuserui∈U
Foreachclustercenterccj∈cc
計(jì)算其他用戶i屬性和偏好與聚類中心ccj的歐氏距離相似度d(i,ccj);
Endfor
d(i,ccj)=max{d(ui,cc1),d(ui,ccj),…,d(ui,cck)};
聚類cm=cm∪ui;
Endfor
Foreachclusterci∈c//對聚類中心進(jìn)行調(diào)整
計(jì)算聚類ci中所有用戶屬性和偏好平均值,生成新的聚類中心cci
Endfor
Until所有聚類中心與上次循環(huán)的聚類中心相同(或者誤差Jc的值小于一定的閾值)
Return
3.3 最近鄰居查找和推薦生成
對用戶和環(huán)境進(jìn)行聚類分簇以后,確定與目標(biāo)用戶相似度最高的簇,獲取最近鄰居集合(在簇中與目標(biāo)用戶擁有最高相似度的前K個(gè)用戶組成)。在最近鄰居查詢過程中,獲取用戶間的相似度需要通過如下步驟:
(1)用戶基于屬性和偏好的相似度。
相比距離度量,相似度計(jì)算更加注重兩個(gè)向量在方向上的差異。由于用戶屬性值和偏好值可以因用戶個(gè)人變化幅度很大,所以用戶屬性和偏好組成的向量在方向上的差異很大,故選用皮爾森相關(guān)性系數(shù),求出用戶基于屬性和偏好的相似度simu(u,v):
(1)
(2)用戶基于環(huán)境的相似度。
由于用戶在同一季節(jié)所處的環(huán)境屬性變化不會(huì)特別大,所以數(shù)據(jù)差異不會(huì)很大,則環(huán)境屬性組成的向量不會(huì)很大。如果用皮爾森相關(guān)性系數(shù),那么計(jì)算出的環(huán)境之間的相似度差異會(huì)很小。假如任意兩個(gè)用戶所處的環(huán)境的相似度值都達(dá)到0.9以上,那么會(huì)影響推薦的準(zhǔn)確性,所以選用基于歐氏距離相似度計(jì)算公式求出用戶基于環(huán)境的相似度sime(u,v),計(jì)算公式為:
(2)
(3)
(3)綜合相似度。
通過對前兩步加權(quán),計(jì)算綜合相似度:
sim(u,v)=αsimu(u,v)+(1-α)sime(u,v)(4)
為提高推薦算法質(zhì)量,可以選擇適當(dāng)?shù)摩林?,結(jié)合兩種方式進(jìn)行相似度計(jì)算。
(4)選取目標(biāo)用戶的最近鄰居數(shù)為N的集合。
(5)在目標(biāo)用戶的最近鄰居集合中選取綜合相似度最大的K個(gè)推薦給目標(biāo)用戶。
3.4 計(jì)算實(shí)例
在用K-means算法對用戶和環(huán)境進(jìn)行聚類,選取目標(biāo)用戶的最近鄰居數(shù)為K個(gè)前提下,以某智能家居公司的數(shù)據(jù)樣本作為實(shí)驗(yàn)對象進(jìn)行分析。用戶屬性包括性別、年齡、體重、溫度偏好、濕度偏好、水溫偏好等,使用m1,m2,…,m6描述用戶的屬性和偏好,性別上取0為男,1為女;環(huán)境屬性包括當(dāng)前溫度、當(dāng)前濕度等屬性,用n1,n2,…,n6描述,用戶居家模式、運(yùn)動(dòng)模式和休息模式等分別用[1,2,3]等數(shù)字表示。具體用戶信息為:[性別:男,年齡:26,體重:65kg,溫度偏好:26 ℃,濕度偏好:48RH,水溫偏好:60 ℃],具體環(huán)境信息為[當(dāng)前溫度:31 ℃,溫度變化:14 ℃,當(dāng)前濕度:55RH,濕度變化:11RH,空氣質(zhì)量:78,居家模式:居家模式],對用戶詳細(xì)信息和環(huán)境詳細(xì)信息進(jìn)行數(shù)學(xué)建模后得到用戶信息:[m1:0,m2:26,m3:65,m4:26,m5:48,m6:60],環(huán)境信息:[n1:31,n2:14,n3:55,n4:11,n5:78,n6:1](文中涉及到的計(jì)算用表均為建模處理后的數(shù)據(jù))。
3.4.1 用戶相似度計(jì)算
由于用戶屬性和偏好采用的單位是不同的,數(shù)值的差異也很大,所以計(jì)算前要對用戶信息數(shù)字進(jìn)行歸一化處理,則對用戶數(shù)據(jù)處理后的信息用矩陣表示(由于數(shù)據(jù)量大,所以只列出一部分)。
令X1為目標(biāo)用戶,歸一化處理后的用戶信息如表3所示。
表3 用戶信息矩陣
針對上述矩陣,利用皮爾森相關(guān)系數(shù)公式計(jì)算的X1與任意數(shù)據(jù)庫中的用戶數(shù)組[X2,X3,X4,X5,X6,…]之間的相似度數(shù)組分別為[0.975,0.934,0.801,0.733,0.660,…]。
從該數(shù)組可以看出,目標(biāo)用戶X1與用戶X4的相似度最大,但是僅僅計(jì)算用戶之間的相似度是不夠的。
3.4.2 環(huán)境相似度計(jì)算
下面來計(jì)算環(huán)境相似度。具體歸一化處理后的環(huán)境信息如表4所示。
表4 環(huán)境信息矩陣
針對上述矩陣,利用皮爾森相關(guān)系數(shù)公式計(jì)算目標(biāo)用戶所處的當(dāng)前環(huán)境Y1與數(shù)據(jù)庫中任意用戶之間的所處環(huán)境數(shù)組[Y2,Y3,Y4,Y5,Y6,…]的相似度數(shù)組為[0.916,0.521,0.497,0.441,0.534,…]。
3.4.3 綜合相似度計(jì)算
計(jì)算出用戶相似度和環(huán)境相似度后,再根據(jù)式(4)計(jì)算出基于用戶和環(huán)境的綜合相似度sim(u,v)。當(dāng)α取0.6時(shí),推薦精度最高的目標(biāo)用戶和所處環(huán)境Z1的最近鄰居用戶簇和環(huán)境簇?cái)?shù)組[Z2,Z3,Z4,Z5,Z6,…]的綜合相似度數(shù)組為[0.951,0.769,0.689,0.616,0.610,…]。
3.4.4 產(chǎn)生推薦
最后選取目標(biāo)用戶最近的鄰居集合,例如選取綜合相似度最大的前10個(gè)用戶集合作為最近鄰居集合,然后在最近鄰居集合中選取綜合相似度最大的前3個(gè)用戶偏好和所處家居環(huán)境設(shè)置方案推薦給目標(biāo)用戶。
4.1 推薦質(zhì)量的度量標(biāo)準(zhǔn)
為了驗(yàn)證文中描述算法的可行性和準(zhǔn)確性,使用了一個(gè)度量標(biāo)準(zhǔn),那就是平均絕對誤差,即(Mean Absolute Error,MAE)[13]。由于這種標(biāo)準(zhǔn)的計(jì)算方式,是獲取預(yù)測值與實(shí)際值二者間的差值,并以此度量準(zhǔn)確性,故這個(gè)偏差值越小,就意味著預(yù)測精度越高。設(shè)預(yù)測結(jié)果用矩陣[p1,p2,…,pn]表示,對應(yīng)的實(shí)際結(jié)果用矩陣[q1,q2,…,qn]表示,則
(5)
這里的預(yù)測值可以表示系統(tǒng)通過計(jì)算得到的推薦給用戶的家居環(huán)境方案,而準(zhǔn)確值可以表示用戶在這種環(huán)境下自己手動(dòng)設(shè)置的家居環(huán)境方案。例如,用戶X1處在Y1的家居環(huán)境中,由于目前的環(huán)境參數(shù)與他的偏好不相符,所以系統(tǒng)通過計(jì)算給他提供推薦方案,但是他可以選擇不使用系統(tǒng)的推薦方案而自己設(shè)置,這樣就形成了兩個(gè)方案的對比,通過計(jì)算這兩種方案的MAE值,再和傳統(tǒng)的協(xié)同過濾推薦方案的MAE值進(jìn)行比較,來判斷算法的有效性。
4.2 聚類算法的有效性驗(yàn)證
為了驗(yàn)證智能家居中基于用戶和環(huán)境K-means聚類算法的有效性,從某智能家居公司中隨機(jī)抽取1 500位用戶和3 000個(gè)用戶所處的歷史環(huán)境并通過Matlab對其進(jìn)行分析。在用戶和環(huán)境集合中分別隨機(jī)選取7個(gè)中心,以×表示,通過計(jì)算點(diǎn)與點(diǎn)之間的歐氏距離,得到的聚類結(jié)果如圖2和圖3所示。由圖可知,在智能家居系統(tǒng)中,對用戶和環(huán)境進(jìn)行聚類時(shí),采取K-means算法是有效的。
圖2 1 500用戶聚類結(jié)果
圖3 3 000個(gè)環(huán)境數(shù)據(jù)聚類結(jié)果
4.3 權(quán)重系數(shù)α取值
式(4)中,權(quán)重系數(shù)α對推薦精度有很大影響,所以必須確定α的最佳取值來盡可能減小它對推薦精度的影響。α和1-α分別表示基于用戶聚類的相似度和基于環(huán)境聚類的相似度系數(shù)。將α從0.1變動(dòng)到1,變動(dòng)幅度為0.1每次,在不同α取值的情況下,觀察其對基于用戶和環(huán)境雙重聚類的協(xié)同過濾算法的推薦性能影響,從而確定最佳的權(quán)重值。α與MAE的曲線圖如圖4所示。
圖4 α與MAE曲線圖
由圖可知,α=0.6為最佳權(quán)重值,推薦誤差最小。
智能家居正不斷發(fā)展[14-17],智能推薦已成為智能家居功能擴(kuò)展中一個(gè)重要的趨勢,利用智能推薦功能為用戶提供定制信息服務(wù)將成為智能家居未來的主流。提出了一種基于用戶和環(huán)境雙重聚類的協(xié)同過濾算法并運(yùn)用到智能家居系統(tǒng)中,該方法采用數(shù)據(jù)庫設(shè)計(jì)思想構(gòu)建用戶庫和環(huán)境庫,從數(shù)據(jù)庫發(fā)現(xiàn)目標(biāo)用戶最近鄰居集合,從中選取綜合相似度最大的前N個(gè)最佳方案推薦給用戶。理論分析和實(shí)踐結(jié)果均表明,相比現(xiàn)有的傳統(tǒng)個(gè)性化推薦技術(shù),該技術(shù)的性能更加優(yōu)越。
[1] 李 寧.2012年,哪些技術(shù)最火?[N].光明日報(bào),2012-04-10(12).
[2]ResnickP,IacovouN,SuchakM,etal.GroupLens:anopenarchitectureforcollaborativefilteringofnetnews[C]//ACMconferenceoncomputersupportedcooperativework.[s.l.]:ACM,1994:172-190.
[3]SchaferJ.Collaborativefilteringrecommendersystems[M].Germany:[s.n.],2007.
[4]HuangZ,ZengD,ChenHC.Acomparisonofcollaborative-filteringrecommendationalgorithmsfore-commerce[J].IEEEIntelligentSystems,2007,22(5):68-78.
[5]GoldbergD,NicholsD,OkiBM,etal.Usingcollaborativefilteringtoweaveaninformationtapestry[J].CommunicationsoftheACM,1992,35(12):61-70.
[6] 郭艷紅.推薦系統(tǒng)的協(xié)同過濾算法與應(yīng)用研究[D].大連:大連理工大學(xué),2008.
[7] 張雪文.智能推薦系統(tǒng)中協(xié)同過濾算法的研究[D].上海:上海交通大學(xué),2008.
[8]SarwarB,KarypisG,KonstanJ,etal.Incrementalsingularvaluedecompositionalgorithmsforhighlyscalablerecommendersystems[C]//Proceedingsoffifthinternationalconferenceoncomputerandinformationscience.[s.l.]:[s.n.],2002:27-28.
[9]GoldbergK,RoederT,GuptaD,etal.Eigentaste:aconstanttimecollaborativefilteringalgorithm[J].InformationRetrieval,2001,4(2):133-151.
[10]SoboroffI,NicholasC.Combiningcontentandcollaborationintextfiltering[C]//Proceedingsoftheinternationaljointconferencesonartificialintelligenceworkshop:machinelearningforinformationfiltering.Stockholm:[s.n.],1999:86-91.
[11]MiyaharaK,PazzaniMJ.ImprovementofcollaborativefilteringwiththesimpleBayesianclassifier[J].IPSJJournal,2002,43:3429-3437.
[12]HuangZ.Afastclusteringalgorithmtoclusterverylargecategoricaldatasetsindatamining[C]//ProceedingsoftheSIGMODworkshoponresearchissuesondataminingandknowledgediscovery.Tucson:[s.n.],1997:146-151.
[13]HerlockerJL,KonstanJA,TerveenLG,etal.Evaluatingcollaborativefilteringrecommendersystem[J].ACMTransactionsonInformationSystems,2004,22(1):5-53.
[14] 鄧中祚.智能家居控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].哈爾濱:哈爾濱工業(yè)大學(xué),2015.
[15] 彭洪明.智能家居的體系結(jié)構(gòu)及關(guān)鍵技術(shù)研究[D].北京:北京交通大學(xué),2012.
[16] 呂 莉,羅 杰.智能家居及其發(fā)展趨勢[J].計(jì)算機(jī)與現(xiàn)代化,2007(11):18-20.
[17] 高小平.中國智能家居的現(xiàn)狀及發(fā)展趨勢[J].低壓電器,2005(4):18-21.
Application of Collaborative Filtering Recommendation Based on Double Clustering in Smart Home System
HU Lei,CAI Hong-xia,YU Tao
(School of Mechatronics Engineering and Automation,Shanghai University, Shanghai 200072,China)
To deal with the difficulty of acquiring effective information in smart home system for users,a collaborative filtering recommendation based on users and environment double clustering is proposed.It appliesK-meansmethodtoclustertheusersandenvironmentandfindoutthenearestneighborsoftargetuserandhomeenvironment.Thencomputesthecomprehensivesimilaritybetweentargetuserandotherusers,homeenvironmentoftargetuserandotherhomeenvironmentinsystem.ChoosesthefirstKrecommendationinthenearestneighborstotargetusers,realizingtheoptimizationofrecommendation.Experimentalresultsdemonstratethatthealgorithmcanimprovetheaccuracyofrecommendationcomparedwiththetraditionaloneandtheonebasedonuserorenvironment,withbetterreal-timeandscalability.
smart home;K-means;clustering;thenearestneighbors;collaborativefiltering
2016-01-11
2016-06-02
時(shí)間:2017-01-10
上海市科技重點(diǎn)攻關(guān)項(xiàng)目(15111102202)
胡 磊(1991-),男,碩士研究生,研究方向?yàn)橹悄芗揖酉到y(tǒng);蔡紅霞,碩士研究生導(dǎo)師,副教授,研究方向?yàn)楣I(yè)信息化、計(jì)算機(jī)集成制造等;俞 濤,博士研究生導(dǎo)師,教授,研究方向?yàn)楣I(yè)信息化等。
http://www.cnki.net/kcms/detail/61.1450.TP.20170110.0941.014.html
TP
A
1673-629X(2017)02-0100-06
10.3969/j.issn.1673-629X.2017.02.23