第三章講述了Data clustering 的相關知識朗和,即如何進行數(shù)據(jù)聚類馁痴。首先數(shù)據(jù)聚類是為了尋找密切相關的人谊娇,事,觀點等罗晕,并將他們可視化济欢。在數(shù)據(jù)量巨大的應用中,通過相關方法找到相似度很高的群組小渊,并針對其進行下一步操作法褥,例如市場營銷,推薦策略等是數(shù)據(jù)聚類相關的應用價值
Supervised Learning, 監(jiān)督學習酬屉,這是一類利用已有的樣本的輸入輸出來預判接下來的輸入相對應的輸出的學習方法半等。Neural networks神經(jīng)網(wǎng)絡, decision trees決策樹, support-vector machines向量支持機 and Bayesian filtering貝葉斯過濾 屬于監(jiān)督學習。Unsupervised learning, 無監(jiān)督學習呐萨,這類學習方法并不會有一系列的正確樣本進行訓練杀饵,而是通過給一組數(shù)據(jù)找到一種數(shù)據(jù)結構來確認他們之間的相關性。聚類算法就是無監(jiān)督學習的一種谬擦,他的目標是采集數(shù)據(jù)并在數(shù)據(jù)中找出不同的群組凹髓。
Hierarchical Clustering, 分級聚類,以每個單一元素作為群組的起點怯屉,每一級的迭代都會計算兩兩群組的距離并將距離最近的群組合并為一個新的群組直至只剩一個群組蔚舀。距離的表示方法和計算體系已經(jīng)在上一章中提及過饵沧,書中的流程圖:
這個結果圖最后可以轉換為一張樹圖,依舊是書中的圖片:
樹狀圖可以幫助我們判斷聚類的緊密度赌躺。
K-Means Clustering, 樹狀圖作為結果有些缺點狼牺,第一是計算量巨大,每一級都需要兩兩計算距離礼患,第二是最后的樹狀結果并沒有把所有的數(shù)據(jù)放進獨立的群組中是钥,還需要額外的工作來完成這一步。所以引入了K-Means 聚類缅叠,他與分級聚類的一大區(qū)別是我們需要預先告知算法我們要多少個群組悄泥,然后算法來計算每個群組的體量。具體的操作方式為首先隨機選擇K個中心點, K就是我們預先給出的聚類數(shù)量肤粱,然后把所有的數(shù)據(jù)項分配給最近的中心點弹囚,接下來移動中心點的位置到他所屬的數(shù)據(jù)項的平衡位置。然后再次分配再次移動领曼,直到分配和移動結果全都穩(wěn)定不變鸥鹉。書中給出了一個兩點五數(shù)據(jù)的例子:
下一小節(jié)提到了如何將數(shù)據(jù)在二維平面上顯示出來,具體的方法為multidimensional scaling庶骄, 即多維縮放毁渗。例子中首先計算了數(shù)據(jù)兩兩間的皮爾遜系數(shù),然后將所有的數(shù)據(jù)以點的方式隨機放置在二維平面上并計算出兩兩間的距離单刁,這個時候標準距離灸异,即皮爾遜系數(shù)和實際距離之間存在誤差,那么這個時候點的位置就應該移動以縮小誤差羔飞,而每個點都會因為其他點的移動影響他的移動绎狭,每次移動的目標都是將總誤差越降越小,直到這個誤差降到不能再降, 從而得到一張完整的表示各個數(shù)據(jù)相似程度的二維平面圖