国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

【機(jī)器學(xué)習(xí)十大算法】--K-Means/DBSCAN聚類算法(通俗易懂保姆級講解)

2023-08-29 10:38 作者:跟著唐宇迪學(xué)AI  | 我要投稿

??

? ? ? ?機(jī)器學(xué)習(xí)中,已經(jīng)分析過屬于回歸任務(wù)的線性回歸模型,以及屬于分類任務(wù)的邏輯回歸模型,兩者都屬于有監(jiān)督模型,即數(shù)據(jù)集必須包含真實值,也就是標(biāo)簽。如果我們的數(shù)據(jù)集沒有確切的標(biāo)簽,這種情況下歸類于無監(jiān)督問題,本篇講解機(jī)器學(xué)習(xí)中簡單好用的兩類無監(jiān)督聚類算法。

? ? ??

? ? ? ?聚類任務(wù)的本質(zhì)就是分類,將相似的東西劃歸為同一類。由于數(shù)據(jù)集中沒有標(biāo)簽,因此無監(jiān)督聚類任務(wù)的難點在于很難直接評估模型的效果,模型調(diào)參也沒有清晰的依據(jù),K-means算法是機(jī)器學(xué)習(xí)中經(jīng)典的聚類算法

? ? ?? K-means 算法的基本思想是將所有的數(shù)據(jù)劃分為 K 個簇,K 的數(shù)值是人為設(shè)定的,簇中心的定義是質(zhì)心,即該簇中所有的向量在各個維度上計算得到的平均值。 數(shù)據(jù)集中每個點計算與簇中心的歐幾里得距離或者余弦相似度,并將其作為入簇的距離度量。算法整體的優(yōu)化目標(biāo)是希望最小化各簇中各點到簇中心的距離之和

? ? ? K-means 算法的實現(xiàn)過程如下圖所示,首先隨機(jī)初始化 K 個點作為簇中心(圖 b),計算數(shù)據(jù)集中所有點到 K 個簇中心的歐氏距離,并根據(jù)就近原則將其劃分入簇(圖 c),根據(jù)各簇中的數(shù)據(jù)重新計算簇中心的位置(圖 d),再次重復(fù)上述步驟:計算歐式距離、分簇、更新簇中心等過程,直至各簇趨于穩(wěn)定。

? ? ?K-means 算法具備原理簡單、實現(xiàn)快速的優(yōu)點,適合常規(guī)的數(shù)據(jù)集。但 K 值需要人為設(shè)定,依賴人工經(jīng)驗;數(shù)據(jù)集越龐大,算法的計算量就越大;對于任意形狀的簇,很難正確劃分,如下圖所示,本應(yīng)該是中心一簇,外環(huán)一簇,卻被 K-mens 劃分成一左一右兩個簇。

? ? ??機(jī)器學(xué)習(xí)中另一個常用的聚類算法是 DBSCAN 算法,它是一種基于密度的聚類算法,主

要思想是尋找被低密度區(qū)域分離的高密度區(qū)域,數(shù)據(jù)集中特定點的密度可以通過該特定點 r鄰域之內(nèi)的點計數(shù)(包括本身)來估計,基于此度量方式,可以將數(shù)據(jù)集中的點劃分為三類:核心點、邊界點、噪音點。

(1)核心點:若某個點的密度超過算法設(shè)定的閾值,則其為核心點。即該點 r 鄰域內(nèi)點的數(shù)量不小于 MinPts,其中 r 值與 MinPts 值都是人為設(shè)定的先驗值。

(2)邊界點:若某個點的密度小于算法設(shè)定的閾值,但該點位于某個核心點的 r 鄰域內(nèi),則其為邊界點,邊界點是核心點的鄰居。

(3)噪音點:既不是核心點,也不是邊界點的其余各點。

點與點之間的關(guān)系也可劃分為三類:直接密度可達(dá)、密度可達(dá)、密度相連。

(1)直接密度可達(dá):若點 p 在點 q 的 r 鄰域內(nèi),且 q 是核心點,則 p 與 q 是直接密度可達(dá)。

(2)若存在一個點的序列(q0、q1、...qk),對任意 qi 與 q(i-1)是直接密度可達(dá)的,則稱從 q0 到 qk 是密度可達(dá),這實際上是直接密度可達(dá)的“傳播”。

(3)若從某核心點 p 出發(fā),點 q 和點 k 都是密度可達(dá)的,則稱點 q 和點 k 是密度相連的。

DBSCAN 算法的工作流程比較清晰,主要分為以下四步

(1)首先需要準(zhǔn)備數(shù)據(jù)集 D,人為指定半徑參數(shù) r 以及密度閾值 MinPts。

(2)將數(shù)據(jù)集中所有點默認(rèn)標(biāo)記為“未訪問”,從中隨機(jī)選擇一個點標(biāo)記為“已訪問”,判斷該點 r 鄰域內(nèi)點的計數(shù)是否超過密度閾值 MinPts,若小于,則標(biāo)記該點為邊界點或噪音點,若超過,則創(chuàng)建一個新的簇 C,并將該點添加至簇 C 中。

(3)對于該點鄰域內(nèi)的其他點,將其添加至 N 集合中,并依次重復(fù)上述過程,循環(huán)標(biāo)記、判斷這些點是否為核心點,若為核心點則加入簇 C 中,鄰域內(nèi)的點加入集合 N 中。當(dāng)簇 C遍歷完成,再次從未訪問的點中隨機(jī)取,創(chuàng)建其他新的簇,整個過程重復(fù)進(jìn)行,直至所有的點都已被訪問。

其中仍需要人工指定兩個超參數(shù):鄰域半徑 r 和密度閾值 MinPts,對于給定數(shù)據(jù)集P={p(i); i=0,1,...n},計算點 P(i)到集合 P 的子集 S 中所有點之間的距離,距離按照從小到大的順序排序,d(k)就被稱為 K 距離。根據(jù) K 距離,尋找其中的突變點作為鄰域半徑 r,MinPts通常設(shè)置小一點,超參數(shù)需要多次嘗試、不斷觀察效果進(jìn)行調(diào)整。

? ? ? ?DBSCAN 算法不再需要指定簇的數(shù)量,可以發(fā)現(xiàn)任意形狀的簇,能夠很好的檢測到離群點或噪音點,但不擅長處理高緯度的數(shù)據(jù),超參數(shù)的選擇依賴經(jīng)驗,算法執(zhí)行效率相對較慢。K-Means 算法與 DBSCAN 算法各有優(yōu)劣,都是機(jī)器學(xué)習(xí)中常用的聚類算法,實際使用中需要根據(jù)自己數(shù)據(jù)集的具體情況展開嘗試。

內(nèi)容對你有幫助記得三連支持一下,up主后面詳細(xì)更新AI相關(guān)的知識點

【機(jī)器學(xué)習(xí)十大算法】--K-Means/DBSCAN聚類算法(通俗易懂保姆級講解)的評論 (共 條)

分享到微博請遵守國家法律
宁德市| 岳西县| 普宁市| 眉山市| 高淳县| 集贤县| 天镇县| 盈江县| 青浦区| 蕲春县| 迭部县| 平阳县| 巢湖市| 阜新市| 利津县| 海原县| 彭泽县| 嘉兴市| 临颍县| 通化市| 遂昌县| 东明县| 云南省| 台湾省| 东海县| 霍林郭勒市| 玉田县| 南和县| 伊宁县| 达拉特旗| 青岛市| 喀喇沁旗| 罗源县| 云霄县| 驻马店市| 上林县| 禄丰县| 罗定市| 筠连县| 儋州市| 玉林市|