當前位置:
首頁 > 新聞 > 關於 K means 聚類演算法,你需要知道這些東西

關於 K means 聚類演算法,你需要知道這些東西

雷鋒網按:本文為AI研習社編譯的技術博客,原標題 K-Means Clustering: All You Need to Know,作者為  Uday Keith 。

翻譯 | 李鋒  周靜        校對 | 餘杭       整理 | MY

在機器學習中,我們經常處於函數逼近的範疇。也就是說,我們有特定的真實值(y)和相關變數(x) 並且我們的目標是使用標識一個函數來封裝我們的變數,以及函數的結果非常接近真實值。這個函數近似的練習也被稱為監督學習。

另一方面,無監督學習有稍微的不同。我們的數據不包括真實值,而是只有變數。讓我們來詳細說明下無監督學習與監督學習的不同。

因為我們沒有真實值,那麼我們的任務不是預測或者接近任何結果。因此,沒有損失/代價函數提供關於我們的函數輸出與真實值是否接近的反饋。這很複雜嗎?如果沒有關於輸出好壞的反饋,那麼怎樣知道我們的輸出是令人滿意的還是完全無用呢?

在本教程中,我們將了解什麼是無監督學習,全面理解並執行一個常見的無監督學習任務,即集群。

聚類

在沒 teacher/真實值的情況下,我們能用變數做什麼呢?讓我們用在線零售數據集來舉例吧。這是一個包含英國在線零售商在 2010-2011 年期間所有交易的數據集。接下來用 pandas 庫來看看數據。

K-means 數據集中有 8 個列表以及 50 多萬行數據

現在,假如你是個在線零售商,這個數據能用來幹什麼呢?可以用來嘗試識別客戶類型,那麼我能得到多少種客戶類型呢?這就是電子商務中常見的客戶細分任務。客戶細分指的是將客戶群劃分為與市場營銷相關的、在特定方面類似的個人群體,例如年齡,性別,興趣愛好和消費習慣。所以這裡的任務是識別互相相似的客戶,劃分到同一個組,接著尋找其他類似的組或段。

在機器學習中,識別相似度的任務稱為聚類。K-Means 中最常用的聚類技術。

K 均值演算法

K-Means 是一種迭代聚類演算法,它試圖將數據中的同構或相似的子組聚類。我們要做的第一件事情就是明確地定義相似性和差異性。在我們的觀測中,簡單來說,可以通過數據點之間的歐幾里得距離來定義相似性。用下面的例子來說明,根據個人的身高和體重圖表,綠色的數據點(個人)比紅色的數據點更相似。

相似性的簡單案例:身高和體重

因此,如果兩個數據點很相似,就將它們視為一個集群的。理想的情況下,我們傾向於一個集群的數據點彼此間儘可能的接近。然後,我們可以正式地描述集群的目標:使一個集群內,所有集群之間的觀察距離最小。我們可以用一個函數來表示:

K-means 函數里的 W(Ck), Σ(xij-xi"j) 指的是,「變數 x 在第 k 個簇中觀測到的歐幾里得距離的平方和」. 外面的Σ 計算了跨集群間歐幾里得距離的總和(從第 1 個到第 K 個集群,故叫 K 均值)。

我們的目的是使函數 W(Ck) 最小化,那麼怎麼做呢? 實現這種最小化的迭代演算法 (步驟) 是:

在 1 到 K 中隨機選取一個數字給數據中的每一行(稍後說明如何選擇這個數)。這是初始的集群分配。

對每一個集群計算它的質心,這是每個 K 集群觀測時的特徵向量。向量大小由數據集中特徵的數量 (p)來決定。對於在線零售來說,向量大小為 8。

重新訪問初始的集群分配,並將每一行重新分配給其質心第 p 個特性的集群。

迭代 (重複步驟 1-3),直到集群分配停止變化或處於可容忍的水平 (稍後將對此進行詳細介紹)。

下面的 K-means 類是上述步驟的實現。閱讀注釋可以幫助你理解步驟。

在線零售數據集中,如果我們將客戶分成兩個區段,並根據他們的簇分配類別向每個客戶發送營銷材料,我們可能過於籠統地推銷市場了。因此,客戶可能不會重回我們的電子商務網站。另外,如果我們把客戶分成 100 個區段,我們可能在每段上只有少數客戶,發送 100 種不同的營銷材料將會是一場噩夢。因此,雖然對於 K 的選擇是一個商業決策,但我們確實有指導我們最終決定的技巧。在將我們的演算法應用到我們的數據之前,有幾點需要解釋。首先,我們如何選擇數據中有需要多少簇? 好,這真是聚類問題的核心所在。根據我們的數據,我們不知道是否有 4 或者 7 種類型的客戶(簇),因為這確實是一個無監督的問題。因此我們的問題是確定最適合的 K 個簇來分割我們的數據。然而,並沒有「正確「答案,因為沒有真實值。事實上,選擇 K 值的過程通常是一個商業決策。

選擇正確的 K 值

彎管法

彎管法允許我們通過視覺輔助對 K 值做出判定。我們試著將我們的數據分解成不同數量的 K 簇,並根據相應的 W(Ck)畫出每個 K 簇類型。下面是一個例子。

......


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 雷鋒網 的精彩文章:

賭一張車票!商業化道路上自動駕駛穿梭車最有希望搶先落地
如何使用 TensorFlow mobile將PyTorch和Keras 部署到移動設備

TAG:雷鋒網 |