吳恩達機器學習系列20:K - 均值算法

在無監督學習中,咱們會把沒有標籤的數據集交給算法,讓它自動地發現數據之間的關係,聚類算法(Clustering algorithm就是一種無監督學習算法。它會自動地將無標籤的數據集進行分類,以下圖:算法

未命名圖片.png

它會將這個數據集劃分紅兩類,每個綠圈就是一類。微信


在聚類算法中,最多見的就是 K-均值算法(K-means algorithm,咱們先來看看這個算法在下面這個數據集中是如何進行工做的。機器學習

未命名圖片.png

若是將數據集劃分紅兩類的話,第一步隨機選取兩個點做爲聚類中心(一般不是這麼選擇,爲了更方便的理解,先這麼選,在後面我會告訴你正確應該如何去選擇)編輯器

未命名圖片.png

對於每個樣本點,離哪個聚類中心近就會被染成相應的顏色,劃歸成相同的一類:函數

未命名圖片.png

而後每一類都會計算出離那些數據集最近的一個位置,將聚類中心移動到那個位置:學習

未命名圖片.png

以後再進行染色:spa

未命名圖片.png

再移動,再染色,再移動,再染色,再移動。。。(人類的本質是什麼)不斷地進行循環,直到聚類中心再也不移動爲止:3d

未命名圖片.png

如今就成功地劃分出兩類不一樣的數據集了。cdn


再回過頭來看 K-均值算法(K-means algorithm:它須要傳入兩個參數,須要聚類的數量 K 訓練集blog

未命名圖片.png

一開始,會根據傳入聚類的數量 K 隨機初始化聚類中心,而後不斷地去循環內部的兩個循環:

未命名圖片.png

紅色部分表示每個樣本點選擇離它最近的聚類中心染成相應的顏色,也就是簇分配,咱們將每個樣本點劃分到所屬的聚類中心。實際上就是最小化這個代價函數:

未命名圖片.png

藍色部分表示不斷地去移動聚類中心使它到跟它顏色相同的樣本點的距離最小。



最後來補充一下如何初始化聚類中心。以前說過,隨機位置初始化這種方法是不可取的,正確的操做是隨機選取樣本點所在的位置做爲聚類中心,爲了不陷入到局部最優解中,咱們要屢次選取,挑選一個代價函數最小的做爲咱們的選擇,這樣就會達到最優的效果。




ps. 本篇文章是根據吳恩達機器學習課程整理的學習筆記。若是想要一塊兒學習機器學習,能夠關注微信公衆號「SuperFeng」,期待與你的相遇。

請關注公衆號.PNG

相關文章
相關標籤/搜索