聚類(lèi)是另一種無(wú)監(jiān)督機(jī)器學(xué)習(xí)方法,該方法將數(shù)據(jù)點(diǎn)分為相似的組,稱(chēng)之為“類(lèi)”。一個(gè)類(lèi)包含來(lái)自數(shù)據(jù)集的一個(gè)觀察子集,同一類(lèi)中的所有觀察值都被認(rèn)為是“相似的”。每個(gè)類(lèi)里觀測(cè)值彼此之間接近(稱(chēng)為內(nèi)聚),兩個(gè)不同的類(lèi)里的觀測(cè)值彼此遠(yuǎn)離或者盡可能不同(稱(chēng)為分離)。下圖描述了類(lèi)的內(nèi)聚和分離。
聚類(lèi)算法在許多投資問(wèn)題中特別有用。例如,在對(duì)公司進(jìn)行分組時(shí),類(lèi)可以發(fā)現(xiàn)公司之間的重要相似性和差異性,而這些相似性和差異性可能不會(huì)被標(biāo)準(zhǔn)的行業(yè)分類(lèi)所捕捉。在投資組合管理中,聚類(lèi)方法被用來(lái)改善投資組合的多樣化。
在實(shí)踐中,專(zhuān)家判斷在聚類(lèi)算法中起著一定的作用。首先,專(zhuān)家必須確定什么是“相似”。每個(gè)公司都可以被認(rèn)為是一個(gè)具有多種特征的觀察值,包含營(yíng)業(yè)收入、利潤(rùn)、財(cái)務(wù)比率等財(cái)務(wù)數(shù)值,以及其他潛在的模型輸入值。有了這些特征值,兩個(gè)觀測(cè)值之間的相似度或“距離”就可以被定義。距離越小,觀測(cè)結(jié)果越相似;距離越大,觀測(cè)結(jié)果越不相似。
一個(gè)常用的定義方法是歐幾里得距離,即兩點(diǎn)之間的直線距離。在機(jī)器學(xué)習(xí)中,經(jīng)常使用的距離度量有十余種。在實(shí)踐中,距離度量的選擇取決于數(shù)據(jù)的性質(zhì)(是否是數(shù)值)和被分析的業(yè)務(wù)類(lèi)別。
一旦定義了相關(guān)的距離度量,我們就可以將類(lèi)似的觀測(cè)結(jié)果分在一起。我們現(xiàn)在介紹兩種比較流行的聚類(lèi)方法:K-Means和分層聚類(lèi)。
K-Means
K-Means是一種相對(duì)較老的算法,它將觀察值重復(fù)劃分為一個(gè)固定的數(shù)字k(不重疊的類(lèi))。類(lèi)的數(shù)量k是一個(gè)模型超參數(shù),它的值由研究人員在學(xué)習(xí)開(kāi)始之前設(shè)置。每個(gè)類(lèi)由它的形心(centroid,即中心)定義,每個(gè)觀測(cè)值都由算法分配到與該觀測(cè)值最接近的形心的類(lèi)中。
K-Means算法遵循迭代過(guò)程。如下表所示,k=3和一組關(guān)于變量的觀察結(jié)果可以用兩個(gè)特征來(lái)描述。
在表中,水平軸和垂直軸分別代表第一和第二特征。例如,投資分析師可能希望將一組公司用兩個(gè)測(cè)量標(biāo)準(zhǔn)分成三類(lèi)。
算法將觀測(cè)數(shù)據(jù)按以下步驟進(jìn)行分類(lèi):
1、首先確定k(本例為3)個(gè)初始隨機(jī)形心的位置。
2、算法分析每個(gè)觀測(cè)值的特征。基于使用的距離度量,K-Means將每個(gè)觀測(cè)值分配給最近的形心(類(lèi)由形心定義)。
3、借助每個(gè)類(lèi)中的觀測(cè)值,K-Means算法在計(jì)算每個(gè)類(lèi)新的(k個(gè))形心(形心是觀測(cè)值的平均值)。
4、然后將觀測(cè)結(jié)果重新分配到新的形心,根據(jù)觀測(cè)結(jié)果對(duì)類(lèi)重新定義。
5、再次進(jìn)行新的(k個(gè))形心及類(lèi)的確定過(guò)程。
K-Means算法將繼續(xù)迭代,直到?jīng)]有觀察結(jié)果被重新分配到另一個(gè)新的類(lèi)(即不需要重新計(jì)算新的形心)。該算法最終收斂并得到最后的K個(gè)類(lèi)及類(lèi)內(nèi)的觀察值。在k=3的約束下,K-Means算法最小化了類(lèi)內(nèi)的距離(內(nèi)聚最大化),最大化了類(lèi)間距離(分離最大化)。
K-Means算法速度快,在擁有上億個(gè)觀測(cè)數(shù)據(jù)的數(shù)據(jù)集上運(yùn)行良好。但是,類(lèi)的最終分配可能取決于形心的初始位置。為了解決這個(gè)問(wèn)題,可以使用不同的形心多次運(yùn)行該算法,然后根據(jù)業(yè)務(wù)目的選擇最有用的分類(lèi)。
這種技術(shù)的一個(gè)限制是,在運(yùn)行K-Means之前,必須確定類(lèi)的數(shù)量(超參數(shù)k)。
因此,我們需要知道,研究問(wèn)題及分析數(shù)據(jù)集,選擇多少個(gè)類(lèi)是合理的。或者,可以選擇k的取值范圍,通過(guò)運(yùn)行算法找到最優(yōu)的類(lèi)的數(shù)量——使類(lèi)內(nèi)距離最小,類(lèi)內(nèi)的相似度最大。但是,最終結(jié)果仍可能過(guò)于主觀。
以羅素3000指數(shù)為例,該指數(shù)跟蹤美國(guó)市值最高的3000只股票。這3000支股票可以根據(jù)財(cái)務(wù)特征(如總資產(chǎn)、總收益、盈利能力、杠桿率等)和經(jīng)營(yíng)特征(如員工人數(shù)、研發(fā)費(fèi)用等)分為10個(gè)、50個(gè)甚至更多的類(lèi)。由于處于同一行業(yè)類(lèi)別中的公司可能具有非常不同的財(cái)務(wù)和運(yùn)營(yíng)特征,因此使用K-Means派生出不同的類(lèi)可以為“同類(lèi)”群體的性質(zhì)提供獨(dú)特的理解。如前所述,k的準(zhǔn)確選擇取決于所需的精度或分割的水平。我們還可以使用聚類(lèi)對(duì)投資工具或?qū)_基金進(jìn)行分類(lèi),作為標(biāo)準(zhǔn)分類(lèi)的替代方法。聚類(lèi)還可以幫助實(shí)現(xiàn)可視化數(shù)據(jù),并有助于檢測(cè)趨勢(shì)或異常值。
總而言之,K-Means算法是投資實(shí)踐中最常用的算法之一,特別是在高維數(shù)據(jù)中發(fā)現(xiàn)特有模式及作為現(xiàn)有靜態(tài)行業(yè)分類(lèi)的替代方法等方面。
分層聚類(lèi)
分層聚類(lèi)是一種用于構(gòu)建層次類(lèi)結(jié)構(gòu)的迭代過(guò)程。在K-Means聚類(lèi)中,算法將數(shù)據(jù)分割成預(yù)定數(shù)目的聚類(lèi);類(lèi)之間沒(méi)有定義的關(guān)系。然而,在分層聚類(lèi)中,算法會(huì)創(chuàng)建大小遞增(“內(nèi)聚”)或遞減(“分離”)的中間類(lèi),直到達(dá)到最終的聚類(lèi)。正如“分層”一詞所暗示的,該過(guò)程在多層類(lèi)之間創(chuàng)建關(guān)系。雖然與K-Means聚類(lèi)相比,分層聚類(lèi)的計(jì)算量更大,但它的優(yōu)點(diǎn)是允許分析師在決定使用哪種間隔的數(shù)據(jù)之前檢查不同間隔數(shù)據(jù)的分段。
更詳細(xì)地說(shuō),內(nèi)聚式(自下至上)分層聚類(lèi)先將每個(gè)觀察值作為自己的類(lèi)。然后,算法根據(jù)距離(相似度)的度量找到兩個(gè)最近的類(lèi),并將它們合并成一個(gè)新的更大的類(lèi)。這個(gè)過(guò)程不斷重復(fù),直到所有的觀察值都聚集成一個(gè)類(lèi)。下表中的A表描述了一個(gè)內(nèi)聚聚類(lèi)的假想示例,其中的觀察結(jié)果用字母表示(A到K),觀察結(jié)果周?chē)膱A圈表示類(lèi)。這個(gè)過(guò)程從11個(gè)單獨(dú)的類(lèi)開(kāi)始,然后生成分組序列。第一個(gè)序列包括6個(gè)類(lèi),有5個(gè)類(lèi)各自有2個(gè)觀測(cè)值,1個(gè)類(lèi)有單個(gè)觀測(cè)值G。接下來(lái)生成2個(gè)類(lèi),一個(gè)類(lèi)有6個(gè)觀測(cè)值,另一個(gè)類(lèi)有5個(gè)觀測(cè)值。最后的結(jié)果是一個(gè)包含所有11個(gè)觀測(cè)值的大類(lèi),該大類(lèi)包括兩個(gè)主要的子類(lèi),每個(gè)子類(lèi)包含三個(gè)較小的孫類(lèi)。
相反,分離式(自上而下)分層聚類(lèi)從單個(gè)類(lèi)的所有觀察值開(kāi)始。然后根據(jù)距離(相似度)將觀測(cè)結(jié)果分成兩個(gè)類(lèi)。然后,該算法逐步將中間類(lèi)劃分為更小的類(lèi),直到每個(gè)類(lèi)只包含一個(gè)觀察值。B表描述了分離式聚類(lèi)的步驟,它以一個(gè)包含11個(gè)觀察值的類(lèi)開(kāi)始,算法生成兩個(gè)較小的類(lèi),一個(gè)有6個(gè)觀測(cè)值,另一個(gè)有5個(gè)觀測(cè)值;然后再分為6個(gè)類(lèi);最后生成11個(gè)類(lèi),每個(gè)類(lèi)只包含一個(gè)觀測(cè)值。
在這個(gè)假設(shè)的例子中,內(nèi)聚式和分離式聚類(lèi)產(chǎn)生了相同的結(jié)果:兩個(gè)主要的子類(lèi),每個(gè)子類(lèi)有三個(gè)更小的孫類(lèi)。我們可以在6個(gè)類(lèi)或2個(gè)類(lèi)之間進(jìn)行選擇。由于計(jì)算速度快,內(nèi)聚式聚類(lèi)是處理數(shù)據(jù)集的常用方法。內(nèi)聚式聚類(lèi)算法根據(jù)局部模式進(jìn)行決策,不考慮數(shù)據(jù)的全局結(jié)構(gòu)。因此,內(nèi)聚式聚類(lèi)非常適合于對(duì)較小的類(lèi)進(jìn)行識(shí)別。由于分離式聚類(lèi)先從整體開(kāi)始,所以常被側(cè)重于分析數(shù)據(jù)的全局結(jié)構(gòu),因此更適合于識(shí)別較大的類(lèi)。
為了確定內(nèi)聚式和分離式聚類(lèi)的最佳結(jié)果,需要對(duì)兩個(gè)類(lèi)之間的距離有明確的定義。一些常用的定義包括求每個(gè)類(lèi)中所有觀測(cè)值之間直線距離的最小值、最大值或平均值。
-
聚類(lèi)算法
+關(guān)注
關(guān)注
2文章
118瀏覽量
12158 -
機(jī)器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8438瀏覽量
133084 -
K-means
+關(guān)注
關(guān)注
0文章
28瀏覽量
11335
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
傳統(tǒng)機(jī)器學(xué)習(xí)方法和應(yīng)用指導(dǎo)
![傳統(tǒng)<b class='flag-5'>機(jī)器</b><b class='flag-5'>學(xué)習(xí)方法</b>和應(yīng)用指導(dǎo)](https://file1.elecfans.com/web3/M00/04/33/wKgZPGdx9NKAcZdAAABMVybzcFI029.png)
![](https://file1.elecfans.com/web2/M00/0C/11/wKgZomc-bZiAVjCqAAOV5CBwPSA205.jpg)
什么是機(jī)器學(xué)習(xí)?通過(guò)機(jī)器學(xué)習(xí)方法能解決哪些問(wèn)題?
![什么是<b class='flag-5'>機(jī)器</b><b class='flag-5'>學(xué)習(xí)</b>?通過(guò)<b class='flag-5'>機(jī)器</b><b class='flag-5'>學(xué)習(xí)方法</b>能解決哪些問(wèn)題?](https://file.elecfans.com/web2/M00/4E/DC/poYBAGLCjeiALm_WAAAYmfR7Qec474.png)
【《時(shí)間序列與機(jī)器學(xué)習(xí)》閱讀體驗(yàn)】+ 了解時(shí)間序列
【「時(shí)間序列與機(jī)器學(xué)習(xí)」閱讀體驗(yàn)】全書(shū)概覽與時(shí)間序列概述
【《大語(yǔ)言模型應(yīng)用指南》閱讀體驗(yàn)】+ 基礎(chǔ)篇
一種無(wú)透鏡成像的新方法
![<b class='flag-5'>一種</b><b class='flag-5'>無(wú)</b>透鏡成像的新<b class='flag-5'>方法</b>](https://file1.elecfans.com//web2/M00/FD/50/wKgZomaZlSKAXJd7AAD91lO42tY599.jpg)
評(píng)論