監督式學習是透過資料訓練(training)出一個model 但是在KNN其實並沒有做training的動作
最近鄰居法(KNN演算法,又譯K-近鄰演算法)
KNN屬於機器學習中的監督式學習(Supervised learning)
K=3 時, 鄰居有3人, 新加入的綠色應為 紅色三角形 那一群 |
尚未分類的資料,我們要怎麼將他分類呢?這邊就是非監督式學習(Unsupervised learning)中的K-Means
K-means是一個分群(Clustering)的演算法,不需要有預先標記好的資料(unlabeled data),屬於非監督式學習(Unsupervised learning)。主要是用來做常常被使用在資料分群,簡單的說就是把一堆資料根據你判斷相近的邏輯,把這一堆資料分成k群。
用比較數學(
嚇人)的說法就是,追求各個群組內部的均方誤差總和最小。
下面這個圖是一個資料根據不同K所分群出來的結果,顏色只是提供辨識分群用。
- 先決定K
k就是最後要分成幾群,如果你希望最後資料分成 3群 ,k就是3。 - 在你的資料中,隨機選擇k個點做為群中心(也可以直接從資料挑)。
- 把每一筆資料標記上離它最近的群中心
- 根據同一個標記的所有資料,重新計算出群中心。
- 如果步驟4算出來的群中心跟原本步驟3不同,則重複步驟3
沒有留言 :
張貼留言