• 沒有找到結果。

07非監督式學習.pdf

N/A
N/A
Protected

Academic year: 2021

Share "07非監督式學習.pdf"

Copied!
17
0
0

加載中.... (立即查看全文)

全文

(1)

07 非監督式學習

王元俊

Wang Yuan-Jiun

islwangyj@gmail.com

(2)

教材

• R 語言資料分析:從機器學習、資料探勘、文 字探勘到巨量資料分析 [第二版] • 作者:李仁鐘、李秋緣 • 出版社:博碩文化股份有限公司 • 書號:MP31714 • 出版日期:2017 年 6 月 2 日 • 範例檔案下載 R 語言資料分析 2

(3)

本章內容

• 階層式分群法

• K 平均算法

• 模糊 C 平均算法(略) • 分群指標

(4)

分群

• 分群 (Clustering) 是將一組資料依據相似度計算 公式,將其聚合或分割成為若干群。 • 目標 – 群內差異小 – 群間差異大 R 語言資料分析 4

(5)

階層式分群法 (1)

• 階層式分群法將資料以階層架構,將資料層層

反覆地進行聚合或分割,產生資料的樹狀結構。

(6)

階層式分群法 (2)

• 常用方式: 1. 聚合法 (Agglomerative)  採用由下而上的處理方式,從樹狀結構的 底部開始,將資料或各分群逐次合併。  一開始將每個資料都視為一個獨立分群, 然後依據分群間相似度計算公式,不斷地 合併兩個最相似的分群,直到最後所有的 分群都合併成一個大的群集為止。 R 語言資料分析 6

(7)

階層式分群法 (3)

• 常用方式: 2. 分割法 (Divisive)  採用由上而下的處理方式,從樹狀結構的 頂端開始,將大的群集逐次分割。  一開始時將所有資料視為一個大的群集, 不斷依據相似度計算公式,將大的群集分 割成較小的分群,直到分群數量達到事先 所設定的數目為止。

(8)

階層式分群法 (4)

• 階層式分群法的相似度 (Similarity) 可由距離來 計算,例如兩分群 (c1, c2) 的相似度計算公式 Similarity = 1 + 𝑑𝑑 𝑐𝑐1 1, 𝑐𝑐2 其中 d(c1, c2) 為兩個分群之間的距離。 R 語言資料分析 8

(9)

階層式分群法 (5)

• 分群間距離計算的方法(教材 103 頁,圖 7-2) 1. 單一聯結法 (Single Linkage):取群與群之 間最近點的距離 dmin(c1, c2) 2. 中心法 (Centroid Linkage):取群與群之間 中心點的距離 dmean(c1, c2) 3. 平均法 (Average Linkage):取群與群之間 所有點的距離平均 davg(c1, c2) 4. 完全聯結法 (Complete Linkage):取群與群 之間最遠點的距離 dmax(c1, c2),這樣可以 保證這兩個集合合併後, 任何一對的距離不 會大於 dmax(c1, c2)。

(10)

階層式分群法 (6)

• 點與點之間距離計算的方法 1. 歐幾里德距離 (Euclidean Distance) 2. 皮爾森相關係數 (Pearson Correlation Coefficient) 3. 馬氏距離 (Mahalanobis Distance) R 語言資料分析 10

(11)

範例 7-1 (7-1.R)

• 隨機取用 iris 資料集的 10%,共 15 筆資料,使 用 stats 套件的 hclust( ) 函數,執行階層式分群 法。

• hclust( ) 函數:Hierarchical Clustering

• dist( ) 函數:Distance Matrix Computation,預 設使用歐幾里德距離。

(12)

K 平均算法

• K 平均算法必須事先設定分群的數量 k。 • K 平均算法依照下列四個步驟進行分群: 1. 給定 k 值,將資料分割成 k 個非空白子集 合。 2. 計算現在分割群組的群(質)心,這些群 (質)心為各個群組的中心點。 3. 將每個資料歸類於最接近的群(質)心點。 4. 回到 2.,一直到每個群組資料沒有任何變 化。 R 語言資料分析 12

(13)

評估分群

• 評估分群模型

– 組內距離平方和 WSS (Within Cluster Sum of Squares) 越小越好

– 組間距離平方和 BSS (Between Cluster Sum of Squares) 越大越好

– 總離均差平方和 TSS (Total Cluster Sum of Squares),TSS = WSS + BSS

(14)

範例 7-2 (7-2.R) (1)

• 取用 iris 資料集,使用 stats 套件的 kmeans( ) 函數將 iris 資料分成 3 群。

• kmeans( ) 函數:K-Means Clustering

(15)
(16)

分群指標

• 由於使用非監督式的分群演算法時,需要先決 定分群的數量,所以如何決定分群的數量,就 是一個很重要的工作。 • 分群指標可評估分群的效果,協助使用者決定 分群的數量。 R 語言資料分析 16

(17)

範例 7-4 (7-4.R)

• 使用 NbClust 套件 NbClust( ) 函數。 – install.packages("NbClust")

• NbClust( ) 函數:NbClust Package for determining the best number of clusters

參考文獻

相關文件

[r]

順伯為測量樹高 ¯  CD ,站在距離樹 30 公尺處,即 E 點的位置,將其手臂伸直,把一支有刻度的 尺豎在眼睛前方,若順伯的眼睛 O 點,和尺上的 A 點及樹的頂端 D

[r]

審查整理呈現資料:蒐集到的資料應先審核 是否完整、正確、合理與一致,然後利用敘

„ 傳統上市場上所採取集群分析方法,多 為「硬分類(Crisp partition)」,本研 究採用模糊集群鋰論來解決傳統的分群

首先,在套裝程式軟體 Matlab 中執行 k-means 分群法,將前置樣本中的 學測成績分成三群或四群。特別注意的是,在執行 k-means

Segmented Bushy Path 分為兩個步驟,第一個步驟是文件結構的切割 (Text Segmentation),也就是分析文件內容並將文件內容切割成幾個具有代 表的結構。Text Segmentation

先從上頁「資料一線通 : 2019 冠狀病毒病的數據」網址下 載最新「本港疑似 / 確診 2019 冠狀病毒的個案詳情」的 數據。在這活動同學們將使用試算表分析數據並完成下表.