聚類模型的評價指標(biāo)

1.誤差平方和SSE

????????誤差平方和(Sum of the Squared Error, SSE),也被稱為組內(nèi)誤差平方和,它是機(jī)器學(xué)習(xí)中很重要的概念,該概念是在聚類和回歸類算法中均有廣泛應(yīng)用。在聚類算法中所謂誤差平方和是指每個數(shù)據(jù)點(diǎn)的誤差,即它到最所屬類別質(zhì)心的歐幾里得距離,然后求和匯總即得誤差平方和。在聚類算法中,SSE是我們判斷模型是否最優(yōu)的重要指標(biāo),我們希望求得的模型是在給定K值的情況下SSE最小的模型,即在相同的K值情況下聚類模型SSE越小越好,這也是聚類算法最核心的優(yōu)化條件。

2.輪廓系數(shù)

? ? 除了誤差平方和SSE,輪廓系數(shù)(Silhouette Coefficient),也是聚類效果好壞的一種評價方式。它結(jié)合凝聚度和分離度兩種因素。下面詳細(xì)介紹三者關(guān)系。

2.1 凝聚度和分離度

? ? 對于基于原型的簇,簇的凝聚度可以定義為關(guān)于簇原型(質(zhì)心或中心點(diǎn))的鄰近度的和。同理,兩個簇之間的分離度可以用兩個簇原型的鄰近性度量。如下圖所示,其中簇的質(zhì)心用"+"標(biāo)記。

凝聚度的計算公式為:cohesion(C_i) = \sum_{x\in C_i}proximity(x,c_i) ,其中proximity是鄰近度計算公式,c_i是簇C_i的質(zhì)心,當(dāng)鄰近度計算公式取歐幾里得距離時,C_i的凝聚度就是該簇的SSE。

? ? 分離度的衡量則有兩種方法,其一是計算兩兩質(zhì)心之間的分離度,可由如下公式計算得出seperation(C_i,C_j) = proximity(c_i,c_j)

另一種則是計算某簇質(zhì)心到數(shù)據(jù)集總體質(zhì)心之間的分離度seperation(C_i) = proximity(c_i,c),其中c是數(shù)據(jù)集整體質(zhì)心,進(jìn)一步我們就可對其進(jìn)行求和匯總,從而求得總體凝聚度和分離度,這里需要注意,雖然我們在求和過程中可以利用另一臺計算體系來對每個分量賦予權(quán)值然后求和,但這種做法并不常見,一下討論是建立在簡單求和匯總的基礎(chǔ)上進(jìn)行的。同時,在簡單求和取總分離度的情況下,上述兩種分離度的方法實際上是等價的。

2.2 凝聚度和分離度的基本性質(zhì)

\bullet 凝聚度和SSE

在歐式距離定義的空間內(nèi),總凝聚度實際上和誤差平方和等價,當(dāng)然,SSE誤差平方和還被稱作組內(nèi)誤差平方和。

\bullet 分離度和組間誤差平方和(SSR)

在歐式空間中,當(dāng)我們采用簇質(zhì)心和整體質(zhì)心的鄰近度來衡量分離度的時候,實際上總分離度和組間誤差平方(SSR)和等價,SSR計算公式如下:SSR = \sum_{i=1}^kdist(c_i,c)^2

\bullet 凝聚度和分離度之間的關(guān)系

? ? 實際上,通過數(shù)字手段我們能證明,對于給定的數(shù)據(jù)集,無論劃分總SSE和總SSR之和是一個常數(shù),即離差平方和(SST),這個結(jié)果實際上說明要最小化SSE(凝聚度)也就等價于要最大化SSR(分離度),因此之前我們以最小化SSE作為模塊優(yōu)化目標(biāo),也可以用凝聚度和分離度的角度進(jìn)行理解。

? ? 凝聚度和分離度之間的這種相對關(guān)系在其他諸多模型中也能遇見,最典型的就是方差分析和回歸分析中,我們也常常使用SSE和SSR來衡量模型有效性、提供模型優(yōu)化的指導(dǎo)意見。

? ? 如果在方差分析中,組內(nèi)SSE就是用以區(qū)分連續(xù)變量的離散變量各水平所對應(yīng)的分組內(nèi)的誤差,計算過程和聚類分析也高度相似,其SSE是計算各組內(nèi)連續(xù)變量到其均值之間的距離平方和,而SSR則是各分類水平的均值到整體數(shù)據(jù)集的均值之間的距離平方和,同時SST則等于數(shù)據(jù)集中所有數(shù)據(jù)到均值之間的距離平方和,且SST = SSR + SSE。因此,正確了解SSE和SSR將是我們理解諸多算法的有效途徑。

2.3 輪廓系數(shù)

輪廓系數(shù)(silhouette coefficient)指標(biāo)結(jié)合了凝聚度和分離度。下面的步驟解釋和如何計算個體點(diǎn)的輪廓系數(shù)。此過程由如下三步組成。我們以歐式距離為例,但是類似的方法可以使用相似度。

? ? (1)對于第i個對象,計算它到簇中所有其他對象的平均距離。該值記作\alpha_i

? ? (2)對于第i個對象和不包含該對象的任意簇,計算該對象到給定簇中所有對象的平均距離。關(guān)于所有的簇,找出最小值;該值記作b_i。

? ? (3)對于第i個對象,輪廓系數(shù)是s_i = \frac{b_i-a_i}{max(a_i,b_i)}

????輪廓系數(shù)的值在-1和1之間變化。我們不希望出現(xiàn)負(fù)值,因為負(fù)值表示點(diǎn)到簇內(nèi)點(diǎn)的平均距離a_i大于點(diǎn)到其他簇的最小平均距離b_i。我們希望輪廓系數(shù)是正數(shù)(a_i<b_i),并且a_i越接近0越好,因為當(dāng)a_i=0時輪廓系數(shù)取其最大值1。我們可以簡單地取簇中點(diǎn)的輪廓系數(shù)的平均值,計算簇的平均輪廓系數(shù)。通過計算所有點(diǎn)的平均輪廓系數(shù),可以得到聚類優(yōu)良性的總度量。

? ? 由此我們能看出。輪廓系數(shù)可以在模型取不同質(zhì)心數(shù)量的情況下對模型聚類效果進(jìn)行縱向比較,進(jìn)而能夠給最終聚類數(shù)量提供建議。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容