uniform機(jī)器學(xué)習(xí)極簡(jiǎn)入門6—聚類算法2(DBSCAN和層次聚類)

前面我們已經(jīng)分別介紹了KmeansGMM聚類模型,下面我們?cè)俳榻B兩個(gè)很實(shí)用的聚類算法坯临。

DBSCAN密度聚類

KMeans聚類的形狀一般對(duì)數(shù)據(jù)的本身特性要求較高(球狀)妥箕,但是在很多實(shí)際場(chǎng)景中未能很好滿足該特性接奈。如果類別的形狀比較特殊缭嫡,例如下圖秦驯,我們從肉眼可以很容易看出類別的分布,如果從緊密程度角度出發(fā),似乎可以把數(shù)據(jù)分出來祭刚,DBSCAN正是這樣一種算法。

DATA
  • DBSCAN

DBSCAN是一種基于密度聚類的算法墙牌,它基于一組鄰域參數(shù)(min_dist, min_points)來刻畫
下面我們給幾個(gè)概念說明下這組參數(shù)

已知數(shù)據(jù)集合D={x1, x2, ..., xn}

  1. min_dist鄰域
    對(duì)xj樣本涡驮,它的min_dist鄰域表示數(shù)據(jù)集合中與xj的距離不大于min_dist的樣本,即
    N(x_j)=\{x_i\in D|dist(x_i,x_j)<=min_dist\}
  2. 核心對(duì)象
    如果xj樣本的鄰域集合包含的樣本個(gè)數(shù)至少有min_points個(gè)憔古,那么可以認(rèn)為xj樣本是一個(gè)核心對(duì)象
    |N(x_j)|>=min_points

我們的目標(biāo)就是希望在樣本集合里通過上述兩個(gè)參數(shù)描述找到合適的聚類類別遮怜。

算法描述如下:

  1. 初始化核心對(duì)象集合 O={}
  2. for i=1, 2, ..., n do
  3. 計(jì)算樣本xi的鄰域N(xi),如果鄰域數(shù)量大于min_points鸿市,則樣本xi加入到核心對(duì)象集合O锯梁,否則不加入。
  4. end for
  5. 初始化聚類簇?cái)?shù)k=0
  6. 初始化未訪問的樣本集合 F=D
  7. while O部位空集合 do
  8. 記錄當(dāng)前未訪問集合 Fold = F
  9. 從核心對(duì)象集合中隨機(jī)選擇一個(gè)對(duì)象o焰情,O=O\o, F=F\o,設(shè)置初始化隊(duì)列Q={o}
  10. while Q<>{} do
  11. 取出隊(duì)列Q中的首個(gè)樣本q
  12. 如果q也是一個(gè)核心對(duì)象陌凳,令T = N(q)和F的交集,將T的數(shù)據(jù)集合加入到Q隊(duì)列内舟,同時(shí)從F中去除掉T的元素合敦。
  13. end while
  14. k=k+1 ,生成類簇Ck=Fold\F
  15. end while

DBSCAN聚類主要還是圍繞核心對(duì)象進(jìn)行的验游,如果核心對(duì)象的鄰域內(nèi)包含別的核心對(duì)象充岛,根據(jù)密度的傳遞性,那么該對(duì)象和鄰域也是另一個(gè)核心對(duì)象的鄰域耕蝉。

大家肯定會(huì)想到崔梗,那如果不是核心對(duì)象的樣本豈不是在這里就不會(huì)被最終分為類別了?對(duì)的垒在,基于密度聚類有個(gè)好處就是蒜魄,不會(huì)強(qiáng)制給每個(gè)樣本都分配一個(gè)類別,對(duì)于DBSCAN來說场躯,這些樣本相當(dāng)于是一個(gè)離群點(diǎn)谈为。在sklearn算法中,這些離群點(diǎn)會(huì)以label=-1的形式給出踢关。在實(shí)際實(shí)用中伞鲫,DBSCAN這種特性可以讓我們剔除掉不合適的樣本,但是有個(gè)問題签舞,就是(min_dist, min_points)參數(shù)調(diào)節(jié)問題榔昔。這里需要根據(jù)我們的特征向量來決定驹闰。

本節(jié)剛開始我們給了一個(gè)樣例,如果利用DBSCAN撒会,我們可以非常輕松分開(注意min_dist的設(shè)置)


DBSCAN Result

層次聚類

層次聚類顧名思義嘹朗,就是根據(jù)樣本特性逐層“自底向上”或者“自頂向下”來聚類。

  • “自底向上”:先假設(shè)每個(gè)樣本都是類別诵肛,然后每一次尋找距離最小的兩個(gè)類簇屹培,把他們聚合成一個(gè)類別,然后依次下去怔檩,直至達(dá)到我們需要的類別數(shù)褪秀。
  • “自頂向下”: 先假設(shè)所有的樣本只屬于一個(gè)類別,然后根據(jù)某個(gè)評(píng)價(jià)指標(biāo)把樣本分為兩個(gè)簇(例如之前kmeans例提到的二分法)薛训,找到類簇內(nèi)距離較大的類別媒吗,繼續(xù)拆分,直至我們需要的類別數(shù)乙埃。

這里涉及到如何定義兩個(gè)類別的距離闸英,一般常用的方法有
d_{min}(C_k, C_j)=min_{(c_k\in C_k, c_j\in C_j)} dist(c_k,c_j)
d_{max}(C_k, C_j)=max_{(c_k\in C_k, c_j\in C_j)} dist(c_k,c_j)
d_{mean}(C_k, C_j)=mean_{(c_k\in C_k, c_j\in C_j)} dist(c_k,c_j)

層次聚類算法過程如下圖所示


層次聚類

本節(jié)詳細(xì)描述可以參考周志華老師的《機(jī)器學(xué)習(xí)》(西瓜書)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市介袜,隨后出現(xiàn)的幾起案子甫何,更是在濱河造成了極大的恐慌,老刑警劉巖遇伞,帶你破解...
    沈念sama閱讀 206,378評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件辙喂,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡鸠珠,警方通過查閱死者的電腦和手機(jī)巍耗,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來渐排,“玉大人炬太,你說我怎么就攤上這事》膳瑁” “怎么了娄琉?”我有些...
    開封第一講書人閱讀 152,702評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵次乓,是天一觀的道長(zhǎng)吓歇。 經(jīng)常有香客問我,道長(zhǎng)票腰,這世上最難降的妖魔是什么城看? 我笑而不...
    開封第一講書人閱讀 55,259評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮杏慰,結(jié)果婚禮上测柠,老公的妹妹穿的比我還像新娘炼鞠。我一直安慰自己,他們只是感情好轰胁,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,263評(píng)論 5 371
  • 文/花漫 我一把揭開白布谒主。 她就那樣靜靜地躺著,像睡著了一般赃阀。 火紅的嫁衣襯著肌膚如雪霎肯。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,036評(píng)論 1 285
  • 那天榛斯,我揣著相機(jī)與錄音观游,去河邊找鬼。 笑死驮俗,一個(gè)胖子當(dāng)著我的面吹牛懂缕,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播王凑,決...
    沈念sama閱讀 38,349評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼搪柑,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了荤崇?” 一聲冷哼從身側(cè)響起拌屏,我...
    開封第一講書人閱讀 36,979評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎术荤,沒想到半個(gè)月后倚喂,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,469評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡瓣戚,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,938評(píng)論 2 323
  • 正文 我和宋清朗相戀三年端圈,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片子库。...
    茶點(diǎn)故事閱讀 38,059評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡舱权,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出仑嗅,到底是詐尸還是另有隱情宴倍,我是刑警寧澤,帶...
    沈念sama閱讀 33,703評(píng)論 4 323
  • 正文 年R本政府宣布仓技,位于F島的核電站鸵贬,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏脖捻。R本人自食惡果不足惜阔逼,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,257評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望地沮。 院中可真熱鬧嗜浮,春花似錦羡亩、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至吉殃,卻和暖如春及志,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背寨腔。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來泰國(guó)打工速侈, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人迫卢。 一個(gè)月前我還...
    沈念sama閱讀 45,501評(píng)論 2 354
  • 正文 我出身青樓倚搬,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親乾蛤。 傳聞我的和親對(duì)象是個(gè)殘疾皇子每界,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,792評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容