李小紅 常振云



摘? 要: 在大數據的數據挖掘模型中,普遍采用模糊聚類算法進行數據分析。常用的模糊C均值聚類算法即FCM聚類算法,具有較多明顯缺點,如抗噪性偏低、收斂速度慢、聚類數目無法自動確定等。常用的增量式模糊聚類方法通常在原有的以一個中心點為集群代表的基礎上,改為選取多中心點進行增量式聚類算法的分析。但是,通過這樣的算法進行數據分析也存在一定的問題,主要表現在其中心點選擇是固定的,靈活性很差。基于以上原因,文中將對原有基礎算法做出改進,主要對大數據中數據挖掘模型的增量型模糊聚類算法做出分析,經實踐驗證,改進后算法切實可行,普適性較強。
關鍵詞: 增量型模糊聚類; 大數據; 數據挖掘模型; 聚類算法; 余弦相似度; 隸屬度矩陣
中圖分類號: TN911.1?34? ? ? ? ? ? ? ? ? ? ? ?文獻標識碼: 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? 引? 言
社會在不斷發展和進步,信息時代的到來既讓人們享受到了應有的便利,同時也遭受大量信息侵襲的困擾[1]。因此,如何在繁多的數據之中快捷、高效、精確地選取有用信息,成為當下亟需解決的問題。在大數據時代,建立數據挖掘模型就是在龐雜的數據當中對信息進行挖掘,以達到更為高效的信息篩選與獲取的目的。在數據挖掘模型之中,聚類算法作為一種常用算法,主要是將數據進行多個集群劃分,通過多個不同集群的相似度對比,進而進行數據的選擇。本文研究的主要是大數據中數據挖掘模型的模糊改進聚類算法,也即增量型模糊聚類算法,該算法主要依據最小權重閾值展開。
1? 模糊聚類算法
1.1? 模糊聚類算法概述
模糊聚類算法是基于模糊數學而產生的一種數學方法,首先對模糊數學進行簡單介紹。
模糊數學作為有別于經典集合論中非黑即白的絕對關系的突破性數學分支,對于具有不確定性的復雜數據能夠做出精確的分析和篩選[2]。
模糊聚類算法首先通過模糊矩陣來反映研究對象的自身屬性,并依據相應的隸屬度做出聚類,而后以模糊數學為理論依據和基本算法,確定樣本間相互的模糊關系,從而實現精確聚類。聚類也就是將差異化較小的數據劃為一類,而各類之間的差異程度要盡量明顯。
距離矩陣的數學定義是包含一組點間兩兩相互距離的矩陣,當空間中給定了[M]個歐幾里得空間中的點時,其距離矩陣為[M×M]的對稱矩陣,且其元素均為非負實數[6]。舉例來說,二維空間中的點[A~E],其空間布置與距離矩陣分別如圖3,表1所示。
點[A]~[E]在歐幾里得空間當中的距離可由3.1.1節當中所給出的距離公式進行計算,進而得到具體的距離矩陣,通過距離矩陣對其數據的相異度進行分析,從而做出類別劃分。
一般來說,當整體數據的集合為[S],數據塊的大小為[mq]時,其距離矩陣的流程圖如圖4所示。
依據流程圖,將生成距離矩陣的算法簡述如下:
輸入:整體數據集合[S],數據塊大小[mq],數據塊序號[q],參與矩陣運算的集合[K]。
輸出:第[q]個數據塊的距離矩陣。
1.由整體數據集合以及參與矩陣運算的集合[K],獲得未參與矩陣運算的集合[N],[N=S-K]。
2. 對集合[N]與數據塊[mq]做出大小判斷,判斷集合[N]是否小于等于數據塊[mq]。
3. 若集合[N]小于等于數據塊[mq],則數據[N]中的所有數據組成集合[N1]。
4. 否則,從數據集合[N]中隨機抽取[mq]個數據得到新集合[N1]。
5. 令新的參與運算的集合為[K],[K=K+N1]。
6. 進行集合[N1]中的笛卡兒積計算,同時對笛卡兒積中每兩個數據間的距離進行計算。
7. 對所求得笛卡兒積進行矩陣的轉換,同時返回矩陣。
8. 結束。
4? 以最小權重閾值為依據的增量型模糊聚類算法
4.1? 傳統增量型模糊聚類算法的局限性
傳統的增量型模糊聚類算法的局限性主要體現在選取中心點的方法上。大致可以分為兩種:一種是對集群當中的小數據塊進行中心點的選取時,中心點的選取數量固定,代表算法如IMMFC;另一種是集群中可作為小數據塊代表的中心點在進行選取時,通常只選擇權重最大者作為集群的中心點,代表算法如SPFCM。這兩類算法在進行聚類時都不具備較好的普適性,下面分別對二者的局限性進行簡要分析。
4.1.1? IMMFC算法的局限性
在IMMFC算法當中,對每個集群的中心點數量的選擇,都是用戶事先規定好的固定數量。其弊端在于,用戶無法獲取要進行聚類的所有數據塊中的整體數據的分布情況,因此,中心點的固定數量的選取要多少才較為合適是無法確定的。
圖5a)中,數據對象均勻分布在集群邊緣,單個或幾個數據對象對于整個集群來說,不具備很強的代表性。只有在圖5b)中,集群中心與邊緣均存在數據對象的分布,在算法中可以將中心的數據對象選作中心點。用戶通常難以確定集群中數據對象的分布情況,因此IMMFC算法在中心點的數量選取上就存在一定的局限性,不具備普適性。
4.1.2? SPFCM算法的局限性
SPFCM算法當中,整體數據在進行小數據塊的劃分之后,首先對其中一個小數據塊進行模糊C?均值聚類,而后將聚類結果當中權重最大的選作中心點,并將此中心點作為加權對象并入下一個數據塊中,繼續進行模糊C?均值聚類算法。其弊端在于,當集群中全部數據對象的權重都比較小時,即便選擇其中代表性最大者,其代表性也不夠明顯。
如圖5a)中,所有數據對象都分布在集群四周,其在集群中的權重普遍較小,無論選擇哪一個數據對象作為中心點,其代表性都不強。因此,SPFCM算法同樣不具備普適性。
4.2? 基于上述問題的模糊改進聚類算法
4.2.1? 算法的提出緣由
改進的增量型模糊聚類算法的提出,主要是出于對4.1節所述的兩類算法(IMMFC算法以及SPFCM算法)所存在問題的解決需要,是基于上述算法的改進與完善。上述兩種算法的主要局限性在于中心點的選取要點。中心點的選擇要點并非對于其個數的選取要求,而是對于其權重的選取要求。因此,對于大數據中數據挖掘模型的增量型模糊聚類方法的改進,主要是中心點選擇上的改進。用戶可以依據條件需要,設定固定比例[K1],在整體數據當中選取的中心點的權重和與整體數據的權重和的比值為[K2],將[K2]與[K1]進行比較,從而選出具有代表性的中心點,做出最優聚類方案。這樣做的好處是比例值更為直觀和精確地反映出所選中心點在整體數據當中的足夠權重,使得其更具代表性。這也是提出以最小權重閾值為依據而改進的增量型模糊聚類方法。
4.2.2? 算法的主要思路
增量型模糊聚類算法將規模很大的整體數據劃分成多個小數據塊,對于其中的任意個小數據塊,都會對其通過增量型模糊類算法進行模糊聚類的操作。模糊聚類之后,能夠得到相應的模糊隸屬度矩陣以及權重矩陣,而后從權重矩陣當中選出能夠作為集群代表的中心點。設計的算法主要以最小權重閾值為依據,同時取與IMMFC算法相同的目標函數。其思路如下:首先按照增量型模糊聚類算法的模式,將整體數據進行多個小數據塊的合理劃分,而后對每一個小數據塊做出模糊聚類的處理,模糊聚類之后,每一個數據塊中選取3個權重較大的數據作為一個中心點。此中心點既代表其中3個數據對象聚為一類的概率相對較大,同時作為中心點參與最后的算法運算。全部的小數據塊模糊聚類完成之后,依照選取的中心點的權重與整體數據權重的比值[K2],確定中心點選取的最小權重閾值,從而確定中心點選取個數。所選取的中心點集合組成新的數據塊,對此數據塊進行模糊聚類,得到最終權重矩陣,任意集群中的中心點選取該集群中權重最大者,同時,按照集群中所有數據到此中心點距離進行分類。
4.3? 以最小權重閾值為依據的增量型模糊聚類算法的實現
依據4.2.2節中算法的主要思路,對算法進行設計并得以實現。算法中整體數據的小數據塊劃分完成之后,對其隸屬度矩陣[U]以及權重矩陣[V]進行計算。以所給定的最小權重閾值作為基礎依據,將前[m]個數據的權重選入,數量[m]依據各數據的權重和接近最小權重閾值的程度來確定。而后得到集群中3個權重相對最大的數據組成中心點[A],此中心點[A]與其他中心點組成新的數據塊,求得最后中心點之后,以此中心點對集群中所有數據進行分類。
確定算法之前,可對所設計算法中相關參數做出如下定義:整體數據有[n]個數據對象,被分成[m]個集群,其中,[dab]是數據對象[a]到數據對象[b]之間的歐幾里得空間距離,[Uca]是對象[a]到集群[c]的模糊隸屬度,[μbc]是對象[b]到集群[c]的權重。同時,定義[Nn, Nv]以及[Su]三個參數,其中,[Nn, Nv]負責進行閾值權重的調節,[Su]負責相關權重的調節。通過拉格朗日乘數法對權重矩陣[V]和隸屬度矩陣[U]進行推導,得到其更新公式如下:
模糊隸屬度的公式可用類似方法算出,此處不再贅述。
詳細的算法流程如下:
算法1:隸屬度矩陣的初始化
輸入:集群數量[m],距離矩陣[Q]
輸出:完成初始化后的隸屬度矩陣[Um×n]
1. 確定空集[N]為初始化集合
2. 整體集群中所有數據中距離最小的數據[q]作為首個中心點,納入集合[N]。同時,定義變量[j=1],[Ujq=1, Uja=0],其中,[a]=1,2,…,[p-1],[p+1],…,[n]。
3. 令[m=m+1],而后在所有最小距離中選擇數據最大者[q]定為中心點,納入集合[N]。
4. 定義變量[Ujq=1, Uja=0],其中,[a]=1,2,…,[p]?1,[p+1],…,[n]。
5. 集合[N]中個數與集群數量[m]作比較,當二者相等時結束算法。
算法1流程圖如圖6所示。
算法2:權重矩陣的計算以及隸屬度矩陣算法的計算
輸入:集群數量[m],距離矩陣[Q],參數[Nn, Nv]以及[Su],停止閾值[z]
輸出:隸屬度矩陣[U],權重矩陣[V]
1.通過算法1對隸屬度矩陣[U0]進行初始化,確定迭代序號[h=0]。
2.令[h=h+1]。
3.通過公式計算對權重矩陣以及隸屬度矩陣進行更新。
4.將[Uh-Uh-1]與停止閾值[z]相比,直到其值小于停止閾值[z],結束。
算法2流程圖如圖7所示。
算法3:以最小權重閾值為依據的增量型模糊聚類算法
輸入:集群數量[m],最小權重閾值[r],停止閾值[z],相關參數[Nn, Nv]以及[Su],[s]個距離矩陣的數據塊[Rpnp×np]。
輸出:權重矩陣[Vp]及隸屬度矩陣[Up]。
1.定義空集[E]為中心點集合,空集[F]為每個數據塊中3個權重最大的數據組成的中心點集合。
2.通過算法2對數據塊進行處理,求得權重矩陣[Vp]以及隸屬度矩陣[Up]。
3.依據最小權重閾值[r],確定加入集合[E]的最少的中心點數量。
4.每個數據塊中選擇3個權重最大的數據組成中心點,納入空集[F]。
5.依次處理數據塊,直到數據塊處理完成后執行下一步。
6.通過集合[E]的距離矩陣以及集合[F],通過算法2獲得最后的權重矩陣[VP]以及隸屬度矩陣[Up]。
7.結束
算法3流程圖如圖8所示。
4.4? 對算法的實驗測試
實驗通過對采集到的水稻數據集以及用戶模型的數據集的分析,將改進后的以最小權重閾值為依據的增量型模糊聚類算法與IMMFC算法相比較。其中,實驗參數[Nu]取值為0.1,最小權重閾值[r]為1.5,停止閾值[z]為[1×10-5],水稻數據集聚類數[k]取2,用戶模型數據集聚類數[k]取3,參數[Nn, Su]遵照IMMFC算法的相關規則。實驗數據的分塊劃分依據依次是數據塊占整體數據的10%,20%,40%,60%。實驗的精確性結果如圖9,圖10所示。
由圖9,圖10分析易得,整體來看,改進算法進行聚類的準確性在高于10%的情況下均高于IMMFC算法。
5? 結? 論
大數據中數據挖掘模型的算法決定了數據挖掘過程當中的精確性和高效性[7]。傳統的模糊聚類算法以及增量型模糊聚類算法雖然能夠較好地助力數據挖掘,但是普適性仍然不強。實驗證明,以最小權重閾值為依據的增量型模糊聚類能夠在很大程度上克服這一問題,為大數據中的數據挖掘帶來便利。
參考文獻
[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] 謝娟英,屈亞楠.密度峰值優化初始中心的K?medoids聚類算法[J].計算機科學與探索,2016,10(2):230?247.
[4] 許凱,吳小俊,尹賀峰.基于分布式低秩表示的子空間聚類算法[J].計算機研究與發展,2016,53(7):1605?1611.
[5] 鄭超,徐恬.一種改進的核模糊聚類算法[J].軟件導刊,2016,15(1):41?42.
[6] 李滔,王士同.適合大規模數據集的增量式模糊聚類算法[J].智能系統學報,2016,11(2):188?199.
[7] 鄭和榮,陳懇,潘翔.結合代表點和密度峰的增量動態聚類算法[J].浙江工業大學學報,2017,45(4):427?433.
[8] 惠飛,黃士坦.基于灰度特征聚類的圖像自動分割方法[J].武漢大學學報,2009,43(6):405?408.
[9] 劉碩,胡雅婷,馬駟良.基于模擬退火的無監督和模糊聚類算法[J].吉林大學學報,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.