在'無監督學習'(unsupervised learning)中, 訓練樣本的標記信息是未知的, 目標是通過對無標記訓練樣本的學習來揭示數據的內在性質及規律, 爲進一步的數據分析提供基礎.
“聚類”(clustering)算法是“無監督學習”算法中研究最多、應用最廣的算法,它試圖將數據集中的樣本劃分爲若干個通常是不相交的子集,每個子集稱爲一個“簇”(cluster)
不同的簇分佈代表着聚類算法對這組數據集觀測的不同角度,比如在不同屬性上進行分類會導致聚類算法將西瓜劃分爲:“有籽瓜簇” “無籽瓜簇”,”淺色瓜簇” “深色瓜簇”,甚至“本地瓜簇” “外地瓜簇”等類別。
在此基礎上我們稍微擴展一下,假設存在一個能對機器學習各種算法進行分類的聚類學習器,那麼在訓練樣本是否有標記這個屬性上,它會將機器學習算法分爲“監督學習簇”、“非監督學習簇”和“半監督學習簇”;在預測結果是否是連續值這個屬性上,它會將機器學習算法分爲“迴歸算法簇”和“分類算法簇”;在算法基本步驟這個屬性上,它會將機器學習算法分爲“貝葉斯算法簇”、“決策樹算法簇”、“神經網絡算法簇”等類別
需說明的是,這些劃分的概念對聚類算法來說事先是未知的,聚類過程僅能自動生成簇結構,簇所對應的概念語義需由使用者來把握和命名
因爲聚類是在未標註樣本上的分類算法,所以不像之前我們介紹的其它算法一樣,我們可以直觀的知道訓練出來的模型的好壞,即我們不能通過比對測試樣本的預測結果和真實預測結果誤差值來近似泛化誤差。
所以在介紹聚類的具體算法之前,我們得要先討論聚類算法涉及的最基本的問題:如何判斷一個聚類算法結果的好壞