機器學習之K means演算法

2022-07-16 00:51:09 字數 1470 閱讀 9424

前言

簡介

在之前發表的線性回歸、邏輯回歸、神經網路、svm支援向量機等演算法都是監督學習演算法,需要樣本進行訓練,且

樣本的類別是知道的。接下來要介紹的是非監督學習演算法,其樣本的類別是未知的。非監督學習演算法中,比較有代表性

的就是聚類演算法。而聚類演算法中,又有

以上只是部分演算法,在這裡就不一一枚舉了,本文講解的是k-means演算法。

k-means原理

k-means演算法原理十分簡單,實行起來總共分為以下幾個步驟: 

文字往往沒有這麼直觀,接下來看下面的,我們可以清晰地看到聚類中心的變化,簇的變化。隨著上面步驟的結束,

k-means演算法到達了我們想要的效果。

k-means引數優化

1、代價函式

這代價函式很好理解,最小化此代價函式,無非是最小化每個樣本到所屬類簇中心的距離,此時的分類效果很好。

2、選擇初始化聚類中心

如果採用隨機初始化,很可能導致結果的不理想,下圖是兩個不同初始化聚類中心的分類效果,明顯下面這個分類效果好

多了,所以一次隨機初始化,並不能給我們帶來理想的效果。

那我們該怎麼選擇初始聚類中心呢?其實只需多次隨機初始化,並執行演算法,計算其代價函式,選擇代價函式值小的初

始化聚類中心。

3、選擇聚類的數目

如何選擇聚類的數目?說實話,沒有特別標準的答案。一般來說,手動選取比較多,或者採用「肘部法則」(elbow method),

此法則是計算不同聚類數目下的代價函式,畫出曲線,選擇這個轉折點(像肘部)的k值作為聚類數目,如下面左圖所示。但是,現實

中的情況往往是下面右圖所示,很難找到「肘部」。

注意:其實很多時候,你要分類的目標會給你相應的資訊,需要分幾類,此時你完全可以按照目標的要求來。

機器學習之k means演算法

從資料集中隨機選擇k個聚類樣本作為初始的聚類中心,然後計算資料集中每個樣本到這k個聚類中心的距離,並將此樣本分到距離最小的聚類中心所對應的類中。將所有樣本歸類後,對於每個類別重新計算每個類別的聚類中心即每個類中所有樣本的質心,重複以上操作直到聚類中心不變為止。k means存在缺點 1 k mean...

機器學習 K Means演算法

簡介 又叫k 均值演算法,是非監督學習中的聚類演算法。基本思想 k means演算法比較簡單。在k means演算法中,用cluster來表示簇 容易證明k means演算法收斂等同於所有質心不再發生變化。基本的k means演算法流程如下 選取k個初始質心 作為初始cluster,每個初始clus...

機器學習之聚類演算法 K Means

參考 聚類演算法可以分為 中心點方法 層次聚類方法 基於密度方法 基於網格 基於模型方法。其中最為經典的是k means演算法 k means屬於中心點方法 也有叫劃分方法 演算法經典簡單。演算法 人工選取k值,並選取k個點作為k個簇的質心 對所有樣本分別計算到k個簇的質心的距離 歐式或者曼哈頓 取...