R語言代寫基於模型的聚類和高斯混合模型

原文連接:http://tecdat.cn/?p=6105

 

介紹

 

聚類模型是一個概念,用於表示咱們試圖識別的聚類類型。四種最多見的聚類方法模型是層次聚類,k均值聚類,基於模型的聚類和基於密度的聚類 算法

能夠基於兩個主要目標評估良好的聚類算法:微信

  • 高級內類似性
  • 低級間類似性

 

基於模型的聚類是迭代方法,經過優化聚類中數據集的分佈,將一組數據集擬合到聚類中。高斯分佈只不過是正態分佈。此方法分三步進行:app

  1. 首先隨機選擇高斯參數並將其擬合到數據點集。
  2. 迭代地優化分佈參數以適應儘量多的點。
  3. 一旦收斂到局部最小值,您就能夠將數據點分配到更接近該羣集的分佈。

 有關高斯混合模型的詳細信息

基於機率模型的聚類技術已被普遍使用,而且已經在許多應用中顯示出有但願的結果,從圖像分割,手寫識別,文檔聚類,主題建模到信息檢索。基於模型的聚類方法嘗試使用機率方法優化觀察數據與某些數學模型之間的擬合。框架

 

生成模型一般使用EM方法求解,EM方法是用於估計有限混合機率密度的參數的最普遍使用的方法。基於模型的聚類框架提供了處理此方法中的幾個問題的主要方法,例如組件密度(或聚類)的數量,參數的初始值(EM算法須要初始參數值才能開始),以及份量密度的分佈(例如,高斯分佈)。EM以隨機或啓發式初始化開始,而後迭代地使用兩個步驟來解決計算中的循環:函數

  • E-Step。使用當前模型參數肯定將數據點分配給羣集的預期機率。
  • M-Step。經過使用分配機率做爲權重來肯定每種混合物的最佳模型參數。

 

R中的建模

 

mb = Mclust(iris[,-5])

#or specify number of clusters
mb3 = Mclust(iris[,-5], 3)

# optimal selected model
mb$modelName

# optimal number of cluster
mb$G

# probality for an observation to be in a given cluster
head(mb$z)

# get probabilities, means, variances
summary(mb, parameters = TRUE)

 

table(iris$Species, mb$classification)
# vs
table(iris$Species, mb3$classification)

比較每一個羣集中的數據量post

在將數據擬合到模型中以後,咱們基於聚類結果繪製模型。大數據

​ 

讓咱們繪製估計的密度。 優化

plot(mb, "density")

 


您還可使用該summary()函數來獲取最可能的模型和最可能數量的集羣。對於此示例,最可能的簇數爲5,BIC值等於-556.1142。ui

比較聚類方法

在使用不一樣的聚類方法將數據擬合到聚類中以後,您可能但願測量聚類的準確性。在大多數狀況下,您可使用集羣內集羣度量標準做爲度量。集羣間距離越高越好,集羣內距離越低,越好。spa

 

接下來,檢索聚類方法的集羣驗證統計信息:

一般,咱們專一於使用within.cluster.ssavg.silwidth驗證聚類方法。該within.cluster.ss測量表示所述簇內總和的平方,和avg.silwidth表示平均輪廓寬度

  • within.cluster.ss測量顯示了相關對象在羣集中的緊密程度; 值越小,集羣中的對象越緊密。
  • avg.silwidth是一種度量,它考慮了羣集中相關對象的緊密程度以及羣集之間的分離方式。輪廓值一般爲0到1; 接近1的值代表數據更好地聚類。

 

k-means和GMM之間的關係

K均值能夠表示爲高斯混合模型的特例。一般,高斯混合更具表現力,由於數據項對羣集的成員資格取決於該羣集的形狀,而不單單取決於其接近度。

與k-means同樣,用EM訓練高斯混合模型可能對初始啓動條件很是敏感。若是咱們將GMM與k-means進行比較和對比,咱們會發現前者的初始條件比後者更多。 

結果

 每一個聚類被建模爲多元高斯分佈,並經過給出如下內容來指定模型:

  1. 集羣數量。
  2. 每一個羣集中全部數據點的分數。
  3. 每一個聚類的均值和它的d-by-d協方差矩陣。

  

若是您有任何疑問,請在下面發表評論。   

大數據部落 -中國專業的第三方數據服務提供商,提供定製化的一站式數據挖掘和統計分析諮詢服務

統計分析和數據挖掘諮詢服務:y0.cn/teradat(諮詢服務請聯繫官網客服

點擊這裏給我發消息QQ:3025393450

 

​QQ交流羣:186388004 

【服務場景】  

科研項目; 公司項目外包;線上線下一對一培訓;數據爬蟲採集;學術研究;報告撰寫;市場調查。

【大數據部落】提供定製化的一站式數據挖掘和統計分析諮詢

歡迎選修咱們的R語言數據分析挖掘必知必會課程!

 

 
歡迎關注 微信公衆號,瞭解更多數據乾貨資訊!
 
相關文章
相關標籤/搜索