机器学习之无监督学习——聚类
機器學習之無監督學習——聚類
- 無監督學習
- 一、基于劃分的聚類方法
- 1、基于劃分的方法 簡介
- A、概念
- B、分組
- C、分組與樣本 對應關系
- D、硬聚類 與 軟聚類
- 二、基于層次的聚類方法
- 1、基于層次的聚類方法 概念 :
- 2、基于層次的聚類方法 :
- A、聚合層次聚類 ( 葉子節點到根節點 )
- 聚合層次聚類 圖示
- 切割點說明
- B、劃分層次聚類 ( 根節點到葉子節點 )
- 劃分層次聚類 圖示
- 切割點說明
- 基于層次的聚類方法 切割點選取
- 3、算法性能
- 三、基于密度的方法
- 1 . 基于距離聚類的缺陷 :
- 2 . 基于密度的聚類方法
- 3 . 基于密度的聚類方法 算法優點
無監督學習
在無監督學習中,數據是無標簽的。由于大多數真實世界的數據都沒有標簽,這些算法特別有用。無監督學習分為聚類和降維。聚類用于根據屬性和行為對象進行分組。這與分類不同,因為這些組不是你提供的。聚類的一個例子是將一個組劃分成不同的子組(例如,基于年齡和婚姻狀況),然后應用到有針對性的營銷方案中。降維通過找到共同點來減少數據集的變量。大多數大數據可視化使用降維來識別趨勢和規則。
一、基于劃分的聚類方法
1、基于劃分的方法 簡介
基于劃分的方法 , 又叫基于距離的方法 , 基于相似度的方法 ;
A、概念
給定 n 個數據樣本 , 使用劃分方法 , 將數據構建成 k 個劃分 ( k ≤ n ) , 每個劃分代表一個聚類 ;
B、分組
將數據集 分成 k 組 , 每個分組至少要有一個樣本 ;
C、分組與樣本 對應關系
每個分組有1 個或多個樣本對象 ( 1 對多 ) , 每個對象同時只能在1 個分組中 ( 1 對 1 ) ;
D、硬聚類 與 軟聚類
每個數據對象只能屬于一個組 , 這種分組稱為硬聚類 ; 軟聚類每個對象可以屬于不同的組 ;
二、基于層次的聚類方法
1、基于層次的聚類方法 概念 :
將數據集樣本對象排列成樹結構 , 稱為聚類樹 , 在指定的層次(步驟)上切割數據集樣本 , 切割后時刻的聚類分組就是聚類算法的聚類結果 ;
2、基于層次的聚類方法 :
一棵樹可以從葉子節點到根節點 , 也可以從根節點到葉子節點 , 基于這兩種順序 , 衍生出兩種方法分支 , 分別是聚合層次聚類 , 劃分層次聚類 ;
A、聚合層次聚類 ( 葉子節點到根節點 )
開始時 , 每個樣本對象自己就是一個聚類 ,稱為原子聚類 , 然后根據這些樣本之間的 相似性 , 將這些樣本對象(原子聚類) 進行合并 ;
常用的聚類算法 : 大多數的基于層次聚類的方法 , 都是聚合層次聚類類型的 ; 這些方法從葉子節點到根節點 , 逐步合并的原理相同 ; 區別只是聚類間的相似性計算方式不同 ;
聚合層次聚類 圖示
① 初始狀態 : 最左側五個數據對象 , 每個都是一個聚類 ;
② 第一步 : 分析相似度 , 發現 a, b相似度很高 , 將 { a , b } 分到一個聚類中 ;
③ 第二步 : 分析相似度 , 發現 d,e 相似度很高 , 將 {d,e} 分到一個聚類中 ;
④ 第三步 : 分析相似度 , 發現c與d,e相似度很高 , 將c 數據放入 {d,e} 聚類中 , 組成 {c,d,e} 聚類 ;
⑤ 第四步 : 分析相似度 , 此時要求的相似度很低就可以將不同的樣本進行聚類 , 將前幾步生成的兩個聚類 , 合并成一個聚類 {a,b,c,d,e} ;
切割點說明
實際進行聚類分析時 , 不會將所有的步驟走完 , 這里提供四個切割點 , 聚類算法進行聚類時 , 可以在任何一個切割點停止 , 使用當前的聚類分組當做聚類結果 ;
① 切割點 1 : 在切割點1 停止 , 會得到5 個聚類分組 , {a} ,{b}, {c}, ozvdkddzhkzd , {e} ;
② 切割點 2 : 在切割點2 停止 , 會得到4 個聚類分組 ,{a,b},{c},ozvdkddzhkzd,{e} ;
③ 切割點3 : 在切割點 3 停止 , 會得到 3 個聚類分組{a,b} , { c } {c}, {d,e} ;
④ 切割點 4 : 在切割點 4 停止 , 會得到 2 個聚類分組 ;{a,b} ,{c,d,e} ;
⑤ 走完整個流程 : 會得到 1 個聚類分組 {a,b,c,d,e} ;
B、劃分層次聚類 ( 根節點到葉子節點 )
開始時 , 整個數據集的樣本在一個總的聚類中 , 然后根據樣本之間的相似性 , 不停的切割 , 直到完成要求的聚類操作 ;
劃分層次聚類 圖示
① 初始狀態 : 最左側五個數據對象,屬于一個聚類 ;
② 第一步 : 分析相似度 , 切割聚類 , 將 {c,d,e} 與{a,b} 劃分成兩個聚類 ;
③ 第二步 : 分析相似度 , 將{c,d,e} 中的{c} 與 {d,e} 劃分成兩個聚類 ;
④ 第三步 : 分析相似度 , 將 {d,e} 拆分成ozvdkddzhkzd 和 {e} 兩個聚類 ;
⑤ 第四步 : 分析相似度 , 將{a,b} 拆分成 {a} 和 {b} 兩個聚類 , 至此所有的數據對象都劃分成了單獨的聚類 ;
切割點說明
實際進行聚類分析時 , 不會將所有的步驟走完 , 這里提供四個切割點 , 聚類算法進行聚類時 , 可以在任何一個切割點停止 , 使用當前的聚類分組當做聚類結果 ;
① 切割點1 : 在切割點 1 停止 , 會得到 1 個聚類分組 {a,b,c,d,e} ;
② 切割點 2 : 在切割點2 停止 , 會得到2 個聚類分組 {a,b} , {c,d,e} ;
③ 切割點 3 : 在切割點 3停止 , 會得到3個聚類分組{a,b} ,{c}, {d,e} ;
④ 切割點4 : 在切割點 4 停止 , 會得到 4 個聚類分組 ,{a,b} ,{c}, ozvdkddzhkzd , {e} ;
⑤ 走完整個流程 : 會得到 5 個聚類分組 , {a} , {b}, {c}, ozvdkddzhkzd , {e} ;
基于層次的聚類方法 切割點選取
1 . 算法終止條件( 切割點 ) : 用戶可以指定聚類操作的算法終止條件 , 即上面圖示中的切割點 , 如 :
① 聚類的最低個數 : 聚合層次聚類中 , n 個樣本 , 開始有n 個聚類 , 逐步合并 , 聚類個數逐漸減少 , 當聚類個數達到最低值 min , 停止聚類算法 ;
② 聚類最高個數 : 劃分層次聚類中 , n 個樣本 , 開始有 1 個聚類 , 逐步劃分 , 聚類個數逐漸增加 , 當聚類個數達到最大值 max , 停止聚類算法 ;
③ 聚類樣本的最低半徑 : 聚類的數據樣本范圍不能無限擴大 , 指定一個閾值 , 只有將該閾值內的樣本放入一組 ; 半徑指的是所有對象距離其平均點的距離 ;
2 . 切割點回退問題 : 切割點一旦確定 , 便無法回退 ; 這里以聚合層次聚類為例 :
① 處于切割點 4 : 如已經執行到了步驟三 , 此時處于切割點 4 , 聚類分組為 {a,b} , {c,d,e} ;
② 試圖回退到切割點 3 : 想要會回退到切割點 3 的狀態 , 視圖將聚類分組恢復成 {a,b} , {c}, {d,e} ;
③ 無法回退 : 該操作是無法實現的 , 聚類分組一旦合并或分裂 , 此時就無法回退 ;
3、算法性能
基于層次的聚類方法的時間復雜度為 O(N^2) , 如果處理的樣本數量較大 , 性能存在瓶頸 ;
三、基于密度的方法
1 . 基于距離聚類的缺陷 :
很多的聚類方法 , 都是 基于樣本對象之間的距離 ( 相似度 ) 進行的 , 這種方法對于任意形狀的分組 , 就無法識別了 , 如下圖左側的聚類模式 ; 這種情況下可以使用基于密度的方法進行聚類操作 ;
基于距離的方法 , 是基于歐幾里得距離函數得來 , 其基本的形狀都是球狀 , 或凸形狀 , 如下圖右側的形狀 ; 無法計算出凹形狀 , 如下圖左側的形狀 ;
2 . 基于密度的聚類方法
相鄰的區域內 樣本對象 的密度超過某個閾值 , 聚類算法就繼續執行 , 如果周圍區域密度都很小 , 那么停止聚類方法 ;
① 密度 : 某單位大小區域內的樣本對象個數 ;
② 聚類分組要求 : 在聚類分組中 , 每個分組的數據樣本密度都 必須達到密度要求的最低閾值 ;
3 . 基于密度的聚類方法 算法優點
① 排除干擾 : 過濾噪音數據 , 即密度很小 , 樣本分布稀疏的數據 ;
② 增加聚類模式復雜度 : 聚類算法可以識別任意形狀的分布模式 , 如上圖左側的聚類分組模式 ;
總結
以上是生活随笔為你收集整理的机器学习之无监督学习——聚类的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电脑文件夹怎么批量重命名文件夹里的文件如
- 下一篇: 机器学习之琐碎知识(代码运行问题)