李小紅 常振云
摘? 要: 在大數(shù)據(jù)的數(shù)據(jù)挖掘模型中,普遍采用模糊聚類算法進行數(shù)據(jù)分析。常用的模糊C均值聚類算法即FCM聚類算法,具有較多明顯缺點,如抗噪性偏低、收斂速度慢、聚類數(shù)目無法自動確定等。常用的增量式模糊聚類方法通常在原有的以一個中心點為集群代表的基礎(chǔ)上,改為選取多中心點進行增量式聚類算法的分析。但是,通過這樣的算法進行數(shù)據(jù)分析也存在一定的問題,主要表現(xiàn)在其中心點選擇是固定的,靈活性很差?;谝陨显?,文中將對原有基礎(chǔ)算法做出改進,主要對大數(shù)據(jù)中數(shù)據(jù)挖掘模型的增量型模糊聚類算法做出分析,經(jīng)實踐驗證,改進后算法切實可行,普適性較強。
關(guān)鍵詞: 增量型模糊聚類; 大數(shù)據(jù); 數(shù)據(jù)挖掘模型; 聚類算法; 余弦相似度; 隸屬度矩陣
中圖分類號: TN911.1?34? ? ? ? ? ? ? ? ? ? ? ?文獻標(biāo)識碼: A? ? ? ? ? ? ? ? ? ? ? ? ? 文章編號: 1004?373X(2020)03?0177?06
Improved fuzzy clustering algorithm for data mining model in big data
LI Xiaohong, CHANG Zhenyun
(School of Information Science and Engineering, Tianshi College, Tianjin 301700, China)
Abstract: The fuzzy clustering algorithm is widely used in data mining model of big data for data analysis. The commonly used fuzzy C?means clustering algorithm, also known as FCM clustering algorithm, has obvious disadvantages, for instance, the noise immunity is poor, the convergence speed is slow, and the number of clusters cannot be determined automatically. In the commonly used incremental fuzzy clustering algorithm, multi?center points are selected for incremental clustering algorithm analysis instead of taking one center point as the cluster representative as before. However, there are still certain problems in the algorithm in the process of data analysis, mainly because the selection of the center point is fixed, resulting the poor flexibility. In view of the above, the existing basic algorithm will be improved, and the incremental fuzzy clustering algorithm for data mining model in big data will be mainly analyzed. The practice shows that the improved algorithm is feasible and universal.
Keywords: incremental fuzzy clustering; big data; data mining model; clustering algorithm; cosine similarity; membership matrix
0? 引? 言
社會在不斷發(fā)展和進步,信息時代的到來既讓人們享受到了應(yīng)有的便利,同時也遭受大量信息侵襲的困擾[1]。因此,如何在繁多的數(shù)據(jù)之中快捷、高效、精確地選取有用信息,成為當(dāng)下亟需解決的問題。在大數(shù)據(jù)時代,建立數(shù)據(jù)挖掘模型就是在龐雜的數(shù)據(jù)當(dāng)中對信息進行挖掘,以達(dá)到更為高效的信息篩選與獲取的目的。在數(shù)據(jù)挖掘模型之中,聚類算法作為一種常用算法,主要是將數(shù)據(jù)進行多個集群劃分,通過多個不同集群的相似度對比,進而進行數(shù)據(jù)的選擇。本文研究的主要是大數(shù)據(jù)中數(shù)據(jù)挖掘模型的模糊改進聚類算法,也即增量型模糊聚類算法,該算法主要依據(jù)最小權(quán)重閾值展開。
1? 模糊聚類算法
1.1? 模糊聚類算法概述
模糊聚類算法是基于模糊數(shù)學(xué)而產(chǎn)生的一種數(shù)學(xué)方法,首先對模糊數(shù)學(xué)進行簡單介紹。
模糊數(shù)學(xué)作為有別于經(jīng)典集合論中非黑即白的絕對關(guān)系的突破性數(shù)學(xué)分支,對于具有不確定性的復(fù)雜數(shù)據(jù)能夠做出精確的分析和篩選[2]。
模糊聚類算法首先通過模糊矩陣來反映研究對象的自身屬性,并依據(jù)相應(yīng)的隸屬度做出聚類,而后以模糊數(shù)學(xué)為理論依據(jù)和基本算法,確定樣本間相互的模糊關(guān)系,從而實現(xiàn)精確聚類。聚類也就是將差異化較小的數(shù)據(jù)劃為一類,而各類之間的差異程度要盡量明顯。
距離矩陣的數(shù)學(xué)定義是包含一組點間兩兩相互距離的矩陣,當(dāng)空間中給定了[M]個歐幾里得空間中的點時,其距離矩陣為[M×M]的對稱矩陣,且其元素均為非負(fù)實數(shù)[6]。舉例來說,二維空間中的點[A~E],其空間布置與距離矩陣分別如圖3,表1所示。
點[A]~[E]在歐幾里得空間當(dāng)中的距離可由3.1.1節(jié)當(dāng)中所給出的距離公式進行計算,進而得到具體的距離矩陣,通過距離矩陣對其數(shù)據(jù)的相異度進行分析,從而做出類別劃分。
一般來說,當(dāng)整體數(shù)據(jù)的集合為[S],數(shù)據(jù)塊的大小為[mq]時,其距離矩陣的流程圖如圖4所示。
依據(jù)流程圖,將生成距離矩陣的算法簡述如下:
輸入:整體數(shù)據(jù)集合[S],數(shù)據(jù)塊大小[mq],數(shù)據(jù)塊序號[q],參與矩陣運算的集合[K]。
輸出:第[q]個數(shù)據(jù)塊的距離矩陣。
1.由整體數(shù)據(jù)集合以及參與矩陣運算的集合[K],獲得未參與矩陣運算的集合[N],[N=S-K]。
2. 對集合[N]與數(shù)據(jù)塊[mq]做出大小判斷,判斷集合[N]是否小于等于數(shù)據(jù)塊[mq]。
3. 若集合[N]小于等于數(shù)據(jù)塊[mq],則數(shù)據(jù)[N]中的所有數(shù)據(jù)組成集合[N1]。
4. 否則,從數(shù)據(jù)集合[N]中隨機抽取[mq]個數(shù)據(jù)得到新集合[N1]。
5. 令新的參與運算的集合為[K],[K=K+N1]。
6. 進行集合[N1]中的笛卡兒積計算,同時對笛卡兒積中每兩個數(shù)據(jù)間的距離進行計算。
7. 對所求得笛卡兒積進行矩陣的轉(zhuǎn)換,同時返回矩陣。
8. 結(jié)束。
4? 以最小權(quán)重閾值為依據(jù)的增量型模糊聚類算法
4.1? 傳統(tǒng)增量型模糊聚類算法的局限性
傳統(tǒng)的增量型模糊聚類算法的局限性主要體現(xiàn)在選取中心點的方法上。大致可以分為兩種:一種是對集群當(dāng)中的小數(shù)據(jù)塊進行中心點的選取時,中心點的選取數(shù)量固定,代表算法如IMMFC;另一種是集群中可作為小數(shù)據(jù)塊代表的中心點在進行選取時,通常只選擇權(quán)重最大者作為集群的中心點,代表算法如SPFCM。這兩類算法在進行聚類時都不具備較好的普適性,下面分別對二者的局限性進行簡要分析。
4.1.1? IMMFC算法的局限性
在IMMFC算法當(dāng)中,對每個集群的中心點數(shù)量的選擇,都是用戶事先規(guī)定好的固定數(shù)量。其弊端在于,用戶無法獲取要進行聚類的所有數(shù)據(jù)塊中的整體數(shù)據(jù)的分布情況,因此,中心點的固定數(shù)量的選取要多少才較為合適是無法確定的。
圖5a)中,數(shù)據(jù)對象均勻分布在集群邊緣,單個或幾個數(shù)據(jù)對象對于整個集群來說,不具備很強的代表性。只有在圖5b)中,集群中心與邊緣均存在數(shù)據(jù)對象的分布,在算法中可以將中心的數(shù)據(jù)對象選作中心點。用戶通常難以確定集群中數(shù)據(jù)對象的分布情況,因此IMMFC算法在中心點的數(shù)量選取上就存在一定的局限性,不具備普適性。
4.1.2? SPFCM算法的局限性
SPFCM算法當(dāng)中,整體數(shù)據(jù)在進行小數(shù)據(jù)塊的劃分之后,首先對其中一個小數(shù)據(jù)塊進行模糊C?均值聚類,而后將聚類結(jié)果當(dāng)中權(quán)重最大的選作中心點,并將此中心點作為加權(quán)對象并入下一個數(shù)據(jù)塊中,繼續(xù)進行模糊C?均值聚類算法。其弊端在于,當(dāng)集群中全部數(shù)據(jù)對象的權(quán)重都比較小時,即便選擇其中代表性最大者,其代表性也不夠明顯。
如圖5a)中,所有數(shù)據(jù)對象都分布在集群四周,其在集群中的權(quán)重普遍較小,無論選擇哪一個數(shù)據(jù)對象作為中心點,其代表性都不強。因此,SPFCM算法同樣不具備普適性。
4.2? 基于上述問題的模糊改進聚類算法
4.2.1? 算法的提出緣由
改進的增量型模糊聚類算法的提出,主要是出于對4.1節(jié)所述的兩類算法(IMMFC算法以及SPFCM算法)所存在問題的解決需要,是基于上述算法的改進與完善。上述兩種算法的主要局限性在于中心點的選取要點。中心點的選擇要點并非對于其個數(shù)的選取要求,而是對于其權(quán)重的選取要求。因此,對于大數(shù)據(jù)中數(shù)據(jù)挖掘模型的增量型模糊聚類方法的改進,主要是中心點選擇上的改進。用戶可以依據(jù)條件需要,設(shè)定固定比例[K1],在整體數(shù)據(jù)當(dāng)中選取的中心點的權(quán)重和與整體數(shù)據(jù)的權(quán)重和的比值為[K2],將[K2]與[K1]進行比較,從而選出具有代表性的中心點,做出最優(yōu)聚類方案。這樣做的好處是比例值更為直觀和精確地反映出所選中心點在整體數(shù)據(jù)當(dāng)中的足夠權(quán)重,使得其更具代表性。這也是提出以最小權(quán)重閾值為依據(jù)而改進的增量型模糊聚類方法。
4.2.2? 算法的主要思路
增量型模糊聚類算法將規(guī)模很大的整體數(shù)據(jù)劃分成多個小數(shù)據(jù)塊,對于其中的任意個小數(shù)據(jù)塊,都會對其通過增量型模糊類算法進行模糊聚類的操作。模糊聚類之后,能夠得到相應(yīng)的模糊隸屬度矩陣以及權(quán)重矩陣,而后從權(quán)重矩陣當(dāng)中選出能夠作為集群代表的中心點。設(shè)計的算法主要以最小權(quán)重閾值為依據(jù),同時取與IMMFC算法相同的目標(biāo)函數(shù)。其思路如下:首先按照增量型模糊聚類算法的模式,將整體數(shù)據(jù)進行多個小數(shù)據(jù)塊的合理劃分,而后對每一個小數(shù)據(jù)塊做出模糊聚類的處理,模糊聚類之后,每一個數(shù)據(jù)塊中選取3個權(quán)重較大的數(shù)據(jù)作為一個中心點。此中心點既代表其中3個數(shù)據(jù)對象聚為一類的概率相對較大,同時作為中心點參與最后的算法運算。全部的小數(shù)據(jù)塊模糊聚類完成之后,依照選取的中心點的權(quán)重與整體數(shù)據(jù)權(quán)重的比值[K2],確定中心點選取的最小權(quán)重閾值,從而確定中心點選取個數(shù)。所選取的中心點集合組成新的數(shù)據(jù)塊,對此數(shù)據(jù)塊進行模糊聚類,得到最終權(quán)重矩陣,任意集群中的中心點選取該集群中權(quán)重最大者,同時,按照集群中所有數(shù)據(jù)到此中心點距離進行分類。
4.3? 以最小權(quán)重閾值為依據(jù)的增量型模糊聚類算法的實現(xiàn)
依據(jù)4.2.2節(jié)中算法的主要思路,對算法進行設(shè)計并得以實現(xiàn)。算法中整體數(shù)據(jù)的小數(shù)據(jù)塊劃分完成之后,對其隸屬度矩陣[U]以及權(quán)重矩陣[V]進行計算。以所給定的最小權(quán)重閾值作為基礎(chǔ)依據(jù),將前[m]個數(shù)據(jù)的權(quán)重選入,數(shù)量[m]依據(jù)各數(shù)據(jù)的權(quán)重和接近最小權(quán)重閾值的程度來確定。而后得到集群中3個權(quán)重相對最大的數(shù)據(jù)組成中心點[A],此中心點[A]與其他中心點組成新的數(shù)據(jù)塊,求得最后中心點之后,以此中心點對集群中所有數(shù)據(jù)進行分類。
確定算法之前,可對所設(shè)計算法中相關(guān)參數(shù)做出如下定義:整體數(shù)據(jù)有[n]個數(shù)據(jù)對象,被分成[m]個集群,其中,[dab]是數(shù)據(jù)對象[a]到數(shù)據(jù)對象[b]之間的歐幾里得空間距離,[Uca]是對象[a]到集群[c]的模糊隸屬度,[μbc]是對象[b]到集群[c]的權(quán)重。同時,定義[Nn, Nv]以及[Su]三個參數(shù),其中,[Nn, Nv]負(fù)責(zé)進行閾值權(quán)重的調(diào)節(jié),[Su]負(fù)責(zé)相關(guān)權(quán)重的調(diào)節(jié)。通過拉格朗日乘數(shù)法對權(quán)重矩陣[V]和隸屬度矩陣[U]進行推導(dǎo),得到其更新公式如下:
模糊隸屬度的公式可用類似方法算出,此處不再贅述。
詳細(xì)的算法流程如下:
算法1:隸屬度矩陣的初始化
輸入:集群數(shù)量[m],距離矩陣[Q]
輸出:完成初始化后的隸屬度矩陣[Um×n]
1. 確定空集[N]為初始化集合
2. 整體集群中所有數(shù)據(jù)中距離最小的數(shù)據(jù)[q]作為首個中心點,納入集合[N]。同時,定義變量[j=1],[Ujq=1, Uja=0],其中,[a]=1,2,…,[p-1],[p+1],…,[n]。
3. 令[m=m+1],而后在所有最小距離中選擇數(shù)據(jù)最大者[q]定為中心點,納入集合[N]。
4. 定義變量[Ujq=1, Uja=0],其中,[a]=1,2,…,[p]?1,[p+1],…,[n]。
5. 集合[N]中個數(shù)與集群數(shù)量[m]作比較,當(dāng)二者相等時結(jié)束算法。
算法1流程圖如圖6所示。
算法2:權(quán)重矩陣的計算以及隸屬度矩陣算法的計算
輸入:集群數(shù)量[m],距離矩陣[Q],參數(shù)[Nn, Nv]以及[Su],停止閾值[z]
輸出:隸屬度矩陣[U],權(quán)重矩陣[V]
1.通過算法1對隸屬度矩陣[U0]進行初始化,確定迭代序號[h=0]。
2.令[h=h+1]。
3.通過公式計算對權(quán)重矩陣以及隸屬度矩陣進行更新。
4.將[Uh-Uh-1]與停止閾值[z]相比,直到其值小于停止閾值[z],結(jié)束。
算法2流程圖如圖7所示。
算法3:以最小權(quán)重閾值為依據(jù)的增量型模糊聚類算法
輸入:集群數(shù)量[m],最小權(quán)重閾值[r],停止閾值[z],相關(guān)參數(shù)[Nn, Nv]以及[Su],[s]個距離矩陣的數(shù)據(jù)塊[Rpnp×np]。
輸出:權(quán)重矩陣[Vp]及隸屬度矩陣[Up]。
1.定義空集[E]為中心點集合,空集[F]為每個數(shù)據(jù)塊中3個權(quán)重最大的數(shù)據(jù)組成的中心點集合。
2.通過算法2對數(shù)據(jù)塊進行處理,求得權(quán)重矩陣[Vp]以及隸屬度矩陣[Up]。
3.依據(jù)最小權(quán)重閾值[r],確定加入集合[E]的最少的中心點數(shù)量。
4.每個數(shù)據(jù)塊中選擇3個權(quán)重最大的數(shù)據(jù)組成中心點,納入空集[F]。
5.依次處理數(shù)據(jù)塊,直到數(shù)據(jù)塊處理完成后執(zhí)行下一步。
6.通過集合[E]的距離矩陣以及集合[F],通過算法2獲得最后的權(quán)重矩陣[VP]以及隸屬度矩陣[Up]。
7.結(jié)束
算法3流程圖如圖8所示。
4.4? 對算法的實驗測試
實驗通過對采集到的水稻數(shù)據(jù)集以及用戶模型的數(shù)據(jù)集的分析,將改進后的以最小權(quán)重閾值為依據(jù)的增量型模糊聚類算法與IMMFC算法相比較。其中,實驗參數(shù)[Nu]取值為0.1,最小權(quán)重閾值[r]為1.5,停止閾值[z]為[1×10-5],水稻數(shù)據(jù)集聚類數(shù)[k]取2,用戶模型數(shù)據(jù)集聚類數(shù)[k]取3,參數(shù)[Nn, Su]遵照IMMFC算法的相關(guān)規(guī)則。實驗數(shù)據(jù)的分塊劃分依據(jù)依次是數(shù)據(jù)塊占整體數(shù)據(jù)的10%,20%,40%,60%。實驗的精確性結(jié)果如圖9,圖10所示。
由圖9,圖10分析易得,整體來看,改進算法進行聚類的準(zhǔn)確性在高于10%的情況下均高于IMMFC算法。
5? 結(jié)? 論
大數(shù)據(jù)中數(shù)據(jù)挖掘模型的算法決定了數(shù)據(jù)挖掘過程當(dāng)中的精確性和高效性[7]。傳統(tǒng)的模糊聚類算法以及增量型模糊聚類算法雖然能夠較好地助力數(shù)據(jù)挖掘,但是普適性仍然不強。實驗證明,以最小權(quán)重閾值為依據(jù)的增量型模糊聚類能夠在很大程度上克服這一問題,為大數(shù)據(jù)中的數(shù)據(jù)挖掘帶來便利。
參考文獻
[1] MACQUEEN J. Some methods for classification and analysis of multivariate observations [C]// Proc of Berkeley Symposium on Mathematical Statistics & Probability. Berkeley, Calif.: University of California Press, 1965: 281?297.
[2] KAUFMAN L, ROUSSEEUW P J. Finding groups in data: an introduction to cluster analysis [M]. Hoboken, New Jersey: John Wiley & Sons, Inc., 1990.
[3] 謝娟英,屈亞楠.密度峰值優(yōu)化初始中心的K?medoids聚類算法[J].計算機科學(xué)與探索,2016,10(2):230?247.
[4] 許凱,吳小俊,尹賀峰.基于分布式低秩表示的子空間聚類算法[J].計算機研究與發(fā)展,2016,53(7):1605?1611.
[5] 鄭超,徐恬.一種改進的核模糊聚類算法[J].軟件導(dǎo)刊,2016,15(1):41?42.
[6] 李滔,王士同.適合大規(guī)模數(shù)據(jù)集的增量式模糊聚類算法[J].智能系統(tǒng)學(xué)報,2016,11(2):188?199.
[7] 鄭和榮,陳懇,潘翔.結(jié)合代表點和密度峰的增量動態(tài)聚類算法[J].浙江工業(yè)大學(xué)學(xué)報,2017,45(4):427?433.
[8] 惠飛,黃士坦.基于灰度特征聚類的圖像自動分割方法[J].武漢大學(xué)學(xué)報,2009,43(6):405?408.
[9] 劉碩,胡雅婷,馬駟良.基于模擬退火的無監(jiān)督和模糊聚類算法[J].吉林大學(xué)學(xué)報,2009,47(2):317?322.
[10] GRAVES D, PEDRYCZ W. Kernel?based fuzzy clustering and fuzzy clustering: a comparative experimental study [J]. Fuzzy sets and systems, 2010, 161: 522?543.