0
本文作者: AI研習(xí)社-譯站 | 2018-08-14 18:00 |
雷鋒網(wǎng)按:本文為AI研習(xí)社編譯的技術(shù)博客,原標(biāo)題 K-Means Clustering: All You Need to Know,作者為 Uday Keith 。
翻譯 | 李鋒 周靜 校對 | 余杭 整理 | MY
在機(jī)器學(xué)習(xí)中,我們經(jīng)常處于函數(shù)逼近的范疇。也就是說,我們有特定的真實(shí)值(y)和相關(guān)變量(x) 并且我們的目標(biāo)是使用標(biāo)識(shí)一個(gè)函數(shù)來封裝我們的變量,以及函數(shù)的結(jié)果非常接近真實(shí)值。這個(gè)函數(shù)近似的練習(xí)也被稱為監(jiān)督學(xué)習(xí)。
另一方面,無監(jiān)督學(xué)習(xí)有稍微的不同。我們的數(shù)據(jù)不包括真實(shí)值,而是只有變量。讓我們來詳細(xì)說明下無監(jiān)督學(xué)習(xí)與監(jiān)督學(xué)習(xí)的不同。
因?yàn)槲覀儧]有真實(shí)值,那么我們的任務(wù)不是預(yù)測或者接近任何結(jié)果。因此,沒有損失/代價(jià)函數(shù)提供關(guān)于我們的函數(shù)輸出與真實(shí)值是否接近的反饋。這很復(fù)雜嗎?如果沒有關(guān)于輸出好壞的反饋,那么怎樣知道我們的輸出是令人滿意的還是完全無用呢?
在本教程中,我們將了解什么是無監(jiān)督學(xué)習(xí),全面理解并執(zhí)行一個(gè)常見的無監(jiān)督學(xué)習(xí)任務(wù),即集群。
聚類
在沒 teacher/真實(shí)值的情況下,我們能用變量做什么呢?讓我們用在線零售數(shù)據(jù)集來舉例吧。這是一個(gè)包含英國在線零售商在 2010-2011 年期間所有交易的數(shù)據(jù)集。接下來用 pandas 庫來看看數(shù)據(jù)。
K-means 數(shù)據(jù)集中有 8 個(gè)列表以及 50 多萬行數(shù)據(jù)
現(xiàn)在,假如你是個(gè)在線零售商,這個(gè)數(shù)據(jù)能用來干什么呢?可以用來嘗試識(shí)別客戶類型,那么我能得到多少種客戶類型呢?這就是電子商務(wù)中常見的客戶細(xì)分任務(wù)??蛻艏?xì)分指的是將客戶群劃分為與市場營銷相關(guān)的、在特定方面類似的個(gè)人群體,例如年齡,性別,興趣愛好和消費(fèi)習(xí)慣。所以這里的任務(wù)是識(shí)別互相相似的客戶,劃分到同一個(gè)組,接著尋找其他類似的組或段。
在機(jī)器學(xué)習(xí)中,識(shí)別相似度的任務(wù)稱為聚類。K-Means 中最常用的聚類技術(shù)。
K 均值算法
K-Means 是一種迭代聚類算法,它試圖將數(shù)據(jù)中的同構(gòu)或相似的子組聚類。我們要做的第一件事情就是明確地定義相似性和差異性。在我們的觀測中,簡單來說,可以通過數(shù)據(jù)點(diǎn)之間的歐幾里得距離來定義相似性。用下面的例子來說明,根據(jù)個(gè)人的身高和體重圖表,綠色的數(shù)據(jù)點(diǎn)(個(gè)人)比紅色的數(shù)據(jù)點(diǎn)更相似。
相似性的簡單案例:身高和體重
因此,如果兩個(gè)數(shù)據(jù)點(diǎn)很相似,就將它們視為一個(gè)集群的。理想的情況下,我們傾向于一個(gè)集群的數(shù)據(jù)點(diǎn)彼此間盡可能的接近。然后,我們可以正式地描述集群的目標(biāo):使一個(gè)集群內(nèi),所有集群之間的觀察距離最小。我們可以用一個(gè)函數(shù)來表示:
K-means 函數(shù)里的 W(Ck), Σ(xij-xi'j) 指的是,「變量 x 在第 k 個(gè)簇中觀測到的歐幾里得距離的平方和」. 外面的Σ 計(jì)算了跨集群間歐幾里得距離的總和(從第 1 個(gè)到第 K 個(gè)集群,故叫 K 均值)。
我們的目的是使函數(shù) W(Ck) 最小化,那么怎么做呢? 實(shí)現(xiàn)這種最小化的迭代算法 (步驟) 是:
在 1 到 K 中隨機(jī)選取一個(gè)數(shù)字給數(shù)據(jù)中的每一行(稍后說明如何選擇這個(gè)數(shù))。這是初始的集群分配。
對每一個(gè)集群計(jì)算它的質(zhì)心,這是每個(gè) K 集群觀測時(shí)的特征向量。向量大小由數(shù)據(jù)集中特征的數(shù)量 (p)來決定。對于在線零售來說,向量大小為 8。
重新訪問初始的集群分配,并將每一行重新分配給其質(zhì)心第 p 個(gè)特性的集群。
迭代 (重復(fù)步驟 1-3),直到集群分配停止變化或處于可容忍的水平 (稍后將對此進(jìn)行詳細(xì)介紹)。
下面的 K-means 類是上述步驟的實(shí)現(xiàn)。閱讀注釋可以幫助你理解步驟。
在線零售數(shù)據(jù)集中,如果我們將客戶分成兩個(gè)區(qū)段,并根據(jù)他們的簇分配類別向每個(gè)客戶發(fā)送營銷材料,我們可能過于籠統(tǒng)地推銷市場了。因此,客戶可能不會(huì)重回我們的電子商務(wù)網(wǎng)站。另外,如果我們把客戶分成 100 個(gè)區(qū)段,我們可能在每段上只有少數(shù)客戶,發(fā)送 100 種不同的營銷材料將會(huì)是一場噩夢。因此,雖然對于 K 的選擇是一個(gè)商業(yè)決策,但我們確實(shí)有指導(dǎo)我們最終決定的技巧。在將我們的算法應(yīng)用到我們的數(shù)據(jù)之前,有幾點(diǎn)需要解釋。首先,我們?nèi)绾芜x擇數(shù)據(jù)中有需要多少簇? 好,這真是聚類問題的核心所在。根據(jù)我們的數(shù)據(jù),我們不知道是否有 4 或者 7 種類型的客戶(簇),因?yàn)檫@確實(shí)是一個(gè)無監(jiān)督的問題。因此我們的問題是確定最適合的 K 個(gè)簇來分割我們的數(shù)據(jù)。然而,并沒有「正確「答案,因?yàn)闆]有真實(shí)值。事實(shí)上,選擇 K 值的過程通常是一個(gè)商業(yè)決策。
選擇正確的 K 值
彎管法
彎管法允許我們通過視覺輔助對 K 值做出判定。我們試著將我們的數(shù)據(jù)分解成不同數(shù)量的 K 簇,并根據(jù)相應(yīng)的 W(Ck)畫出每個(gè) K 簇類型。下面是一個(gè)例子。
......
想要繼續(xù)閱讀,請移步至我們的AI研習(xí)社社區(qū):https://club.leiphone.com/page/TextTranslation/784
更多精彩內(nèi)容盡在 AI 研習(xí)社。雷鋒網(wǎng)雷鋒網(wǎng)
不同領(lǐng)域包括計(jì)算機(jī)視覺,語音語義,區(qū)塊鏈,自動(dòng)駕駛,數(shù)據(jù)挖掘,智能控制,編程語言等每日更新。
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。