0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何找出數(shù)據(jù)集的基礎(chǔ)結(jié)構(gòu)?如何聚類和建立最有效的分組?

zhKF_jqr_AI ? 來源:未知 ? 作者:李倩 ? 2018-06-30 09:50 ? 次閱讀

如何找出數(shù)據(jù)集的基礎(chǔ)結(jié)構(gòu)?如何聚類和建立最有效的分組?如何在壓縮格式后有效地表達(dá)數(shù)據(jù)?這些都是無監(jiān)督學(xué)習(xí)的目標(biāo)。它是“無監(jiān)督”的——因?yàn)槟闶菑奈唇?jīng)標(biāo)記的數(shù)據(jù)開始的(沒有Y)。

在這篇文章中,我們要探討的無監(jiān)督學(xué)習(xí)任務(wù)主要有兩個(gè),一是通過相似性把數(shù)據(jù)聚類成組,二是以降低維度的方式壓縮數(shù)據(jù),同時(shí)保持其結(jié)構(gòu)和可用性。

無監(jiān)督學(xué)習(xí)可能涉及的場(chǎng)景:

某廣告平臺(tái)把美國(guó)消費(fèi)者細(xì)分為有類似購(gòu)物習(xí)慣的較小群體,以便更精準(zhǔn)地向他們投放廣告;

Airbnb將根據(jù)社區(qū)對(duì)住房列表進(jìn)行分組,以便用戶能更簡(jiǎn)便地進(jìn)行查詢;

數(shù)據(jù)科學(xué)研究團(tuán)隊(duì)降低大型數(shù)據(jù)集的維度,以簡(jiǎn)化模型和控制文件大小。

與監(jiān)督學(xué)習(xí)相比,我們無法提前預(yù)測(cè)無監(jiān)督學(xué)習(xí)算法的具體效果,它的“表現(xiàn)”往往是主觀的,只面向特定領(lǐng)域。

聚類

在現(xiàn)實(shí)世界中,聚類的一個(gè)典型案例是市場(chǎng)數(shù)據(jù)提供商Acxiom的系統(tǒng)Personicx,它把美國(guó)家庭分為21個(gè)生活水平群體,又在其下細(xì)分出79類不同群組。也許這看起來并沒有多大用處,但對(duì)于廣告商來說,這些數(shù)據(jù)成了他們?cè)贔acebook上確定廣告投放地區(qū)、時(shí)間段的重要依據(jù)。

Personicx人口聚類

在白皮書中,Acxiom稱系統(tǒng)使用的聚類方法是質(zhì)心聚類和主成分分析,之后我們會(huì)對(duì)它們做簡(jiǎn)要介紹。

你可以想象,這些數(shù)據(jù)精準(zhǔn)地切合了廣告商的需求。對(duì)于迫切希望通過推送廣告來達(dá)到立竿見影效果的廣告商而言,他們重視的內(nèi)容有兩個(gè):一是了解目標(biāo)消費(fèi)者的群體大?。欢峭ㄟ^針對(duì)消費(fèi)者的人口統(tǒng)計(jì)特征,如興趣愛好和生活方式,挖掘潛在的新客戶。

Acxiom有一個(gè)名為“我的聚類是什么”的小工具,只需回答幾個(gè)簡(jiǎn)單問題,你就能知道算法對(duì)你的分類

讓我們先從聚類算法開始,慢慢了解他們是怎么做的。

k-means聚類

聚類是一種涉及數(shù)據(jù)點(diǎn)分組的機(jī)器學(xué)習(xí)技術(shù)。給定一組數(shù)據(jù)點(diǎn),我們可以用聚類算法將每個(gè)數(shù)據(jù)點(diǎn)到分類到圖像中的特定組中。理論上,同一組中的數(shù)據(jù)點(diǎn)應(yīng)具有相似的屬性和特征,而不同組中的數(shù)據(jù)點(diǎn)的屬性和特征則應(yīng)高度不同。

通過k-means算法,我們能把目標(biāo)數(shù)據(jù)點(diǎn)聚類為k個(gè)簇。k值越大,簇越少,每一簇包含的數(shù)據(jù)點(diǎn)就越多;k值越小,簇越多,每一簇包含的數(shù)據(jù)點(diǎn)就越少。

該算法的輸出是一堆打好了“標(biāo)簽”的數(shù)據(jù)點(diǎn),每個(gè)標(biāo)簽指向數(shù)據(jù)點(diǎn)所屬的k簇。進(jìn)行聚類時(shí),算法會(huì)根據(jù)k值為數(shù)據(jù)定義k個(gè)聚類質(zhì)心點(diǎn),這些質(zhì)心就像是每個(gè)簇的核心,它們不斷“捕捉”最接近自己的點(diǎn)并把它們添加進(jìn)聚類中。

如果這還不夠形象,那你也可以把它們想成派對(duì)舞會(huì)上出現(xiàn)的那些充滿魅力的人,他們瞬間就能引起身邊人的關(guān)注。如果這樣的人只有一個(gè),那全場(chǎng)人都會(huì)聚集在他身邊;如果有很多個(gè),那舞會(huì)上就會(huì)形成許多較小的活動(dòng)團(tuán)體。

以下是k-means聚類的簡(jiǎn)要步驟:

1. 定義k個(gè)質(zhì)心。隨機(jī)初始化k個(gè)質(zhì)心;

2. 為質(zhì)心找到最接近它的數(shù)據(jù)點(diǎn)并構(gòu)建簇。將每個(gè)數(shù)據(jù)點(diǎn)分配給k個(gè)質(zhì)心中的一個(gè),分配依據(jù)是數(shù)據(jù)點(diǎn)和質(zhì)心的接近程度,也就是歐氏距離平方和最小。

3. 更新質(zhì)心位置,將它移到更新后簇的中心。計(jì)算簇中所有點(diǎn)的平均位置,這個(gè)得出的新向量就是質(zhì)心的新位置。

k-means聚類的一個(gè)實(shí)際應(yīng)用是對(duì)手寫數(shù)字進(jìn)行分類。假設(shè)我們有一些黑白的數(shù)字圖像,圖像的像素為64 × 64,每個(gè)像素代表一個(gè)維度,那么這些圖像就有64 × 64 = 4,096個(gè)維度。在這個(gè)4,096維的空間中,k-means算法能把所有聚集緊密的像素點(diǎn)聚類成一個(gè)簇,假設(shè)它們同屬于一個(gè)數(shù)字。實(shí)踐證明,這種做法在數(shù)字識(shí)別上取得了非常好的結(jié)果。

層次聚類

層次聚類和常規(guī)的聚類算法大體相似,它的不同之處在于它聚類的簇具有層次結(jié)構(gòu)。這對(duì)于一些有不同靈活性需求的任務(wù)來說很有用,如想象一下Amazon的網(wǎng)上商城,它的主頁(yè)上有很多分組的商品,通過導(dǎo)航欄,我們能找到目標(biāo)商品所屬的大類,之后再是更細(xì)分的、更具體的小類。對(duì)于一些項(xiàng)目集群,像這樣逐層提高數(shù)據(jù)顆粒密度是有價(jià)值的。

就算法的輸出而言,除了聚類成各個(gè)子集,層次聚類的一個(gè)優(yōu)點(diǎn)是可以呈現(xiàn)一整棵樹,并由你自行選擇要聚類成什么效果,比如簇的數(shù)量。

以下是參差聚類的簡(jiǎn)要步驟:

1. 定義N個(gè)簇,每個(gè)簇包含1個(gè)數(shù)據(jù)點(diǎn);

2. 合并彼此最接近的兩個(gè)簇,現(xiàn)在我們就有N-1個(gè)簇;

3. 重新計(jì)算各簇之間的距離。對(duì)于計(jì)算距離,我們有多種方法,其中一種是將兩個(gè)簇之間的距離視為他們各自數(shù)據(jù)點(diǎn)之間的平均距離。

4. 重復(fù)步驟2和3,直到最后獲得一個(gè)包含所有數(shù)據(jù)點(diǎn)的簇。這時(shí)我們得到了一棵樹,如下圖所示。

5. 選取多個(gè)簇并在樹狀圖上繪制一條水平線。例:如果我們想要k = 2個(gè)簇,那就應(yīng)該在distance = 20000的位置畫一條線,這時(shí)我們就能得到一個(gè)包含數(shù)據(jù)點(diǎn)8、9、11、16的簇以及另一個(gè)簇。簇的數(shù)量等于水平線和樹狀圖的交點(diǎn)數(shù)。

降維

降維聽起來和壓縮差不多。它是為了盡量減少數(shù)據(jù)的復(fù)雜性,同時(shí)保持盡可能多的相關(guān)結(jié)構(gòu)。如果我們有一張128 × 128 × 3的圖像(長(zhǎng)×寬×RGB),它的數(shù)據(jù)維度就是49,152。這時(shí),如果我們能在不破壞圖象原有內(nèi)容的前提下降低圖像所在空間的維度,這對(duì)于后續(xù)計(jì)算是十分有幫助的。

讓我們先通過實(shí)踐看看兩種用于降維的主要方法:主成分分析和奇異值分解。

主成分分析(PCA)

在開始講解前,我們先來做一個(gè)線性代數(shù)小復(fù)習(xí)——向量空間和基。

在一個(gè)普通的平面坐標(biāo)中,原點(diǎn)O是(0, 0),基向量i為(1, 0),j為(0, 1)。但事實(shí)證明,我們可以選擇一個(gè)完全不同的基,比如把i'=(2, 1)和j'=(1, 2)作為基向量,這就成了另一個(gè)坐標(biāo)系。如果你有耐心,你可以計(jì)算出原來iOj坐標(biāo)系上的(2, 2)到i'Oj'上會(huì)變成(6, 6)。

這樣做的意義在于我們能改變向量空間的基,想象更高維的空間,比如5萬(wàn)維。選擇一個(gè)基,挑選出其中最重要的200個(gè)基向量,我們把這些向量稱之為“主成分”。這之后,你挑出的向量子集就能構(gòu)成一個(gè)新的向量空間,它的維度比原來的更低,但保留了大部分?jǐn)?shù)據(jù)復(fù)雜性。

選擇最重要的主成分,考察它保留了多少差異性,然后按照這個(gè)指標(biāo)進(jìn)行排序。

PCA的另一個(gè)用處在于降低數(shù)據(jù)文件大小。經(jīng)過重新映射后,原本的數(shù)據(jù)空間會(huì)被壓縮至低維,更有利于之后的計(jì)算。

擴(kuò)展閱讀:Diffusion Mapping and PCA on the WikiLeaks Cable Database

地址:http://mou3amalet.com/cargocollective/675_xuesabri-final.pdf

奇異值分解(SVD)

讓我們將數(shù)據(jù)表示為一個(gè)較大的A = m × n的矩陣。SVD是一種計(jì)算,它允許我們將該大矩陣分解為3個(gè)較小矩陣(U = m × r,對(duì)角矩陣Σ= r × r,以及V = r × n,其中r是一個(gè)小數(shù))的乘積。

以下是一個(gè)直觀的例子。

r*r對(duì)角矩陣Σ中的值被稱為奇異值。它們的神奇之處在于可以用來壓縮原始矩陣。如果我們?cè)谠季仃嘦和V中刪除最小的20%奇異值的相關(guān)列,矩陣會(huì)縮小很多,但仍能很好地表示底層矩陣。為了更準(zhǔn)確地展示它的效果,我們可以來看看這條狗:

首先,如果我們按照量級(jí)對(duì)奇異值(矩陣Σ的值)進(jìn)行排序,則前50個(gè)奇異值包含整個(gè)矩陣Σ85%的量值。

因此我們可以把矩陣Σ中剩下的250個(gè)值舍去,也就是設(shè)置為0,獲得一個(gè)“rank 50”的版本。在下圖中,我們分別列舉了200、100、50、30、20、10和3的狗,可以看出,隨著圖片空間逐漸變小,它的清晰度也不斷下降,但就肉眼的觀察情況看,“rank 30”的圖像還是表現(xiàn)出了很多接近原圖的特征。我們可以計(jì)算這一過程中算法壓縮了多少空間:原始圖像矩陣有305 × 275 = 83,875個(gè)值;“rank 30”的狗則只有305 × 30 + 30 + 30 × 275 = 17,430個(gè)值(要算上矩陣U和V乘以0的量)——幾乎是原圖的五分之一。

實(shí)戰(zhàn)演練和進(jìn)階閱讀

k-means聚類

嘗試可視化聚類過程,以建立對(duì)算法工作原理更直觀的理解。你也可以參考用k-means聚類手寫數(shù)字的開源項(xiàng)目,并學(xué)習(xí)坐著列出的各類在線教程。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 聚類
    +關(guān)注

    關(guān)注

    0

    文章

    146

    瀏覽量

    14200
  • K-means
    +關(guān)注

    關(guān)注

    0

    文章

    28

    瀏覽量

    11282
  • 數(shù)據(jù)集
    +關(guān)注

    關(guān)注

    4

    文章

    1201

    瀏覽量

    24622

原文標(biāo)題:《Machine Learning for Humans》第五章:無監(jiān)督學(xué)習(xí)

文章出處:【微信號(hào):jqr_AI,微信公眾號(hào):論智】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于模糊分組和監(jiān)督的RBF回歸性能改進(jìn)

    為了提高RBF 回歸建模的精度,該文提出了一種基于模糊分組和監(jiān)督的RBF 回歸建模的新方法?;舅枷胧牵菏紫壤帽O(jiān)督將訓(xùn)練樣本模糊劃
    發(fā)表于 11-18 14:13 ?5次下載

    面向大數(shù)據(jù)的粗粒度并行算法研究

    一種面向大數(shù)據(jù)的粗粒度并行算法研究。
    發(fā)表于 01-15 15:08 ?22次下載

    新的模糊有效性指標(biāo)

    新的模糊有效性指標(biāo)_趙娜娜
    發(fā)表于 01-07 20:32 ?0次下載

    常用算法有哪些?六大類聚算法詳細(xì)介紹

    聚類分析計(jì)算方法主要有如下幾種:劃分法、層次法、密度算法、圖論法、網(wǎng)格算法和模型算法。劃分法(partitioning methods),給定一個(gè)有N個(gè)元組或者紀(jì)錄的數(shù)據(jù),分裂法
    發(fā)表于 10-25 19:18 ?17.6w次閱讀
    常用<b class='flag-5'>聚</b><b class='flag-5'>類</b>算法有哪些?六大類聚<b class='flag-5'>類</b>算法詳細(xì)介紹

    基于網(wǎng)格的快速搜尋密度峰值的算法優(yōu)化研究

    CFSFDP是基于密度的新型算法,可非球形數(shù)據(jù),具有
    發(fā)表于 11-21 15:08 ?15次下載

    集成式位置敏感

    針對(duì)常用圖像尤其是圖像視覺方法速度慢、不支持增量
    發(fā)表于 01-08 16:38 ?0次下載

    基于距離最大化和缺失數(shù)據(jù)的填充算法

    的最大距離確定聚中心,自動(dòng)產(chǎn)生個(gè)數(shù),提高效果;其次,對(duì)
    發(fā)表于 01-09 10:56 ?0次下載
    基于距離最大化和缺失<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>聚</b><b class='flag-5'>類</b>的填充算法

    關(guān)聯(lián)函數(shù)的數(shù)據(jù)算法

    傳統(tǒng)數(shù)據(jù)算法大多基于距離或密度,質(zhì)量和處理效率都不高。針對(duì)以上問題,提出了一種基于關(guān)聯(lián)函數(shù)的數(shù)
    發(fā)表于 02-10 11:54 ?2次下載

    大文本數(shù)據(jù)的間接譜

    針對(duì)譜存在計(jì)算瓶頸的問題,提出了一種快速的集成算法,稱為間接譜。它首先運(yùn)用K-Means算法對(duì)數(shù)據(jù)
    發(fā)表于 02-24 14:43 ?0次下載

    數(shù)據(jù)算法

    面對(duì)結(jié)構(gòu)復(fù)雜的數(shù)據(jù),譜是一種靈活而有效
    發(fā)表于 03-01 10:10 ?0次下載

    如何使用概率模型進(jìn)行非均勻數(shù)據(jù)算法的設(shè)計(jì)介紹

    數(shù)據(jù)的目標(biāo)優(yōu)化函數(shù),并定義了優(yōu)化該函數(shù)的期望最大化( EM)型算法。分析結(jié)果表明,所提算法可以進(jìn)行非均勻
    發(fā)表于 12-13 10:57 ?10次下載

    按照特征分組的異常入侵檢測(cè)系統(tǒng)

    參數(shù)保留特征分組內(nèi)的差異信息,使用決策樹C4.5算法對(duì)降維后的數(shù)據(jù)進(jìn)行入侵分類處理。實(shí)驗(yàn)結(jié)果表明,該方法能夠使 kddcup99數(shù)據(jù)
    發(fā)表于 05-13 15:50 ?2次下載

    基于群組和密度的大規(guī)模軌跡算法

    現(xiàn)有基于密度的方法主要用于點(diǎn)數(shù)據(jù),不適用于大規(guī)模軌跡數(shù)據(jù)。針對(duì)該問題,提出一種利用群組
    發(fā)表于 05-14 10:44 ?2次下載

    可提取非線性結(jié)構(gòu)的子空間方法

    的過程和模型設(shè)計(jì),發(fā)現(xiàn)基于子空間的方法存在難以保持數(shù)據(jù)非線性和局部幾何結(jié)構(gòu)的問題。為此,文中提出了一種可以提取非線性結(jié)構(gòu)的子空間
    發(fā)表于 05-18 14:01 ?2次下載

    K-means算法指南

    技術(shù)領(lǐng)域中,K-means可能是最常見和經(jīng)常使用的技術(shù)之一。K-means使用迭代細(xì)化方法,基于用戶定義的集群數(shù)量(由變量K表示)和數(shù)據(jù)來產(chǎn)生其最終
    的頭像 發(fā)表于 10-28 14:25 ?1416次閱讀