機器學習第六回 無監督學習 K 均值演算法

2021-10-08 22:20:22 字數 1665 閱讀 3375

k-均值是最普及的聚類演算法,演算法接受乙個未標記的資料集,然後將資料聚類成不同的組。

k-均值是乙個迭代演算法,假設我們想要將資料聚類成 n 個組,其流程為:

選擇?個隨機的點,稱為聚類中心(cluster centroids)

對於資料集中的每乙個資料,按照距離?個中心點的距離,將其與距離最近的中心點關聯起來,與同乙個中心點關聯的所有點聚成一類。

計算每乙個組的平均值,將該組所關聯的中心點移動到平均值的位置。

重複步驟 2-4 直至中心點不再變化。

隨機選取聚類中心

把資料和聚類中心按照距離關聯

計算每乙個組的平均值,將該組所關聯的中心點移動到平均值的位置。

反覆迭代後得到結果

用?1,?2,…,?? 來表示聚類中心,用?(1),?(2),…,?(?)來儲存與第?個例項資料最近的聚類中心的索引。即c(2)=5表示第二個資料屬於第五個聚類。

repeat
k-均值最小化問題,是要最小化所有的資料點與其所關聯的聚類中心點之間的距離之和,因此 k-均值的代價函式(又稱畸變函式 distortion function)為:

在執行 k-均值演算法的之前,我們首先要隨機初始化所有的聚類中心點,具體方法為:

我們應該選擇? < ?,即聚類中心點的個數要小於所有訓練集例項的數量

隨機選擇?個訓練例項,然後令?個聚類中心分別與這?個訓練例項相等

注: k-均值演算法有可能會停留在乙個區域性最優解,這取決於聚類中心的初始值

例:

顯然下方兩個聚類方法陷入了區域性最優解。

解決方法:多次執行 k-均值演算法,每一次都重新進行隨機初始化,最後再比較多次執行 k-均值的結果,選擇代價函式最小的結果。這種方法適用於k比較小(k<10)的情況。關 於「肘部法則」,我們所需要做的是改變?值,也就是聚類類別數目的總數。我們用乙個聚類來執行 k 均值聚類方法。這就意味著,所有的資料都會分到乙個聚類裡,然後計算成本函式或者計算畸變函式?。從而得到不同k對應的不同代價函式值。

根據影象可以明顯看出代價函式變緩的「肘部點」,「肘部點」所對應的k值即為合適的聚類數。

例如,我們的 t-恤製造例子中,我們要將使用者按照身材聚類,我們可以分成 3 個尺寸:?, ?, ?,也可以分成 5 個尺寸??, ?, ?, ?,??,這樣的選擇是建立在回答「聚類後我們製造的 t-恤是否能較好地適合我們的客戶」這個問題的基礎上作出的。

機器學習日記 監督學習 無監督學習

監督學習是指 利用一組已知類別的樣本調整 分類器的 引數,使其達到所要求效能的過程,也稱為 監督訓練或有教師學習。無監督學習 現實生活中常常會有這樣的問題 缺乏足夠的 先驗知識 因此難以人工標註類別或進行人工類別標註的成本太高。很自然地,我們希望計算機能代我們完成這些工作,或至少提供一些幫助。根據類...

機器學習筆記 監督學習,無監督學習,半監督學習

這個問題可以回答得很簡單 是否有監督 supervised 就看輸入資料是否有標籤 label 輸入資料有標籤,則為有監督學習,沒標籤則為無監督學習。什麼是學習 learning 學習 乙個成語就可概括 舉一反三。此處以高考為例,高考的題目在上考場前我們未必做過,但在高中三年我們做過很多很多題目,懂...

機器學習中的有監督學習,無監督學習,半監督學習

在機器學習 machine learning 領域,主要有三類不同的學習方法 監督學習 supervised learning 非監督學習 unsupervised learning 半監督學習 semi supervised learning 監督學習 通過已有的一部分輸入資料與輸出資料之間的對應...