本發(fā)明涉及機(jī)器學(xué)習(xí),具體為一種基于比例熵的平衡子空間劃分方法。
背景技術(shù):
1、平衡子空間劃分在負(fù)載均衡、數(shù)據(jù)檢索等領(lǐng)域有重要的作用。為了解決這一問(wèn)題,一般做法是:使用平衡聚類(lèi)算法,通過(guò)引入規(guī)模約束來(lái)控制聚類(lèi)的規(guī)模,使得不同簇中的樣本數(shù)目達(dá)到平衡。典型的平衡聚類(lèi)算法包括平衡k均值聚類(lèi)(balanced?k-means?forclustering,bkm)、約束k均值聚類(lèi)(constrained?k-means,ckm)以及在子空間聚類(lèi)中引入簇間距離新度量的熵正則化k-means算法(entropy?regularization?k-means,erkm)。
2、平衡聚類(lèi)方法分為絕對(duì)平衡劃分和相對(duì)平衡劃分,其缺點(diǎn)如下,
3、1)絕對(duì)平衡算法時(shí)間復(fù)雜度通常較高,如平衡k均值聚類(lèi)(bkm)算法的時(shí)間復(fù)雜度可達(dá)到o(n3),有的甚至是o(n3.5)。
4、2)相對(duì)平衡劃分時(shí)間復(fù)雜度低但平衡效果欠佳,如約束k均值聚類(lèi)(ckm)和熵正則化k-means(erkm)算法在k-means算法框架內(nèi)的平衡性仍有提升空間。
5、為了解決時(shí)間復(fù)雜度過(guò)高以及平衡性不足的問(wèn)題,本發(fā)明將聚類(lèi)模型與比例熵相結(jié)合,提出算法be-kmeans(balanced-entropy?k-means),能夠在o(n2)時(shí)間內(nèi)有效提升劃分平衡性。
6、因此需要對(duì)以上問(wèn)題提出一種新的解決方案。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明的目的在于提供一種基于比例熵的平衡子空間劃分方法,以解決背景技術(shù)中提出的技術(shù)問(wèn)題。
2、為實(shí)現(xiàn)上述目的,本發(fā)明提供如下技術(shù)方案:一種基于比例熵的平衡子空間劃分方法,至少包括以下步驟:
3、s1:定義基于聚類(lèi)標(biāo)簽的隸屬度矩陣與平衡向量,構(gòu)建一個(gè)n×k的隸屬度矩陣f,其中n代表數(shù)據(jù)點(diǎn)數(shù),k代表簇?cái)?shù),該矩陣確保每個(gè)數(shù)據(jù)點(diǎn)只屬于一個(gè)簇,同時(shí)定義平衡向量p,量化每個(gè)聚類(lèi)樣本點(diǎn)的集中程度;
4、s2:比例熵的定義,基于平衡向量p,定義比例熵,當(dāng)比例熵達(dá)到最小值時(shí),表明聚類(lèi)結(jié)果在各個(gè)類(lèi)別間達(dá)到均衡;
5、s3:采用歐式距離構(gòu)建平方損失項(xiàng)來(lái)度量樣本與聚類(lèi)中心的距離;
6、s4:構(gòu)建聚類(lèi)模型,結(jié)合隸屬度矩陣f、比例熵以及平方損失項(xiàng),構(gòu)建基于比例熵的平衡子空間劃分算法的聚類(lèi)模型,并通過(guò)超參數(shù)調(diào)節(jié)模型以適應(yīng)不同數(shù)據(jù)集的特性;
7、s5:利用交替方向乘子法(admm)求解,采用交替方向乘子法(admm)對(duì)聚類(lèi)模型進(jìn)行求解,通過(guò)迭代優(yōu)化隸屬度矩陣f和平衡向量p;
8、s6:進(jìn)行平衡性指標(biāo)評(píng)估,通過(guò)平衡性指標(biāo)ne評(píng)估聚類(lèi)結(jié)果,其中ne等于1表示聚類(lèi)結(jié)果完全平衡,而ne等于0則表示聚類(lèi)結(jié)果完全不平衡。
9、進(jìn)一步地,所述s1至少包括以下步驟:
10、設(shè)計(jì)對(duì)應(yīng)的式(1)如下:
11、
12、其中隸屬度矩陣為:根據(jù)聚類(lèi)標(biāo)簽t=[c0,c1,.......,c(k-1)]能夠轉(zhuǎn)換為n×k的隸屬度矩陣f,n是數(shù)據(jù)點(diǎn)數(shù),k是簇?cái)?shù),選擇合適的k值需要結(jié)合具體問(wèn)題和數(shù)據(jù)特點(diǎn)確定。矩陣的每一行對(duì)應(yīng)一個(gè)數(shù)據(jù)點(diǎn),每一列代表一個(gè)簇,fim∈{0,1}n×k為0-1隸屬矩陣,屬度矩陣f中的每個(gè)元素fim只能夠取0或1并且每行元素之和為1,這樣確保了每個(gè)數(shù)據(jù)點(diǎn)只屬于一個(gè)簇;
13、其中平衡向量:平衡向量元素pm定義為第m個(gè)簇的隸屬度比例,該比例系數(shù)量化了第m個(gè)簇內(nèi)數(shù)據(jù)點(diǎn)的集中程度。
14、進(jìn)一步地,所述s2至少包括以下步驟:
15、設(shè)計(jì)對(duì)應(yīng)的式(2)如下:
16、
17、其中hb(p)為比例熵,用于衡量聚類(lèi)結(jié)果中各簇實(shí)例分布的平衡性;p為平衡向量,pm為隸屬第m個(gè)簇的實(shí)例個(gè)數(shù)占全體實(shí)例個(gè)數(shù)的比值。k為簇?cái)?shù),選擇合適的k值需要結(jié)合具體問(wèn)題和數(shù)據(jù)特點(diǎn)確定;
18、當(dāng)熵hb(p)達(dá)到其最小值時(shí),這表明平衡向量中的各個(gè)元素趨于相等,從而反映出聚類(lèi)結(jié)果在各個(gè)類(lèi)別間達(dá)到了均衡;
19、相反,當(dāng)hb(p)的值較大,則意味著聚類(lèi)結(jié)果在不同類(lèi)別間的分布存在不均衡性,即某些類(lèi)別的數(shù)據(jù)點(diǎn)較為集中,而其他類(lèi)別則相對(duì)稀疏。
20、根據(jù)權(quán)利要求1所述的一種基于比例熵的平衡子空間劃分方法,其特征在于:所述s3設(shè)計(jì)對(duì)應(yīng)式(3)如下:
21、||xi-gm||2#(3)其中xi為數(shù)據(jù)集中第i個(gè)樣本點(diǎn),gm為第m個(gè)聚類(lèi)中心點(diǎn)。
22、進(jìn)一步地,所述s4至少包括以下步驟:
23、設(shè)計(jì)對(duì)應(yīng)式(4)如下:
24、
25、其中f={fim}∈rn×k為0-1隸屬度矩陣,fim=1表示xi屬于第m個(gè)簇,fim=0表示xi不屬于第m個(gè)簇。g表示聚類(lèi)中心矩。p為平衡向量,由一系列元素pm組成,pm為隸屬第m個(gè)簇的實(shí)例個(gè)數(shù)占全體實(shí)例個(gè)數(shù)的比值。λ為超參數(shù),通過(guò)調(diào)整λ的值,探索不同的平衡向量權(quán)重分布。k為簇?cái)?shù),選擇合適的k值需要結(jié)合具體問(wèn)題和數(shù)據(jù)特點(diǎn)來(lái)確定。xi為數(shù)據(jù)集中第i個(gè)樣本點(diǎn),gm為第m個(gè)聚類(lèi)中心點(diǎn),n為數(shù)據(jù)集的樣本點(diǎn)總數(shù)。
26、進(jìn)一步地,所述s5中利用交替方向乘子法求解至少包括以下步驟:
27、需要求解3個(gè)變量,采取迭代方式來(lái)優(yōu)化;
28、首先將其中兩個(gè)參數(shù)固定,求解另一個(gè)參數(shù),即固定f、p,求解g,此時(shí)目標(biāo)函數(shù)轉(zhuǎn)化為式(5):
29、
30、其中g(shù)表示聚類(lèi)中心矩陣,f={fim}∈rn×k為0-1隸屬度矩陣,fim=1表示xi屬于第m個(gè)簇,而fim=0表示xi不屬于第m個(gè)簇。k為簇?cái)?shù),選擇合適的k值需要結(jié)合具體問(wèn)題和數(shù)據(jù)特點(diǎn)確定。xi為數(shù)據(jù)集中第i個(gè)樣本點(diǎn),gm為第m個(gè)聚類(lèi)中心點(diǎn),n為數(shù)據(jù)集的樣本點(diǎn)總數(shù)。
31、對(duì)式(5)求導(dǎo)并令其導(dǎo)數(shù)為零,得到gm的最終表達(dá)式如式(6)所示:
32、
33、其中f={fim}∈rn×k為0-1隸屬度矩陣,fim=1表示xi屬于第m個(gè)簇,而fim=0表示xi不屬于第m個(gè)簇。xi為數(shù)據(jù)集的第i個(gè)樣本點(diǎn),gm為第m個(gè)聚類(lèi)中心點(diǎn),n為數(shù)據(jù)集的樣本點(diǎn)總數(shù)。
34、在求解隸屬矩陣f以及平衡分布向量p時(shí),利用交替方向乘子法來(lái)同時(shí)優(yōu)化這兩個(gè)參數(shù),通過(guò)引入拉格朗日乘子γm(m=1,…k),同時(shí)固定其他變量,得到目標(biāo)式(4)的增廣拉格朗日方程,如式(7):
35、
36、其中f={fim}∈rn×k為0-1隸屬度矩陣,fim=1表示xi屬于第m個(gè)簇,而fim=0表示xi不屬于第m個(gè)簇。p為平衡向量,由一系列元素pm組成,pm為隸屬第m個(gè)簇的實(shí)例個(gè)數(shù)占全體實(shí)例個(gè)數(shù)的比值。γm為第m個(gè)拉格朗日乘子,λ為超參數(shù),通過(guò)調(diào)整λ的值,探索不同的平衡向量權(quán)重分布。k為簇?cái)?shù),選擇合適的k值需要結(jié)合具體問(wèn)題和數(shù)據(jù)特點(diǎn)確定。xi為數(shù)據(jù)集中第i個(gè)樣本點(diǎn),gm為第m個(gè)聚類(lèi)中心點(diǎn),n為數(shù)據(jù)集的樣本點(diǎn)總數(shù),u1為懲罰參數(shù)。
37、admm算法優(yōu)化平衡向量p的迭代更新式如下式(8):
38、
39、其中p(t+1)為t+1次迭代的平衡向量,l為增廣拉格朗日方程,f(t)與γ(t)
40、分別為第t次迭代的0-1隸屬度矩陣與拉格朗日乘子;
41、式(8)描述了在第t+1次迭代中,并且固隸屬矩陣p(t)和拉格朗日乘子γ(t)的情況下,通過(guò)最小化目標(biāo)函數(shù)l來(lái)更新平衡向量p的過(guò)程。
42、具體表達(dá)式如式(9)所示:
43、
44、其中pm(t+1)為t+1迭代的隸屬第m個(gè)簇的實(shí)例個(gè)數(shù)占全體實(shí)例個(gè)數(shù)的比值。fim為隸屬度矩陣元素,fim=1表示xi屬于第m個(gè)簇,而fim=0表示xi不屬于第m個(gè)簇。γm為第m個(gè)拉格朗日乘子,u1為懲罰參數(shù)。k為簇?cái)?shù),選擇合適的k值需要結(jié)合具體問(wèn)題和數(shù)據(jù)特點(diǎn)確定。λ為超參數(shù),通過(guò)調(diào)整λ的值,探索不同的平衡向量權(quán)重分布。
45、求解向量p,利用式(9)可將向量p分為k個(gè)子問(wèn)題,其中第m項(xiàng)為下式(10):
46、
47、其中pm為隸屬第m個(gè)簇的實(shí)例個(gè)數(shù)占全體實(shí)例個(gè)數(shù)的比值。fim為隸屬度矩陣元素,fim=1表示xi屬于第m個(gè)簇,而fim=0表示xi不屬于第m個(gè)簇。γm為第m個(gè)拉格朗日乘子,u1為懲罰參數(shù)。λ為超參數(shù),通過(guò)調(diào)整λ的值,探索不同的平衡向量權(quán)重分布。
48、對(duì)式(10)求導(dǎo)并令其為0,得求解pm公如式(11)所示:
49、
50、其中pm為隸屬第m個(gè)簇的實(shí)例個(gè)數(shù)占全體實(shí)例個(gè)數(shù)的比值。fim為隸屬度矩陣元素,fim=1表示xi屬于第m個(gè)簇,而fim=0表示xi不屬于第m個(gè)簇。γm為第m個(gè)拉格朗日乘子,u1為懲罰參數(shù)。λ為超參數(shù),通過(guò)調(diào)整λ的值,探索不同的平衡向量權(quán)重分布。
51、同理,求解f,利用交替方向乘子法算法優(yōu)化隸屬矩陣f的迭代更新式如下式(12):
52、
53、其中f(t+1)為t+1次迭代的0-1隸屬度矩,l為增廣拉格朗日方程,p(t)與γ(t)分別為第t次迭代的平衡向量與拉格朗日乘子。
54、式(12)描述了在第t+1次迭代中,并且固定平衡向量p(t)和拉格朗日乘子γ(t)的情況下,通過(guò)最小化目標(biāo)函數(shù)l來(lái)更新隸屬度矩陣的過(guò)程,具體表達(dá)式如式(13)所示:
55、
56、其中fim(t+1)為t+1次迭代的隸屬度矩陣元素,fim=1表示xi屬于第m個(gè)簇,而fim=0表示xi不屬于第m個(gè)簇。xi為數(shù)據(jù)集中第i個(gè)樣本點(diǎn),gm為第m個(gè)聚類(lèi)中心點(diǎn)。γm為第m個(gè)拉格朗日乘子,u1為懲罰參數(shù)。k為簇?cái)?shù),選擇合適的k值需要結(jié)合具體問(wèn)題和數(shù)據(jù)特點(diǎn)來(lái)確定。λ為超參數(shù),通過(guò)調(diào)整λ的值,探索不同的平衡向量權(quán)重分布。n為數(shù)據(jù)集的樣本點(diǎn)總數(shù)。
57、其中代入式(13)得到式(14),所示如下:
58、
59、其中fim為隸屬度矩陣元素,fim=1表示xi屬于第m個(gè)簇,而fim=0表示xi不屬于第m個(gè)簇。xi為數(shù)據(jù)集中第i個(gè)樣本點(diǎn),gm為第m個(gè)聚類(lèi)中心點(diǎn)。pm的隸屬第m個(gè)簇的實(shí)例個(gè)數(shù)占全體實(shí)例個(gè)數(shù)的比值。γm為第m個(gè)拉格朗日乘子,u1為懲罰參數(shù)。k為簇?cái)?shù),選擇合適的k值需要結(jié)合具體問(wèn)題和數(shù)據(jù)特點(diǎn)確定。λ為超參數(shù),通過(guò)調(diào)整λ的值,探索不同的平衡向量權(quán)重分布。n為數(shù)據(jù)集的樣本點(diǎn)總數(shù);
60、求解f時(shí),采用逐行求解的方式,即對(duì)每一個(gè)實(shí)例求出當(dāng)前狀態(tài)下的最優(yōu)分配;
61、由式(14)得fi.求解式(15):
62、
63、其中fim為隸屬度矩陣元素,fim=1表示xi屬于第m個(gè)簇,而fim=0表示xi不屬于第m個(gè)簇。pm為隸屬第m個(gè)簇的實(shí)例個(gè)數(shù)占全體實(shí)例個(gè)數(shù)的比值。γm為第m個(gè)拉格朗日乘子,gm為第m個(gè)聚類(lèi)中心點(diǎn),u1為懲罰參數(shù)。k為簇?cái)?shù),選擇合適的k值需要結(jié)合具體問(wèn)題和數(shù)據(jù)特點(diǎn)來(lái)確定。λ為超參數(shù),通過(guò)調(diào)整λ的值,探索不同的平衡向量權(quán)重分。n為數(shù)據(jù)集的樣本點(diǎn)總數(shù);
64、每一個(gè)實(shí)例只允許被分配到一個(gè)簇中;
65、因此,在求解fi.時(shí),會(huì)有k個(gè)候選項(xiàng),每個(gè)候選項(xiàng)代表實(shí)例i屬于第m簇的情況;
66、然后把這k個(gè)候選項(xiàng)分別代入式(15)中,選擇函數(shù)值最小的那個(gè)候選項(xiàng)作為fi.的解;
67、之后不斷循環(huán)這一過(guò)程直到f不再變化,即可得到完整的隸屬矩陣f;
68、更新拉格朗日乘子如式(16)所示:
69、
70、其中,β是超參數(shù),γm為第m個(gè)拉格朗日乘子,u1為懲罰參數(shù),pm為隸屬第m個(gè)簇的實(shí)例個(gè)數(shù)占全體實(shí)例個(gè)數(shù)的比值。fim為隸屬度矩陣元素,fim=1表示xi屬于第m個(gè)簇,而fim=0表示xi不屬于第m個(gè)簇。
71、與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:
72、本發(fā)明通過(guò)定義隸屬度矩陣與平衡向量、比例熵的定義、構(gòu)建聚類(lèi)模型、利用admm算法求解和平衡性指標(biāo)評(píng)估的步驟,實(shí)現(xiàn)了聚類(lèi)結(jié)果中各類(lèi)別的均衡,從而提高了k-means算法的平衡性。