一文詳解,分類和回歸樹演算法背後原理。碼字不易,喜歡請點贊,謝謝!!!
機器學習包括有監督和無監督兩種,而無監督中主要是聚類和降維演算法。
對於聚類演算法來說,最常用的是k-means演算法和層次聚類方法,本文對這兩種演算法進行簡答的介紹。
一、聚類演算法的思想
聚類演算法是將n個點聚到k個簇裡面,聚類之後,類之間具有異質性,而同一類裡面具有同質性。
二、k-means演算法
k-means演算法是聚類演算法中最經典的演算法,其思路如下:
確定聚類個數k
隨機選取k個點作為初始中心點
將每個點分配到距離最近的中心點
對每個類中的資料使用均值更新中心點
重複操作3和4直到達到迭代次數或者損失函式不再減小
三、距離計算方法
最常用的歐氏距離:
對於平面可分,一般採用歐氏距離來聚類
曼哈頓距離:
核函式對映距離:
對於平面無法切割,需要使用核函式對映之後的距離
還有其他很多計算距離的方法這裡就不展示了。
四、k值得選擇
k-means聚類演算法乙個最大的問題就是k值得選擇,如下資料,最好的是k值為2,而怎麼找到這個k值卻比較難。
現在比較好的一種方法,是採用「肘部法」,即計算乙個區間內的k值和對應的損失函式,找到損失函式隨k值變化而變化的肘部點,這個點的k值是相對來說比較好的選擇。
五、k-means演算法的侷限性
k-means演算法屬於硬聚類,每個樣本只能屬於乙個類(軟聚類:gmm和模糊k-means)
k-means演算法對異常點很敏感,可以採用樣本中距離均值點最近的樣本點代替均值點,即k-medoids演算法
k-means演算法對凸狀資料區分好,而對非凸狀資料處理可能不是十分理想
k-means的初始聚類中心的缺點對結果的影響很大
k-means演算法的聚類個數k的確定
六、層次聚類
k-means演算法的乙個難點就是k的確定,而層次聚類則不需要給定k。
層次聚類首先將每個點作為乙個簇,然後選擇最近的兩個樣本作為乙個簇,然後選擇兩個最相近的簇作為一類,知道最後只有一類。
七、k-means vs 層次聚類
k-means需要給定k,而層次聚類不需要
k-means聚類速度比層次聚類快
機器學習(三) 聚類演算法詳解
聚類分析是對無標註的資料無監督的進行劃分的方法。按照聚類分析實用的方法劃分,可以分為劃分方法 層次方法 密度方法和網格方法。具體的聚類分析方法和他們對應的方法分為 劃分方法 k means,k medoids,clara,clarans,fcm,em 層次方法 birch 劃分方法 cure,roc...
機器學習 聚類 密度聚類演算法
一,介紹 密度聚類演算法有多種,我們這裡主要介紹一種著名的密度聚類演算法 dbscan。首先,我們通過下圖了解幾個概念 1 鄰域,與中心x距離不超過 距離,如上圖紅色虛線圈 2 核心物件,確定聚類的初始點,如上圖的x1 3 密度直達,在聚類核心物件鄰域內的點,如上圖x2由x1密度直達 4 密度可達,...
機器學習 聚類演算法
k means演算法 聚類概念 無監督問題 我們手裡沒有標籤了 難點 如何評估,如何調參 聚類 相似的東西分到一組 k means演算法 基本概念 要得到簇的個數,需要指定k值 距離的度量 常用歐幾里得距離和余弦相似度 先標準化 優化目標 質心 均值,即向量各維取平均即可 k means演算法 工作...