聚类算法原理简介
1,聚類概念
聚類涉及到數據點的分組。給定一組數據點,我們可以使用聚類算法將每個數據點劃分為一個特定的組。理論上,同一組中的數據點應該具有相似的屬性和/或特征,而不同組中的數據點應該具有高度不同的屬性和/或特征。聚類是一種無監督學習的方法(沒有標簽),是許多領域中常用的統計數據分析技術有時候作為監督學習中稀疏特征的預處理,有時候可以作為異常值檢測。應用場景:新聞聚類、用戶購買模式(交叉銷售)、圖像與基因技術等。聚類的難點有評估和調參等(無標簽)。
2,K-means算法
要得到簇的個數,需要指定K值(簇的個數);
質心:均值,即向量各維取平均即可;
距離的度量:常用歐幾里得距離和余弦相似度(對數據先標準化);
優化目標:
工作流程:
(1)指定K的值,隨機初始化兩個質心(b);
(2)遍歷所有樣本點(a),分別計算樣本點到兩個質心的距離并進行聚類(c);
(3)根據聚類的結果更新質心的位置(d)
(4)重新遍歷樣本點計算到質心的距離并進行聚類(e)
(5)不斷更新并聚類直至質心的位置不在發生明顯變化為止(f)
優勢:簡單,快速,適合常規數據集;
劣勢:K值難確定,復雜度與樣本呈線性關系,很難發現任意形狀的簇
3,DBSCAN算法
基于密度的帶有噪聲點的聚類算法,全稱為Density-Based Spatial Clustering of Applications with Noise。
核心對象:若某個點的密度達到算法設定的閾值則其為核心點。(即 r 鄰域內點的數量不小于 minPts);
?-鄰域的距離閾值:需要設定的半徑r;
直接密度可達:若某點p在點q的 r 鄰域內,且q是核心點則p-q直接密度可達;
密度可達:若有一個點的序列q0、q1、…qk,對任意qi-qi-1是直接密度可達的,則稱從q0到qk密度可達,這實際上是直接密度可達的“傳播”;
密度相連:若從某核心點p出發,點q和點k都是密度可達的,則稱點q和點k是密度相連的;
邊界點:屬于某一個類的非核心點,不能發展下線了;
噪聲點:不屬于任何一個類簇的點,從任何一個核心點出發都是密度不可達的。
A:核心對象;B,C:邊界點(無下線);N:離群點(常用于異常檢測)。
工作流程:
輸入的參數:
參數D:輸入數據集;參數?:指定半徑;MinPts:密度閾值
參數選擇:
半徑?,可以根據K距離來設定:找突變點。
K距離:給定數據集P={p(i); i=0,1,…n},計算點P(i)到集合中其他點之間的距離,距離按照從小到大的順序排序,d(k)就被稱為k-距離。
MinPts: k-距離中k的值,一般取的小一些,多次嘗試。
優點:不需要指定簇個數;可以發現任意形狀的簇;擅長找到離群點(檢測任務);兩個參數就夠了
劣勢:高維數據有些困難(可以做降維);參數難以選擇(參數對結果的影響非常大);Sklearn中效率很慢(數據削減策略)
總結
- 上一篇: 劳力士a821机械表最便宜多少钱?
- 下一篇: 贝叶斯算法原理简介