聚類是目前日常工作中用戶分群最常用的機(jī)器學(xué)習(xí)算法之一,下文將對(duì)聚類算法的基本原理進(jìn)行介紹,適合入門機(jī)器學(xué)習(xí)和非技術(shù)型的人員閱讀。
聚類模型
學(xué)習(xí)類型:無(wú)監(jiān)督算法(訓(xùn)練集為沒(méi)有標(biāo)簽的數(shù)據(jù))
主要應(yīng)用:①目標(biāo)用戶的群體分類;? ②不同產(chǎn)品的價(jià)值組合;? ③探測(cè)發(fā)現(xiàn)異常點(diǎn)孤立點(diǎn)。
應(yīng)用難點(diǎn):①如何進(jìn)行調(diào)參?? ②如何評(píng)估聚類結(jié)果?
常用算法:①劃分方法:K-Means(K均值)、K-Medoids(K中心);? ②層次方法:凝聚層次聚類(自底而上)、分裂層次聚類(自頂而下);③基于密度的方法:DBSCAN、OPTINCS;? ④基于網(wǎng)格的方法:STING。
劃分方法:給定具有n個(gè)對(duì)象的數(shù)據(jù)集,對(duì)數(shù)據(jù)集進(jìn)行K(K=<n)個(gè)劃分,每個(gè)劃分代表一個(gè)簇,且每個(gè)簇至少包含一個(gè)對(duì)象。而且每個(gè)對(duì)象只能?屬于一個(gè)簇。
層次方法:把樣本根據(jù)距離分成若干大群,大群之間相異,大群內(nèi)部相似,把大群內(nèi)部當(dāng)成一個(gè)全局樣本空間,再繼續(xù)劃分成若干小群,小群之間相異,小群內(nèi)部相似。最后形成的是一棵樹(shù)的結(jié)構(gòu)。
基于密度的方法:對(duì)于非球狀類型的數(shù)據(jù),只要臨近區(qū)域內(nèi)的密度(對(duì)象的數(shù)量)超過(guò)了某個(gè)閾值,就繼續(xù)聚類。
基于網(wǎng)格的方法:把對(duì)象空間量化為有限數(shù)目的單元,而這些單元形成網(wǎng)格結(jié)構(gòu),所有的聚類操作都是在這個(gè)網(wǎng)格中進(jìn)行。
K-Means算法
算法簡(jiǎn)介:給定一個(gè)數(shù)據(jù)集和劃分的數(shù)目K后,該算法根據(jù)某個(gè)距離函數(shù)反復(fù)把數(shù)據(jù)劃分到K個(gè)簇中直至收斂為止,用簇中每個(gè)對(duì)象的平均值來(lái)表? 示每個(gè)簇。
基本概念:①簇的個(gè)數(shù)(K);? ②質(zhì)心,均值,向量各維度取平均(m每個(gè)簇的中心點(diǎn));? ③距離的度量,常用歐幾里得距離和余弦相似度;? ? ④優(yōu)化目標(biāo),簇間距離最大即各個(gè)簇的質(zhì)心間距離最大,簇內(nèi)距離最小即向量點(diǎn)到質(zhì)心的距離最小。
工作流程:
①給定K值;
②隨機(jī)抽取K個(gè)點(diǎn)作為聚類中心;
③計(jì)算每個(gè)數(shù)據(jù)點(diǎn)到聚類中心的距離并把他分配給距離最近的聚類中心;
④在所有數(shù)據(jù)點(diǎn)分配完畢后,每個(gè)聚類中心按照本簇的現(xiàn)有數(shù)據(jù)點(diǎn)重新計(jì)算;
⑤不斷重復(fù),直至收斂(誤差平方和(SSE)局部最?。?。

算法優(yōu)勢(shì):簡(jiǎn)單、快速適合常規(guī)數(shù)據(jù)集。
算法劣勢(shì):①K值難確定;? ②復(fù)雜度與樣本呈線性關(guān)系;? ③很難發(fā)現(xiàn)任意形狀的簇;? ④初始的選取的中心點(diǎn)對(duì)結(jié)果影響較大。

DBSCAN算法
算法簡(jiǎn)介:根據(jù)一個(gè)密度閾值來(lái)控制簇的增長(zhǎng),將具有足夠高密度的簇劃分成類,并可在帶有噪聲的空間數(shù)據(jù)庫(kù)里發(fā)現(xiàn)任意形狀的聚類。
基本概念:
①鄰域的距離閾值,設(shè)定的半徑r;
②核心對(duì)象,若某個(gè)點(diǎn)的密度達(dá)到算法設(shè)定的閾值則為核心點(diǎn)。(r鄰域內(nèi)點(diǎn)的數(shù)量不小于minPts);
③直接密度可達(dá),若某點(diǎn)p在點(diǎn)q的r鄰域內(nèi),且q是核心點(diǎn),則p-q直接密度可達(dá);
④密度可達(dá),若有一個(gè)點(diǎn)的序列q1、q2…qk,對(duì)任意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),不屬于任何一類簇的點(diǎn),從任何一個(gè)點(diǎn)出發(fā)都是密度不可達(dá)的。

工作流程:
概述:分得的簇C=p(必須為核心對(duì)象)+p的直接密度可達(dá)點(diǎn)+p的密度可達(dá)點(diǎn)。即與p密度相連的所有點(diǎn),且不是其他簇的成員。


參數(shù)選擇:
主要參數(shù):①參數(shù)D(輸入數(shù)據(jù)集);②參數(shù)ε(指定半徑);③MinPts(密度閾值)。
半徑ε:根據(jù)K距離設(shè)定,找突變點(diǎn)。
K距離:給定數(shù)據(jù)集P={p(i),i=0,1…n},計(jì)算點(diǎn)P(i)到集合D的子集S中所有點(diǎn)之間的距離,距離按照從小到大排列,d(k)就是K距離。
MinPts:K距離中的K值一般取得小一點(diǎn),多次嘗試。
算法優(yōu)勢(shì):①不需要指定簇的個(gè)數(shù);②可以發(fā)現(xiàn)任意形狀的簇;③擅長(zhǎng)找到離群點(diǎn);④兩個(gè)參數(shù)就足夠。
算法劣勢(shì):①高維數(shù)據(jù)有些困難(可以先做降維);②參數(shù)難以選擇(參數(shù)對(duì)結(jié)果的影響非常大);③效率較慢。
聚類結(jié)果的評(píng)估
1.業(yè)務(wù)專家的評(píng)估
2.聚類技術(shù)上的評(píng)價(jià)指標(biāo)
RMSSTD:群體中所有變量的綜合標(biāo)準(zhǔn)差,RMSSTD越小表明群體內(nèi)(簇內(nèi))個(gè)體對(duì)象的相似程度越高,聚類效果越好。
R-Square:聚類后群體間差異的大小,也就是聚類結(jié)果可以在多大比例上解釋原數(shù)據(jù)的方差,R-Square越大表明群體間(簇間)的相異性越高,聚類效果就越好。
輪廓系數(shù):a(i)為樣本的簇內(nèi)不相似度,表示樣本i到同簇其他樣本的平均距離,越小越好;b(ij)為樣本i的與其他簇的簇間不相似度,樣本i到其他簇C的所有樣本的平均距離。S(i)越接近1說(shuō)明聚類越合理,等于0說(shuō)明在兩個(gè)簇的邊界。
