目錄「聚類」一詞最早應該出自《戰國策》中的「方以類聚,物以群分」,這句話的意思是「同類的東西常聚在一起,志同道合的人相聚成群,反之就分開」。將這句話中所發現的規律應用到我們的機器學習中對無標籤的資料進行處理,也即假設相似度高的輸入資料往往屬於同一類別,便是「聚類」的核心思想。
形式化地說,假定樣本集
一般來說,聚類方法可分為四種:
針對以上的四種方法,接下來各舉乙個演算法進行介紹
演算法步驟
確定聚類個數k
選定k個d維向量作為初始類中心
對每個樣本計算與聚類中心的距離,選擇最近的作為該樣本所屬的類
在同一類內部,重新計算聚類中心,不斷迭代,直到收斂
優點:速度快,計算簡便;適合發現球形聚類,可發現離群點
缺點:我們必須事先給出聚類的組數;對初始聚類中心敏感;對異常值免疫能力差;對譜聚類或特徵對映效果不好。
演算法步驟
(1)計算所有個體和個體之間的距離,找到離得最近的兩個樣本聚成一類
(2)將上面的小群體看做乙個新的個體,再與剩下的個體,計算所有個體與個體之間的距離,找離得最近的兩個個體聚成一類,以此類推
(3)重複上述步驟,直至聚成一類
對該過程比較直觀的理解可參考下圖
優點:不需要確定k值,可根據你的主觀劃分,決定分成幾類。
缺點:雖然解決了層次聚類中kmeans的問題,但計算量特別大。與kmeans相比兩者的區別,除了計算速度,還有kmeans只產出乙個聚類結果和層次聚類可根據你的聚類程度不同有不同的結果。
演算法步驟
首先確定半徑r和minpoints。隨機選擇乙個沒有被訪問過的資料點,以這個點為中心,計算以r為半徑的圓內包含的點的數量是否大於或等於minpoints,如果大於或等於minpoints則該點被標記為central point,反之則會被標記為noise point。
重複1的步驟,如果乙個noise point存在於某個central point為半徑的圓內,則這個點被標記為邊緣點,反之仍為noise point。重複步驟1,直到所有的點都被訪問過。
優點:不需要知道簇的數量
缺點:需要確定距離r和minpoints
gmm即混合高斯模型,屬於軟聚類,每個樣本可以屬於多個類,有概率分布。使用高斯混合模型(gmm)做聚類首先假設資料點是呈高斯分布的,相對應k-means假設資料點是圓形的,高斯分布(橢圓形)給出了更多的可能性。我們有兩個引數來描述簇的形狀:均值和標準差。所以這些簇可以採取任何形狀的橢圓形,因為在x,y方向上都有標準差。因此,每個高斯分布被分配給單個簇。
所以要用gmm做聚類首先應該找到資料集的均值和標準差,我們將採用乙個叫做最大期望(em)的優化演算法。
演算法步驟:
1. 選擇簇的數量(與k-means類似)並隨機初始化每個簇的高斯分布引數(均值和方差)。也可以先觀察資料給出乙個相對精確的均值和方差。
2. 給定每個簇的高斯分布,計算每個資料點屬於每個簇的概率。乙個點越靠近高斯分布的中心就越可能屬於該簇。
3. 基於這些概率我們計算高斯分布引數使得資料點的概率最大化,可以使用資料點概率的加權來計算這些新的引數,權重就是資料點屬於該簇的概率。
4. 重複迭代2和3直到在迭代中的變化不大。
優點:可理解、速度快
缺點:初始化敏感、需要手工指定k(高斯分布)的個數、不適合非凸分布資料集(基於密度的聚類和核方法可以處理)
參考文獻
1、《機器學習》,周志華
2、聚類演算法,fionaplanet,
3、常見的六大聚類演算法,詩蕊,
機器學習(九) 聚類
2.原型聚類 3.密度聚類 4.層次聚類 聚類既可用於發掘資料內在分布結構,又可作為其他學習任務的前驅過程 如提前探索有幾種使用者型別 1 閔可夫斯基距離 2 馬哈拉諾比斯距離 3 相關係數 4 夾角余弦 類均值 類的直徑 類的樣本散布矩陣與樣本協方差矩陣 最短距離 最長距離 中心距離 平均距離 代...
機器學習筆記 kMeans聚類
優點 容易實現。缺點 可能收斂到區域性最小值,在大規模資料集上收斂較慢。適用資料型別 數值型資料 k 均值演算法 先隨機確定k個初始點作為質心,然後將資料集中的每個點分配到乙個簇中,具體來講為每個點找距其最近的質心,並將其分配給該質心所對應的簇。再每個簇更新質心為該簇所有點的平均值。import n...
機器學習筆記12 聚類
在 無監督學習 中,訓練樣本的標記資訊是未知的,目標是通過對無標記訓練樣本的學習來揭示資料的內在性質及規律。此類學習任務中研究最多的是聚類。此外,無監督學習還有密度估計 異常檢測等。常見的聚類包括原型聚類 密度聚類 層次聚類等。原型聚類 此類演算法假設聚類結果能通過一組原型刻畫。通常情形下,演算法先...