模糊c均值聚类_六种常用的文本聚类方法介绍
文本聚類算法介紹
分類和聚類都是文本挖掘中常使用的方法,他們的目的都是將相似度高的對象歸類,不同點在于分類是采用監督學習,分類算法按照已經定義好的類別來識別一篇文本,而聚類是將若干文本進行相似度比較,最后將相似度高的歸為一類[40]。在分類算法中,訓練集為已經標注好的數據集,但是微博文本具有的大數據特性及不確定性決定了標注數據的難度,因此本文選擇聚類算法對大量且隨機的微博文本進行處理。
大量文本建模后還需要對主題分布進行聚類以得到更精確簡潔的話題,因此文本聚類在話題檢測技術中具有重要意義。聚類是一種無監督學習方式,目的是把一個數據根據某種規則劃分為多個子數據,一個子數據就稱為一個聚類。聚類分析在文本分析、商務應用、網頁搜索、推薦系統、生物醫學等多個領域都有著十分廣泛的應用。由于數據應用場合不同,不同的聚類方式側重點不同,各有優勢和缺陷,因此目前沒有一個通用的聚類算法。目前聚類主要分為以下幾類:基于劃分的聚類算法、基于層次的聚類算法、基于密度的聚類算法、基于網格的聚類算法、基于模型的聚類算法以及基于模糊的聚類算法[41]。圖2-8為目前主要的聚類算法分類圖。
圖 2-8 聚類算法分類圖
2.4.1 基于劃分的聚類算法
基于劃分的聚類算法是聚類算法中最為簡單的算法,假設有一個數據集 ,其中包含 個子數據,若要將 劃分為 個類簇, ,每個類簇中至少含有一個子數據,且類簇之間不會有交集。要達到的要求是簇中的數據之間有較高的相似度,而簇類之間的相似度盡可能地低。經過專家學者的不斷研究, K-means算法、Single-Pass增量聚類算法、圍繞中心劃分(Partitioning Around Mediods,PAM)算法等等都得到了較為廣泛的應用。而其中最為經典、應用最多的是K-means算法。
K-means算法又稱 均值算法,是一種容易實現且應用廣泛的聚類算法,其算法的思想是首先在數據樣本集中隨機選取 個樣本作為簇中心;然后計算樣本集中其他樣本與這 個簇中心的距離,距離通常利用曼哈頓距離、歐式距離等來度量,再根據設定的閾值將每個樣本劃分到與其距離最近的簇中心所在的簇中;最后根據新劃分的簇重新計算距離,將簇中所含樣本的距離均值作為更新簇的中心,再重復計算距離直到達到條件。K-means算法最關鍵的就是確定 的個數[42]。
基于劃分的聚類算法對于大部分數據都有較強的適用性,且計算簡單高效,空間復雜度較低,但是在處理大規模樣本時結果多數是局部最優,對于類簇中心選取也十分敏感并且無法解決非凸數據。
2.4.2 基于層次的聚類算法
層次聚類算法(Hierarchical Clustering,HC)又稱為樹聚類算法[43]。主要思想是將樣本集合合并或者分裂成凝聚度更高或者更細致的子樣本集合,最終樣本集合形成一棵層次樹。同K-means算法不同,層次聚類算法不需要預先設定聚類數 ,只要樣本集合通過不斷迭代達到聚類條件或者迭代次數即可?;趯哟蝿澐值慕浀渚垲愃惴ㄓ?#xff1a;變色龍算法、AGNES(Agglomerative NE Sting)、CURE(Clustering Using RE Presentatives)等。根據聚類的方向基于層次的聚類算法可以分為凝聚式和分裂式,凝聚式是將簇結合起來,而分裂式則是將大的類簇分為小類。
(1)凝聚式層次聚類算法
凝聚式層次聚類(Hierarchical Agglomerative Clustering,HAC)顧名思義是凝聚數據樣本,它的聚類方向是從子數據向上不斷合并,該算法經常運用于話題檢測中。凝聚式層次聚類首先從底部分散的單個樣本開始依次計算與其他樣本的距離,然后選擇距離最小樣本并與其合并成一個新的樣本集,再重復上述過程直到形成一個包含所有樣本的簇,或者達到迭代次數。凝聚式層次聚類只需要計算樣本之間的距離然后合并,該方法計算簡單,但是如果數據樣本太大則算法復雜度會呈指數級增長,且已合并的操作無法逆轉。
(2)分裂式層次聚類算法
分裂式層次聚類與凝聚式層次聚類處理樣本數據的方向是相反的,它是將整個數據樣本看作一個大類簇,然后根據距離公式或其他原則將大的類簇分為小的類簇,不斷迭代直到將所有的樣本數據分類到單獨的類簇中或者是達到迭代次數。層次聚類被公認為是能夠產生較好質量的聚類結果的聚類算法[44]。此算法缺點是已操作不能撤回,對于大量數據樣本時間復雜度高。
2.4.3 基于密度的聚類算法
基于密度的聚類算法的主要思想是首先找出密度較高的點,然后把周圍相近的密度較高的樣本點連成一片,最后形成各類簇?;诿芏鹊木垲惐容^代表性的三種方法有:Ester等提出的DBSCAN[45]方法、Ankerst 等提出OPTICS[46]方法和 Hinneburg 提出的 DENCLUE[47]技術。此類算法的優點是魯棒性很強,對于任意形狀的聚類都適用,但是結果的精度與參數設置關系密切,實用性不強。
2.4.4 基于網格的聚類算法
與其他聚類算法相比較,基于網格的聚類算法出發點不再是平面而是空間。在該空間中,有限個網格代表數據,聚類就是按一定的規則將網格合并。Wang等人提出的STING算法[48]及其改進算法、Agrawa等人提出的CLIQUE算法l[49]等都是較為經典的基于網格的算法。基于網格的聚類算法由于處理數據時是獨立的,僅僅依賴網格結構中每一維的單位數,因此處理速度很快。但是此算法對參數十分敏感,速度快的代價是精確度不高,通常需要與其他聚類算法結合使用。
2.4.5 基于模型的聚類算法
基于模型的聚類算法的思路是假設每個類簇為一個模型,然后再尋找與該模型擬合最好的數據,通常有基于概率和基于神經網絡兩種方法。概率模型即概率生成模型,是假設數據是由潛在的概率分布產生的,典型的算法是高斯混合模型(Gaussian Mixture Models,GMM)[50];而來自芬蘭的神經網絡專家提出的自組織映射(Self Organized Maps,SOM)是典型的神經網絡模型[51]。對類簇而言,基于模型的聚類算法是用概率形式呈現,每個類的特征也可以直接用參數表示,但是與其他聚類方法相比,這類聚類方法在樣本數據量大的時候執行率較低,不適合大規模聚類場合。
2.4.6 基于模糊的聚類算法
基于模糊的聚類算法主要是為了克服非此即彼的分類缺陷,它的主要思想是以模糊集合論作為數學基礎,用模糊數學的方法進行聚類分析。此方法的優點在于對于滿足正態分布的樣本數據來說它的效果會很好,但是此算法過于依賴初始聚類中心,為確定初始聚類中心需要多次迭代以尋找最佳點,對于大規模數據樣本來說會大大增加時間復雜度。
上述的聚類方法各有千秋,在面對不同的數據集時能起到不同的作用,在參考韓威等[52]的文獻之后列出表2-2直觀展示幾種主要算法在性能方面的差異。
表2-2 幾種常用聚類算法對比
聚類算法
處理大規模數據能力
處理高維數據能力
發現任意形狀簇的能力
數據順序敏感度
處理噪聲能力
基于層次的方法
弱
較強
強
不敏感
較弱
基于劃分的方法
較弱
強
較強
不敏感
弱
基于密度的方法
較強
弱
強
不敏感
強
Single-pass算法
強
強
較強
敏感
強
從表2-2可以直觀地看出,對于初始無法確定主題個數且大規模的微博短文本來說,Single-Pass增量算法更適合。但是Single-Pass增量算法對于數據輸入時的順序十分敏感,并且計算復雜度隨著數據的增大而增多,因此本文采用改進的Single-Pass增量算法對話題進行檢測。經過改進的Single-Pass增量算法處理后的文本凝聚度相對較高,維度相對較低,再采用適合處理這類文本的凝聚式層次聚類進行話題合并以得到熱點話題。通過結合Single-Pass增量算法與凝聚式層次聚類算法,對大量微博短文本進行處理提取出熱點話題,能有效提高效率,同時得到更精確的熱點話題。
總結
以上是生活随笔為你收集整理的模糊c均值聚类_六种常用的文本聚类方法介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 你我贷第二次好批吗
- 下一篇: nextcloud网站不安全_教你搭建私