1.聚類定義: 聚類算法將一系列文檔聚團成多個子集或簇(cluster),其目標是建立類內緊密、類間分散的多個簇。換句話說,聚類的結果要求簇內的文檔之間要盡可能相似,而簇間的文檔之間則要盡可能不相似。
聚類是無監督學習(unsupervised learning)的一種最普遍的形式。無監督也意味着不存在對文檔進行類別標注的人類專家。聚類中,數據的分布和組成結構決定最后的類別歸屬。
聚類算法的一個關鍵輸入是距離計算方法。計算距離時采用的是二維平面上的距離計算方法。基於這種距離計算方法在圖中得出了三個不同的簇。在文檔聚類當中,距離計算方法往往采用歐氏距離。不同的距離計算方法會導致不同的聚類效果。因此,距離的計算方法是影響聚類結果的一個重要因素。
扁平聚類(flat clustering)算法會給出一系列扁平結構的簇,它們之間沒有任何顯式的結構來表明彼此的關聯性。而層次聚類(hierarchical clustering)算法則會產生層次性的聚類結果。
了解硬聚類和軟聚類之間的差別也相當重要。硬聚類(hard clustering)計算的是一個硬分配(hard ssignment)過程,即每篇文檔僅僅屬於一個簇。而軟聚類(soft clustering)算法的分配過程是軟的,即一篇文檔的分配結果是在所有簇上的一個分布。在軟分配結果中,一篇文檔可能對多個簇都具有隸屬度。
聚類假設(clustering hypothesis)給出了將聚類應用於 IR 時的基本假設。
聚類假設:在考慮文檔和信息需求之間的相關性時,同一簇中的文檔表現互相類似。
聚類假設所表達的是,如果簇中某篇文檔和查詢需求相關,那么同一簇中的其他文檔也和
查詢需求相關。這是因為聚類算法將那些共有很多詞項的文檔聚在一起。聚類假設實質上就是
第 14 章的鄰近假設。兩種情況下,我們都認為內容相似的文檔在相關性上的表現也相似。
聚類假設:在考慮文檔和信息需求之間的相關性時,同一簇中的文檔表現互相類似。
聚類假設所表達的是,如果簇中某篇文檔和查詢需求相關,那么同一簇中的其他文檔也和
查詢需求相關。這是因為聚類算法將那些共有很多詞項的文檔聚在一起。聚類假設實質上就是
第 14 章的鄰近假設。兩種情況下,我們都認為內容相似的文檔在相關性上的表現也相似。
2.扁平聚類:

聚類的勢─ 簇的數目:
聚類算法中的一個難點是如何確定簇的數目或者說聚類的勢(cardinality),這個數目記為K。通常 K 只不過是基於經驗或領域知識的一個良好的猜測結果。但是,在 K-均值算法中,我們將引入一個選擇 K 值的啟發式方法,並將 K 的選擇融入到目標函數當中。

3.層次聚類(hierarchical clustering或hierarchic clustering)則會輸出一個具有層次結構①的簇集合,因此能夠比扁平聚類輸出的無結構簇集合提供更豐富的信息。層次聚類不需要事先指定簇的數目,並且大部分用於IR中的層次聚類算法都是確定性算法。當然,層次聚類在獲得這些好處的同時,其代價就是效率降低。最普遍的層次聚類算法的時間復雜度至少是文檔數目的平方級,而前面提到的K-均值算法和EM算法(參考 16.4 節)的時間復雜度都是線性的。