本發(fā)明屬于數(shù)據(jù)挖掘領域進行數(shù)據(jù)分類的算法,具體的說是一種基于半監(jiān)督學習的稀疏子空間聚類算法
背景技術:
聚類是一種無監(jiān)督學習方法,其目的是使同類的數(shù)據(jù)盡可能聚集到一起,不同類的數(shù)據(jù)盡量分離,從而揭示數(shù)據(jù)的內在性質和規(guī)律,為進一步的數(shù)據(jù)分析提供基礎。稀疏子空間聚類算法是當前較為先進的一種聚類算法,能夠有效地處理地高維含干擾數(shù)據(jù)。不同于其他類型的聚類算法,稀疏子空間聚類利用數(shù)據(jù)自表征特性和數(shù)據(jù)在特定空間中的稀疏性來描述數(shù)據(jù),通過一種有著完備理論證明的自表征模型,即稀疏子空間模型,獲取數(shù)據(jù)的稀疏表示來刻畫數(shù)據(jù)的子空間特性,從而獲得更精確的聚類劃分。但是該算法卻未能充分考慮數(shù)據(jù)的先驗信息,而在許多聚類問題中,除了未標記數(shù)據(jù)外,常常能夠輕易獲取一些數(shù)據(jù)的先驗知識。利用這些信息指導數(shù)據(jù)聚類可以快速地跳出一些“局部陷阱”,有效地提高聚類精度,這類算法被稱為半監(jiān)督聚類。
半監(jiān)督聚類又稱約束聚類,是一種適用性較高的分類方法,其核心思想是指在給定一組約束的前提下對已知數(shù)據(jù)進行分類。半監(jiān)督聚類算法的性能主要依賴于原算法和選用的約束方法。其中原算法對聚類性能影響較大,特別是在先驗信息較少時,不同的半監(jiān)督聚類算法的性能往往依存于其相應的原聚類算法。但是作為一種不同于其他聚類算法的稀疏子空間聚類,不能直接將已有的半監(jiān)督框架引入到稀疏子空間模型中指導數(shù)據(jù)分類。因此,本發(fā)明提出一種適用于稀疏子空間的半監(jiān)督聚類算法。
技術實現(xiàn)要素:
本發(fā)明為了克服上述現(xiàn)有技術的不足,設計能夠適用于自表征模型的約束項,建立相應的半監(jiān)督稀疏子空間模型,并基此提出一種基于半監(jiān)督的稀疏子空間聚類算法,以期能夠利用數(shù)據(jù)的先驗信息規(guī)避一些“局部陷阱”,從而進一步增加算法性能,同時保證算法能夠在無先驗信息時仍保持聚類性能,進而提高算法適用性。
為了實現(xiàn)上述發(fā)明目的,本發(fā)明采用如下技術方案:
1.適用于稀疏子空間模型的點對約束矩陣
點對約束包括必連約束和不連約束兩種類型,其建立流程如下:
步驟1:建立兩個同表示矩陣維數(shù)相同的必連約束矩陣mc和不連約束矩陣nc。
步驟2:初始化約束矩陣,設定兩個約束矩陣的元素均為0。以保證在沒有約束信息時,不對稀疏子空間模型產生影響。
步驟3:考慮標記位對約束矩陣的影響,設定標記上的約束矩陣元素為1,以確保只對標記位上的表示系數(shù)進行約束指導。從而定義必連約束矩陣mc和不連約束矩陣nc分別如式(1)和式(2)所示:
其中,yi和yj分別表示第i個和第j個數(shù)據(jù)點;
2.適用于稀疏子空間模型的約束項
考慮必連約束的問題,需要保證表示矩陣c中必連標記位處的表示系數(shù)cij=cji≠0。因而在排除表示矩陣c上非標記位干擾的基礎上,還需保證標記位上元素的非零個數(shù)盡可能的多。同時考慮到稀疏子空間模型是一個最小化的求解問題,定義必連約束項為
針對不連約束的問題,需要保證表示矩陣c中必連標記位處的表示系數(shù)ckl=clk=0。因而在排除表示矩陣c上非標記位干擾的基礎上,還需確保標記位上的元素值盡可能的接近零。因此設計不連約束項
3.半監(jiān)督稀疏子空間模型
針對兩種不同形式的必連約束項,分別定義半監(jiān)督稀疏子空間模型如式(3)和式(4)所示:
其中,ηa和ηb分別是必連懲罰參數(shù)和不連懲罰參數(shù)。
從模型中可以看出:在求解最優(yōu)解時,如果標記位的數(shù)值發(fā)生偏差,將受到嚴重的懲罰。若矩陣c中必連標記位某處的元素值cij=0,此時必連約束項的值不為零,且違反項越多,必連約束值越大,從而達到對模型求解的指導作用,滿足了算法的必連約束要求;同理,若矩陣c中不連標記位某處的元素值cij≠0,此時必連約束項的值不為零,且違反項越多、違反值越大,不連約束項的值越大,從而起到了對模型求解的指導作用,滿足了算法的不連約束要求。同時,亦不難看出:當兩個約束矩陣為零矩陣時,必連約束項和不連約束項均為恒值,都不會對模型最小值求解存在干擾,其模型解同原算法相同,不會降低聚類精度。因而增加了算法適用性,能夠保證在不知道先驗信息時不影響算法的聚類性能,并且在已知少量的先驗信息時有效地提高聚類性能。
與已有技術相比,本發(fā)明的優(yōu)點在于
(1)本發(fā)明考慮了數(shù)據(jù)的先驗信息,對先進的稀疏子空間聚類算法建立了半監(jiān)督框架。在已知約束信息時能夠有效提高聚類性能,并且在約束信息為零時保持稀疏子空間聚類算法聚類精度,增加了算法的適用性。
(2)本發(fā)明建立了能夠適用于稀疏子空間模型的點對約束形式,使其可以有效地將先驗信息轉化成相應的必連約束矩陣和不連約束矩陣,從而將其用于稀疏子空間模型中。
(3)本發(fā)明在相應約束矩陣的基礎上建立了有效的約束項,并將其引入到稀疏子空間模型中,分別建立硬閾值和軟閾值兩個半監(jiān)督稀疏子空間模型。從而達到了利用數(shù)據(jù)先驗信息指導數(shù)據(jù)劃分的目的。
附圖說明
圖1是本發(fā)明算法中半監(jiān)督稀疏子空間模型的求解流程圖;
圖2是本發(fā)明算法的整體流程圖;
具體實施方案
本發(fā)明將數(shù)據(jù)先驗信息引入到稀疏子空間模型中,在稀疏子空間聚類算法上建立了半監(jiān)督框架。其具體流程將結合圖1所示的算法整體流程圖說明如下:
步驟1:通過數(shù)據(jù)的先驗信息建立必連約束矩陣和不連約束矩陣,其形式分別如式(1)和式(2)所示,其建立方式已在發(fā)明內容中說明。
步驟2:將數(shù)據(jù)矩陣y和約束矩陣mc、nc引入到半監(jiān)督稀疏子空間模型中,引入輔助矩陣a和拉格朗日乘子矩陣δ,建立與硬閾值或軟閾值形式對應的拉格朗日增廣函數(shù)如式(5)和式(6)所示:
步驟3:通過admm法,依次通過是式(6)、(7)、(9)或式(6)、(8)、(9)迭代更新輔助矩陣a、表示矩陣c和拉格朗日乘子矩陣δ,直到滿足停止準則,此時得到的表示矩陣c就是數(shù)據(jù)的稀疏表征,其流程可見圖2。
a(k+1)=(λzyty+ρi)-1(λzyty+ρc(k)-δ(k))(6)
δ(k+1)=δ(k)+ρ(a(k+1)-c(k+1))(9)
步驟4:以ci=ci/||ci||∞的形式對表示矩陣c進行歸一化處理。
步驟5:利用歸一化后的表示矩陣c構建相似度矩陣w=|c|+|c|t。
步驟6:利用譜聚類方法如規(guī)范化割(ncut)獲得最終的聚類結果。
本發(fā)明提出了一種基于半監(jiān)督學習的稀疏子空間聚類算法,該算法能夠有效的將數(shù)據(jù)先驗信息引入到稀疏子空間模型中,并以此來指導數(shù)據(jù)劃分,使其能夠快速地跳出一些“局部陷阱”,有效地提升聚類精度。本發(fā)明是建立在稀疏子空間聚類算法之上的半監(jiān)督聚類算法,因此能夠直接有效地處理高維含噪聲數(shù)據(jù)。同時該算法不僅能夠在已知先驗信息時有效地提升聚類性能,而且還可以在先驗信息為零時保證聚類精度,從而使得算法適用性較強并具有一定的應用前景。