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