2.層次聚類(hiecarchical clustering)
3.密度聚類(density-based clustering)
4.參考:
k均值演算法是屬於劃分的聚類方法,k均值演算法將樣本分為k類,是通過最小化簇內距離(平方誤差)來實現的。
e =∑
i=1n
∑x∈c
i∣∣x
−ui∣
∣22e=\sum_^n \sum_} ||x-u_i||_^2
e=i=1∑
nx∈
ci∑
∣∣x
−ui
∣∣22
迭代過程:
從樣本集中隨機選取k個樣本作為初始的均值向量
\歷遍整個資料集,計算每個樣本x
jx_j
xj與各均值向量的距離,將x
jx_j
xj分到距離最近的一均值向量確定 的簇內。
重新計算各個簇的均值向量的平均值
\,u_2^,\cdots,u_k^\}
,更新均值向量
重複以上步驟,直到聚類結果保持不變為止(均值向量均為更新),停止迭代。
計算複雜度低,為o(nkp),n是資料總量,k是類別,p是迭代次數
思想簡單,容易實現。而且很穩定。
分類簇的數量k必須提前確定
演算法對初始聚類中心敏感,可能會導致較差的聚類結果。
(1)可以每次迭代嘗試不同的初始均值向量,通過比較均值距離,選擇乙個較好的初始值。
(2)使用k-means++演算法
演算法只適用於處理數字型別的資料
演算法可能陷入區域性最優解,無法達到全域性最優
對異常值和雜訊很敏感,演算法的魯棒性不太好。
當前,k值得選取依然是靠人為來實現,通過視覺化聚類結果等方法來實現。
elbow method
**從各聚類簇只有乙個樣本點開始,逐級合併,每級只合併兩簇,直到最後所有樣本都歸到乙個聚類簇。**在樹狀圖的特定層次進行分割(選擇聚類數)就可以得到所需的聚類結果。
演算法全稱:agglomerative nesting
初始化,每個樣本形成一類
把相似度最大的兩個簇合併
重複步驟二,直到所有樣本合併為一類
衡量相似度的方法最小距離:通過兩個簇內距離最近的兩個樣本的距離來衡量相似度
最大距離:通過兩個簇內距離最遠的兩個樣本的距離來衡量相似度
均值距離:通過兩個簇內的平均距離來衡量相似度,需要用到所有的樣本。(計算兩個簇,所有樣本兩個之間的距離總和,求平均值)
優點:
衡量相似度的距離定義定義簡單,演算法實現也簡單;
不需要預先確定聚類數
得到的是乙個結構化的層次結構,包含的資訊更多,通過層次關係可以更容易確定最終的聚類數。
缺點:
時間複雜度高,o(n
2log
n)o(n^logn)
o(n2lo
gn),不適合大規模資料。
最終的劃分標準是模糊的。
密度聚類演算法是從樣本密度的角度來考慮樣本之間的連線性,並基於可連線樣本不斷擴充套件聚類簇,最終獲得聚類結果。
ϵ ,m
inpt
s)(\epsilon , minpts)
(ϵ,min
pts)
來刻畫樣本分佈的緊密程度。一下是幾個重要概念:
演算法描述:
根據給定的鄰域引數,找出所有的核心物件
從核心物件集合ω
\omega
ω中隨機選取乙個作為「種子」,找出由它密度可達的左右樣本,有這些樣本構成第乙個聚類簇。其他的一些核心物件可能也被包含在了這個聚類簇內,從核心物件集合ω
\omega
ω中去掉這些被包含的核心物件,形成新的核心物件集ω
′\omega^
ω′。重複步驟二,直到核心物件集合為空。
注:最終不屬於任何簇的樣本被視為雜訊或者異常值
dbscan演算法的目的在於過濾低密度區域,發現稠密度樣本點。跟傳統的基於層次的聚類和劃分聚類的凸形聚類簇不同,該演算法可以劃分任意形狀的聚類簇,與傳統的演算法相比它有如下優點:
(1)與k-means比較起來,不需要輸入要劃分的聚類個數;
(2)聚類簇的形狀沒有偏倚,可以劃分任意形狀的聚類簇;
(3)可以在需要時輸入過濾雜訊的引數;
常見聚類演算法
將資料庫中的物件進行聚類是聚類分析的基本操作,其準則是使屬於同一類的個體間距離盡可能小,而不同類個體間距離盡可能大,為了找到效率高 通用性強的聚類方法人們從不同角度提出了近百種聚類方法,典型的有k means方法 k medoids方法 clarans方法,birch方法等,這些演算法適用於特定的問...
核聚類與支援向量聚類
核聚類與支援向量聚類 聚類是資料探勘中用來發現資料分布和隱含模式的一項重要技術 1 作為一種常見的資料分析工具和無監督機器學習方法,聚類的目的是把資料集合分成若干類 或簇 使得每個類中的資料之間最大限度地相似,而不同類中的資料最大程度地不同。根據聚類演算法所採用的基本思想,大致可以將它們分為五種 2...
聚類之層次聚類 基於劃分的聚類(
目錄 一層次聚類 層次聚類的原理及分類 層次聚類的流程 層次聚類的優缺點 二劃分聚類法k means kmeans演算法的原理 k均值的優缺點及分類 k means與dbscan的區別 k means注意問題 三基於密度的聚類 dbscan的概念 簇的生成原理及過程 根據資料點的密度分為三類點 db...