分層聚類與分區聚類
聚類是一種機器學習技術,用於分析數據並將相似的數據分組。這些組或一組相似的數據稱為簇。聚類分析著眼於能夠自動識別聚類的聚類算法。分層和分區是兩類這樣的聚類算法。分層聚類算法將數據分解成一個簇的層次結構。分區算法將數據集劃分為相互不相交的分區。
什麼是層次聚類?
層次聚類算法重複著將較小的簇合併為較大的簇或將較大的簇劃分為較小的簇的循環。不管怎樣,它都會產生一個稱為dendogram的集群層次結構。聚簇策略採用自底向上的方法將簇合併成較大的簇,而分簇策略採用自上而下的方法將簇分解成更小的簇。通常,貪婪方法用於決定合併/分割使用哪個較大/較小的集群。歐幾里德距離、曼哈頓距離和餘弦相似度是數值數據中最常用的相似度指標。對於非數字數據,使用諸如Hamming距離之類的度量。值得注意的是,層次聚類不需要實際觀測值(實例),因為只有距離矩陣就足夠了。Dendogram是集群的可視化表示,它非常清楚地顯示了層次結構。用戶可以根據dendogram被剪切的級別獲得不同的聚類。
什麼是分區聚類?
分區聚類算法生成不同的分區,然後根據某種準則對其進行評價。它們也被稱為非層次結構,因為每個實例都被放置在k個互斥集群中的一個。由於一個典型的分塊聚類算法只輸出一組簇,用戶需要輸入所需的簇數(通常稱為k)。最常用的分區聚類算法之一是k-均值聚類算法。用戶在啟動前需要提供簇數k,算法首先初始化k個分區的中心(或質心)。簡單地說,k-means聚類算法根據當前中心分配成員,並根據當前成員重新估計中心。重複這兩個步驟,直到對某個類內相似性目標函數和類間差**目標函數進行優化。因此,中心的合理初始化是從分區聚類算法中獲得高質量結果的一個非常重要的因素。
分層聚類和分區聚類有什麼區別?