機器學習中的聚類

1、聚類

無監督通過對無標記訓練樣本的學習來找到這些數據的內在性質,使用最多的就是聚類。

聚類思想:將數據劃分爲幾個不相交的子集(也就是簇,cluster),每個簇潛在的對應某一個概念。聚類僅僅是生成cluster,但是簇的語義要由使用者自己解釋。

聚類的作用:探索性方法,用來分析內在特點,尋找數據的分佈規律。

如圖樣本點分爲四個簇



2、聚類的方法
(1)k-means

即xi裏那個簇均值向量最近,該樣本就標記爲那個簇

工作流程:隨機選取k個初始點作爲質心,然後將每一個點分配到離質心最近的那個簇中,完成後,每個簇的質心更改爲該簇所有點的平均值

參數k:該算法需要確定參數k,常用的方法有如下:

  • 經驗:使用公式k=sqrt(n/2),不過這種做法以及公式沒有數學的依據
  • 肘方法:離差平方和變化最快的地方對應的簇較爲合理
  • PSF(僞F算法)和PSTZ(僞T算法)
  • 交叉驗證

缺點:結果的好壞決定於初始聚類中心的選擇,容易陷入局部最優解,對k的選擇沒有準則


(2)高斯混合模型(GMM)

高斯混合模型是那些點的概率密度函數


其中u是密度中心點,常用樣本的均值,∑是協方差矩陣

缺點:當樣本在空間中的分佈不是橢球狀時,模型增多,需要確定的參數就增加


(3)密度聚類(DBSCAN)

目的就是爲了過濾低密度的區域

算法思想:若爲核心對象,則密度可達到的所有樣本的集合記作x,可以證明x是滿足連接性與最大性的簇,於是DBSCAN就選取了一個核心對象作爲種子seed,發出相應的聚類簇


(4)層次聚類(AGNES)

不同層次的進行劃分

算法思想:將每個對象看成一個簇,根據某些準則,一步步合併知道預設的聚類簇的個數


2、聚類涉及的問題
(1)聚類的趨勢

用於聚類的數據不可均勻分佈,但是如果數據多且複雜,我們用人眼無法判別是否適合聚類的時候,可以用霍普金斯統計量來檢驗空間的隨機性。

霍普金斯步驟:

  • 從D空間中均勻獲點p1~pn,,點p可以不是樣本點
  • 從D中均勻獲取點q1~qn,,點q是樣本點
  •  如果不是均勻分佈的話,yi一般會比xi小,因爲yi是取樣本中的點,距離一般會比樣本外的點距離小,當樣本是均勻分佈的時候,H是接近0.5,不適合用聚類,聚類的高度越傾斜,yi會遠小於xi,這時候H會接近於0

(2)評估聚類的質量

  • 外在方法:它是有基準的

Oi樣本,Oj基準,當L(Oi)=L(Oj) ∩ C(Oi)=C(Oj)的時候,c=1,也就是在基準和聚類中兩個分類都相等

  • 內在方法:輪廓係數,很多情況下我們是沒有基準的,這時候用輪廓係數來衡量聚類的質量

選擇一個類的平均數,a(0)爲該類中任意一點到平均數的距離,b(0)表示其他類別到該平均數的距離

 當x(0)接近1的時候,說明該模型是緊湊的,當x(0)爲負數的時候,該模型是不可取的


(3)GMM中的∑(協方差矩陣)



(4)EM算法

EM算法是聚類中常用的方法,K-means,GMM等都用到了EM算法

EM算法分爲兩步,每次迭代由這兩部分組成:

  • E算期望值,就是求Q函數的期望,其中Q函數是收斂的
  • M極大化參數,用了極大似然估計法

算法過程:

  • 對於似然函數,求它的對數似然函數(其中x數據集在公式中是已知的,但是他來自那個模型我們卻是未知的,用,1表示第i個觀測來自第k個分模型,
  • E確定Q,求期望
  • M用極大似然估計法得出θ





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章