一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

機(jī)器學(xué)習(xí)中五種常用的聚類算法

nlfO_thejiangme ? 來源:未知 ? 作者:李倩 ? 2018-05-25 17:10 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

聚類是機(jī)器學(xué)習(xí)中一種重要的無監(jiān)督算法,它可以將數(shù)據(jù)點(diǎn)歸結(jié)為一系列特定的組合。理論上歸為一類的數(shù)據(jù)點(diǎn)具有相同的特性,而不同類別的數(shù)據(jù)點(diǎn)則具有各不相同的屬性。在數(shù)據(jù)科學(xué)中聚類會(huì)從數(shù)據(jù)中發(fā)掘出很多分析和理解的視角,讓我們更深入的把握數(shù)據(jù)資源的價(jià)值、并據(jù)此指導(dǎo)生產(chǎn)生活。以下是五種常用的聚類算法。

K均值聚類

這一最著名的聚類算法主要基于數(shù)據(jù)點(diǎn)之間的均值和與聚類中心的聚類迭代而成。它主要的優(yōu)點(diǎn)是十分的高效,由于只需要計(jì)算數(shù)據(jù)點(diǎn)與劇類中心的距離,其計(jì)算復(fù)雜度只有O(n)。其工作原理主要分為以下四步:

1.首先我們需要預(yù)先給定聚類的數(shù)目同時(shí)隨機(jī)初始化聚類中心。我們可以初略的觀察數(shù)據(jù)并給出較為準(zhǔn)確的聚類數(shù)目;

2.每一個(gè)數(shù)據(jù)點(diǎn)通過計(jì)算與聚類中心的距離了來分類到最鄰近的一類中;

3.根據(jù)分類結(jié)果,利用分類后的數(shù)據(jù)點(diǎn)重新計(jì)算聚類中心;

4.重復(fù)步驟二三直到聚類中心不再變化。(可以隨機(jī)初始化不同的聚類中心以選取最好的結(jié)果)

這種方法在理解和實(shí)現(xiàn)上都十分簡單,但缺點(diǎn)卻也十分明顯,十分依賴于初始給定的聚類數(shù)目;同時(shí)隨機(jī)初始化可能會(huì)生成不同的聚類效果,所以它缺乏重復(fù)性和連續(xù)性。

和K均值類似的K中值算法,在計(jì)算過程中利用中值來計(jì)算聚類中心,使得局外點(diǎn)對(duì)它的影響大大減弱;但每一次循環(huán)計(jì)算中值矢量帶來了計(jì)算速度的大大下降。

均值漂移算法

這是一種基于滑動(dòng)窗口的均值算法,用于尋找數(shù)據(jù)點(diǎn)中密度最大的區(qū)域。其目標(biāo)是找出每一個(gè)類的中心點(diǎn),并通過計(jì)算滑窗內(nèi)點(diǎn)的均值更新滑窗的中心點(diǎn)。最終消除臨近重復(fù)值的影響并形成中心點(diǎn),找到其對(duì)應(yīng)的類別。

1.首先以隨機(jī)選取的點(diǎn)為圓心r為半徑做一個(gè)圓形的滑窗。其目標(biāo)是找出數(shù)據(jù)點(diǎn)中密度最高點(diǎn)并作為中心;

2.在每個(gè)迭代后滑動(dòng)窗口的中心將為想著較高密度的方向移動(dòng);

3.連續(xù)移動(dòng),直到任何方向的移動(dòng)都不能增加滑窗中點(diǎn)的數(shù)量,此時(shí)滑窗收斂;

4.將上述步驟在多個(gè)滑窗上進(jìn)行以覆蓋所有的點(diǎn)。當(dāng)過個(gè)滑窗收斂重疊時(shí),其經(jīng)過的點(diǎn)將會(huì)通過其滑窗聚類為一個(gè)類;

下圖中每一個(gè)黑點(diǎn)都代表一個(gè)滑窗的中心,他們最終重疊在每一類的中心;

與K均值相比最大的優(yōu)點(diǎn)是我們無需指定指定聚類數(shù)目,聚類中心處于最高密度處也是符合直覺認(rèn)知的結(jié)果。但其最大的缺點(diǎn)在于滑窗大小r的選取,對(duì)于結(jié)果有著很大的影響。

基于密度的聚類算法(DBSCAN

DBSCAN同樣是基于密度的聚類算法,但其原理卻與均值漂移大不相同:

1.首先從沒有被遍歷的任一點(diǎn)開始,利用鄰域距離epsilon來獲取周圍點(diǎn);

2.如果鄰域內(nèi)點(diǎn)的數(shù)量滿足閾值則此點(diǎn)成為核心點(diǎn)并以此開始新一類的聚類。(如果不是則標(biāo)記為噪聲);

3.其鄰域內(nèi)的所有點(diǎn)也屬于同一類,將所有的鄰域內(nèi)點(diǎn)以epsilon為半徑進(jìn)行步驟二的計(jì)算;

4.重復(fù)步驟二、三直到變量完所有核心點(diǎn)的鄰域點(diǎn);

5.此類聚類完成,同時(shí)又以任意未遍歷點(diǎn)開始步驟一到四直到所有數(shù)據(jù)點(diǎn)都被處理;最終每個(gè)數(shù)據(jù)點(diǎn)都有自己的歸屬類別或者屬于噪聲。

這種方法最大的優(yōu)點(diǎn)在于無需定義類的數(shù)量,其次可以識(shí)別出局外點(diǎn)和噪聲點(diǎn)、并且可以對(duì)任意形狀的數(shù)據(jù)進(jìn)行聚類。

但也存在不可回避的缺點(diǎn),當(dāng)數(shù)據(jù)密度變化劇烈時(shí),不同類別的密度閾值點(diǎn)和領(lǐng)域半徑會(huì)產(chǎn)生很大的變化。同時(shí)在高維空間中準(zhǔn)確估計(jì)領(lǐng)域半徑也是不小的挑戰(zhàn)。

利用高斯混合模型進(jìn)行最大期望估計(jì)

對(duì)于較為復(fù)雜的分布K均值將會(huì)產(chǎn)生如下圖般較為離譜的聚類結(jié)果。

而高斯混合模型卻具有更高的靈活性。通過假設(shè)數(shù)據(jù)點(diǎn)符合均值和標(biāo)準(zhǔn)差描述的高斯混合模型來實(shí)現(xiàn)的。下圖以二維情況下為例描述了如何利用最大期望優(yōu)化算法來獲取分布參數(shù)的過程:

1.首先確定聚類的數(shù)量,并隨機(jī)初始化每一個(gè)聚類的高斯分布參數(shù);

2.通過計(jì)算每一個(gè)點(diǎn)屬于高斯分布的概率來進(jìn)行聚類。與高斯中心越近的點(diǎn)越有可能屬于這個(gè)類;

3.基于上一步數(shù)據(jù)點(diǎn)的概率權(quán)重,通過最大似然估計(jì)的方法計(jì)算出每一類數(shù)據(jù)點(diǎn)最有可能屬于這一聚類的高斯參數(shù);

4.基于新的高斯參數(shù),重新估計(jì)每一點(diǎn)歸屬各類的概率,重復(fù)并充分2,3步驟直到參數(shù)不再變化收斂為止。

在使用高斯混合模型時(shí)有兩個(gè)關(guān)鍵的地方,首先高斯混合模型十分靈活,可以擬合任意形狀的橢圓;其次這是一種基于概率的算法,每個(gè)點(diǎn)可以擁有屬于多類的概率,支持混合屬性。

凝聚層次聚類

層次聚類法主要有自頂向下和自底向上兩種方式。其中自底向上的方式,最初將每個(gè)點(diǎn)看做是獨(dú)立的類別,隨后通過一步步的凝聚最后形成獨(dú)立的一大類,并包含所有的數(shù)據(jù)點(diǎn)。這會(huì)形成一個(gè)樹形結(jié)構(gòu),并在這一過程中形成聚類。

1.首先將每一個(gè)數(shù)據(jù)點(diǎn)看成一個(gè)類別,通過計(jì)算點(diǎn)與點(diǎn)之間的距離將距離近的點(diǎn)歸為一個(gè)子類,作為下一次聚類的基礎(chǔ);

2.每一次迭代將兩個(gè)元素聚類成一個(gè),上述的子類中距離最近的兩兩又合并為新的子類。最相近的都被合并在一起;

3.重復(fù)步驟二直到所有的類別都合并為一個(gè)根節(jié)點(diǎn)。基于此我們可以選擇我們需要聚類的數(shù)目,并根據(jù)樹來進(jìn)行選擇。

層次聚類無需事先指定類的數(shù)目,并且對(duì)于距離的度量不敏感。這種方法最好的應(yīng)用在于恢復(fù)出數(shù)據(jù)的層次化結(jié)構(gòu)。但其計(jì)算復(fù)雜度較高達(dá)到了O(n^3).

每個(gè)聚類算法都有各自的優(yōu)缺點(diǎn),我們需要根據(jù)計(jì)算需求和應(yīng)用需求選擇合適的算法來進(jìn)行處理。隨著深度學(xué)習(xí)的出現(xiàn),更多的神經(jīng)網(wǎng)絡(luò)、自編碼器被用來提取數(shù)據(jù)中的高維特征用于分類,是值得注意的研究熱點(diǎn)。

最后如果想練練手的話,scikit Learn上有很多例子可以操練,實(shí)踐才是最好的老師~~http://scikit-learn.org/stable/modules/clustering.html#clustering

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 聚類算法
    +關(guān)注

    關(guān)注

    2

    文章

    118

    瀏覽量

    12303
  • 機(jī)器學(xué)習(xí)

    關(guān)注

    66

    文章

    8499

    瀏覽量

    134314

原文標(biāo)題:機(jī)器學(xué)習(xí)中的五種聚類算法了解一下~

文章出處:【微信號(hào):thejiangmen,微信公眾號(hào):將門創(chuàng)投】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    【阿里云大學(xué)免費(fèi)精品課】機(jī)器學(xué)習(xí)入門:概念原理及常用算法

    摘要: 阿里云大學(xué)聯(lián)合螞蟻金服高級(jí)算法專家推出了免費(fèi)的機(jī)器學(xué)習(xí)入門課程:機(jī)器學(xué)習(xí)入門:概念原理及常用
    發(fā)表于 06-23 13:51

    算法學(xué)習(xí)

    KMeans理論與算法實(shí)現(xiàn)
    發(fā)表于 03-12 07:02

    算法融合算法研究

    算法融合算法研究首先對(duì)
    發(fā)表于 08-10 15:08 ?33次下載
    <b class='flag-5'>聚</b><b class='flag-5'>類</b><b class='flag-5'>算法</b>及<b class='flag-5'>聚</b><b class='flag-5'>類</b>融合<b class='flag-5'>算法</b>研究

    基于近鄰傳播的遷移算法

    在目標(biāo)域可利用數(shù)據(jù)匱乏的場景下,傳統(tǒng)算法的性能往往會(huì)下降,在該場景下,通過抽取源域中的有用知識(shí)用于指導(dǎo)目標(biāo)域學(xué)習(xí)以得到更為合適的類別信息和
    發(fā)表于 01-07 09:34 ?0次下載
    基于近鄰傳播的遷移<b class='flag-5'>聚</b><b class='flag-5'>類</b><b class='flag-5'>算法</b>

    Python無監(jiān)督學(xué)習(xí)的幾種算法包括K-Means,分層等詳細(xì)概述

    無監(jiān)督學(xué)習(xí)機(jī)器學(xué)習(xí)技術(shù)的一,用于發(fā)現(xiàn)數(shù)據(jù)的模式。本文介紹用Python進(jìn)行無監(jiān)督
    的頭像 發(fā)表于 05-27 09:59 ?3.1w次閱讀
    Python無監(jiān)督<b class='flag-5'>學(xué)習(xí)</b>的幾種<b class='flag-5'>聚</b><b class='flag-5'>類</b><b class='flag-5'>算法</b>包括K-Means<b class='flag-5'>聚</b><b class='flag-5'>類</b>,分層<b class='flag-5'>聚</b><b class='flag-5'>類</b>等詳細(xì)概述

    金融機(jī)構(gòu)使用案例分析機(jī)器學(xué)習(xí)算法——clustering

    在本文中,我們將討論一個(gè)金融機(jī)構(gòu)的實(shí)際使用案例,該案例使用-clustering(一流行的機(jī)器學(xué)習(xí)
    發(fā)表于 10-12 13:58 ?3104次閱讀
    金融機(jī)構(gòu)使用案例分析<b class='flag-5'>機(jī)器</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>算法</b>——<b class='flag-5'>聚</b><b class='flag-5'>類</b>clustering

    如何在python安裝和使用頂級(jí)算法?

    或聚類分析是無監(jiān)督學(xué)習(xí)問題。它通常被用作數(shù)據(jù)分析技術(shù),用于發(fā)現(xiàn)數(shù)據(jù)的有趣模式,例如基于其行為的客戶群。有許多
    的頭像 發(fā)表于 03-12 18:23 ?2444次閱讀

    最實(shí)用的的機(jī)器學(xué)習(xí)算法

    最實(shí)用的機(jī)器學(xué)習(xí)算法Top5 demi 在 周一, 04/01/2019 - 10:35 提交 本文將推薦
    的頭像 發(fā)表于 03-24 16:14 ?6891次閱讀

    K-MEANS算法概述及工作原理

    K-means 是一算法,且對(duì)于數(shù)據(jù)科學(xué)家而言,是簡單且熱門的無監(jiān)督式機(jī)器學(xué)習(xí)(ML)
    的頭像 發(fā)表于 06-06 11:53 ?4638次閱讀

    10算法和Python代碼1

    分享一篇關(guān)于的文章: **10算法和Python代碼** 。文末提供`ju
    的頭像 發(fā)表于 02-20 13:57 ?1025次閱讀
    10<b class='flag-5'>種</b><b class='flag-5'>聚</b><b class='flag-5'>類</b><b class='flag-5'>算法</b>和Python代碼1

    10算法和Python代碼2

    分享一篇關(guān)于的文章: **10算法和Python代碼** 。文末提供`ju
    的頭像 發(fā)表于 02-20 13:57 ?1224次閱讀
    10<b class='flag-5'>種</b><b class='flag-5'>聚</b><b class='flag-5'>類</b><b class='flag-5'>算法</b>和Python代碼2

    10算法和Python代碼3

    分享一篇關(guān)于的文章: **10算法和Python代碼** 。文末提供`ju
    的頭像 發(fā)表于 02-20 13:57 ?1397次閱讀
    10<b class='flag-5'>種</b><b class='flag-5'>聚</b><b class='flag-5'>類</b><b class='flag-5'>算法</b>和Python代碼3

    10算法和Python代碼4

    分享一篇關(guān)于的文章: **10算法和Python代碼** 。文末提供`ju
    的頭像 發(fā)表于 02-20 13:57 ?1532次閱讀
    10<b class='flag-5'>種</b><b class='flag-5'>聚</b><b class='flag-5'>類</b><b class='flag-5'>算法</b>和Python代碼4

    機(jī)器學(xué)習(xí)算法的5基本算子

    自主決策的方法和插件,其中包含了一系列常用的基本算子。在本文中,我們將會(huì)介紹機(jī)器學(xué)習(xí)算法
    的頭像 發(fā)表于 08-17 16:11 ?2218次閱讀

    機(jī)器學(xué)習(xí)算法總結(jié) 機(jī)器學(xué)習(xí)算法是什么 機(jī)器學(xué)習(xí)算法優(yōu)缺點(diǎn)

    機(jī)器學(xué)習(xí)算法總結(jié) 機(jī)器學(xué)習(xí)算法是什么?機(jī)器
    的頭像 發(fā)表于 08-17 16:11 ?2432次閱讀