聚類學習

聚類,無監督學習,將無標籤樣本分爲幾個簇,兩個基本問題,性能度量和距離計算
聚類性能度量大致分爲2類,外部指標:將聚類結果與某個“參考模型”進行比較;內部指標:直接考察聚類結果但是不利用任何參考模型。
外部指標JC/FMI/RI等,值越大性能越好。內部指標DBI/DI等,根據簇內樣本的距離值來進行考察。

距離計算,距離函數dist(.,.)滿足非負性,同一性,對稱性,直遞性,最常用的是“閔可夫斯基距離”,當p爲2是爲歐氏距離,根號下各座標軸差值的平方和;當p爲1時爲曼哈頓距離,各座標軸差值的和(街區距離)。

屬性分爲“連續屬性”和“離散屬性”,閔可夫斯基距離可用於計算有序屬性,對於無序屬性可使用VDM來計算距,將二者結合使用,即可處理混合屬性,以上的距離定義和算法都是事先定義好的常規方法,對於現實任務,可以通過“距離度量學習”基於數據樣本來確定合適的距離計算公式。

原型聚類,此類算法假設聚類結構能通過一組原型刻畫。通常先對原型進行初始化,然後對原型進行迭代更新求解。
1. K均值算法
適用於給定樣本集D,聚類劃分爲k個簇,k均值算法將最小化平方誤差,直觀來看,一定程度上刻畫了簇內樣本圍繞簇均值向量的緊密程度。
此算法需先找到其樣本集的所有可能的簇劃分,是一個NP難問題,因此採用貪心策略,通過迭代優化來近似求解式(先根據樣本集設定n個簇,然後假設n個初始均值向量,然後對樣本進行分簇(根據樣本和簇向量之間的距離,通過閔可夫斯基距離來進行計算),然後再計算各簇的均值向量並更新(即計算添加了新樣本的簇的均值向量),再劃分再求再更新,直到不變。實例詳見西瓜書第9章。

   2. 學習向量量化
   與k均值算法類似,LVQ也是試圖找到一組原型向量來刻畫聚類結構,不同的是,LVQ假設數據樣本帶有類別標記,學習過程利用這些監督信息來輔助聚類。???假設標記從何而來,還是半標記??
   過程:先對原型向量初始化,從那些帶類別標記的樣本中選n個樣本類別作爲該類的原型向量。然後開始迭代,算法隨機選取一個有標記訓練樣本,計算其最近的原型向量,如果和其類別標記一致,則將此時的原型向量更向類別標記方向偏離,偏離大小受學習率控制,不一致則相反。

   !!!類別數和原型向量沒有數量關係,原型向量等於簇數,可以大於假設類別數。“原型”:樣本空間中具有代表性的點,原型聚類則假設聚類結構能夠通過一組原型來刻畫。

   3. 高斯混合聚類,不同於二者,使用概率模型來表達聚類。多維高斯公式定義,將概率密度函數記爲p(x|均值向量,協方差矩陣) 對應等同於 X∼N(μ,σ2)。
   過程:生成一個高斯混合聚類,由k個高斯混合成分組成,也就是講分爲k個簇,但不同於上述的距離計算,結合貝葉斯原理,計算樣本最有可能由第k個高斯混合成分生成的後驗概率來劃分簇。

   高斯混合聚類是採用概率模型(高斯分佈)對原型進行刻畫,簇劃分則由原型對應的後驗概率確定。

   高斯混合分佈公式由:各高斯混合成分的混合係數,均值向量,協方差矩陣構成,假設k個簇,則3k個參數。如何求解這3k個模型參數呢?? 可以採用極大似然估計,

密度聚類。DBSCAN算法,此算法假設聚類結構能通過樣本分佈的緊密程度確定,從樣本密度角度考察樣本的可連接性,並基於可連接樣本不斷拓展簇類。
算法概念:鄰域/核心對象/密度直達/密度可達/密度相連
過程:對所有樣本點進行核心對象檢測,然後從核心對象集中隨機選取一點出來找出其鄰域內的點,若存在覈心對象,則擴大鄰域範圍,直到無可加入的核心對象,至此一個簇的劃分完成。然後從剩下的核心對象中繼續上述步驟,直到無核心對象。
綜上我們可知,簇劃分中核心樣本的加入擴充簇的範圍。

層次聚類。AGNES算法,一種自底向上聚合策略的層次聚類算法,通過不斷合併距離最近的簇來不斷聚合簇。
過程:初始化,先將所有的樣本視爲一個初始聚類簇,然後求出各簇之間的距離,然後按順序逐層進行合併,直到爲預定的簇數。

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