東莞網(wǎng)站建設(shè)公司怎么做網(wǎng)絡(luò)營銷的核心是
🚀個人主頁:為夢而生~ 關(guān)注我一起學習吧!
💡專欄:機器學習 歡迎訂閱!相對完整的機器學習基礎(chǔ)教學!
?特別提醒:針對機器學習,特別開始專欄:機器學習python實戰(zhàn) 歡迎訂閱!本專欄針對機器學習基礎(chǔ)專欄的理論知識,利用python代碼進行實際展示,真正做到從基礎(chǔ)到實戰(zhàn)!
💡往期推薦:
【機器學習基礎(chǔ)】機器學習入門(1)
【機器學習基礎(chǔ)】機器學習入門(2)
【機器學習基礎(chǔ)】機器學習的基本術(shù)語
【機器學習基礎(chǔ)】機器學習的模型評估(評估方法及性能度量原理及主要公式)
【機器學習基礎(chǔ)】一元線性回歸(適合初學者的保姆級文章)
【機器學習基礎(chǔ)】多元線性回歸(適合初學者的保姆級文章)
【機器學習基礎(chǔ)】對數(shù)幾率回歸(logistic回歸)
【機器學習基礎(chǔ)】正則化
【機器學習基礎(chǔ)】決策樹(Decision Tree)
💡本期內(nèi)容:前面介紹的各種模型都是有監(jiān)督的模型,對于無監(jiān)督,最經(jīng)典的就是聚類算法,本文就來介紹一下主要的聚類方法。
文章目錄
- 1 聚類算法分析概述
- 2 K-Means聚類算法
- 3 K-Means參數(shù)概念及公式推導
- 3.1 平方誤差(Sum of Squared Errors)
- 3.2 歐氏距離(euclidean metric)
- 3.3 輪廓系數(shù)(Silhouette Coefficient)
- 3.4 DB指數(shù)(Davies-Bouldin Index)
- 4 K-Means聚類算法的實現(xiàn)
- 4.1 算法流程
- 4.2 算法的偽代碼描述
- 4.3 算法優(yōu)缺點
1 聚類算法分析概述
近幾年,隨著網(wǎng)絡(luò)的發(fā)展,越來越多的人開始習慣于在網(wǎng)上找信息,而網(wǎng)絡(luò)也逐漸地走進了人們的日常生活。從人們每天都會接觸到大量的數(shù)據(jù),比如文字、音樂、圖像、視頻等等。隨著信息的增多,人工智能應(yīng)運而生。而在人工智能這個概念中,機器學習尤為重要,是實現(xiàn)人工智能的基礎(chǔ)。機器學習,就是讓計算機具有人一樣的學習能力的技術(shù),對當前和歷史的海量數(shù)據(jù)進行挖掘、分析,并從中發(fā)現(xiàn)有價值的信息和規(guī)律。
隨著大數(shù)據(jù)時代的來臨,數(shù)據(jù)挖掘技術(shù)逐漸成為一種通用的業(yè)務(wù)方式,并推動了機器學習技術(shù)的快速發(fā)展。2021年,我國電商交易額為42.30萬億元,較上年同期增加了19.6%。在電商和其他行業(yè)中,要想獲得更好的用戶體驗,就必須要對新用戶進行類型的識別,這時,就可以將新用戶進行聚類,將其分成多個簇,之后再以獲得的結(jié)果為依據(jù),來訓練分類模型,進而判別新用戶的類型。但是傳統(tǒng)的數(shù)據(jù)挖掘技術(shù)已經(jīng)不能適應(yīng)海量的數(shù)據(jù),K-Means聚類算法依賴其較簡單的推導過程和實用、簡單和高效的特性等廣受青睞,在很多領(lǐng)域有巨大的貢獻,例如:文檔聚類、市場細分、圖像分割、特征學習等。在非監(jiān)督學習領(lǐng)域,K均值聚類是最廣泛的,也是研究最多,應(yīng)用最廣泛的。而在聚類算法中,最常見的就是原型聚類(也稱原型判別),以K均值算法為代表。
2 K-Means聚類算法
給定或隨機產(chǎn)生m個樣本的樣本集。為了描述每個示例(即樣本),我們給出了這樣一個假設(shè):每個示例具有d個屬性來描述,這些屬性反映了它與其他示例的關(guān)系,即每個示例是d維樣本空間中的一個向量。
K-Means算法的基本思想是:將數(shù)據(jù)集按照距離進行劃分,對于每一個樣本,將它的鄰域內(nèi)的所有樣本都分配到最近的那個類中。
首先,算法需要預先指定并且劃分為k個簇,這也是與其他算法的不同點。在這里定義簇的均值向量為:
基于此,定義簇內(nèi)樣本圍繞簇均值向量的緊密程度[13],即平方誤差為:
E的值越小則簇內(nèi)樣本相似度越高,K-Means算法就是通過通過最小化SSE來尋找使得模型預測誤差最小的模型參數(shù)。
3 K-Means參數(shù)概念及公式推導
3.1 平方誤差(Sum of Squared Errors)
在聚類分析中,平方誤差(Sum of Squared
Errors,SSE)是一種衡量聚類效果的指標。聚類算法將數(shù)據(jù)點分配到不同的簇中,每個數(shù)據(jù)點與它所屬的簇的質(zhì)心之間的距離被計算出來,然后平方,最后這些平方距離的和被稱為平方誤差。
具體來說,對于每個數(shù)據(jù)點xi和它所屬的簇ci的質(zhì)心,平方誤差會計算為(xi - ci)^2。然后,所有簇的平方誤差會相加,得到總的平方誤差。這個值越小,說明每個數(shù)據(jù)點與它所屬的簇的質(zhì)心之間的距離越小,也就是聚類效果越好。
這個概念可以用于評估和優(yōu)化聚類算法。比如在K-means算法中,初始質(zhì)心的選擇可能會影響聚類結(jié)果。K-means++ 算法通過讓選擇的質(zhì)心盡可能分散來改善這個問題。另外,二分K-means算法則通過反復將一個簇劃分為兩個簇,直到達到用戶給定的簇數(shù)目為止。在這個過程中,被劃分出去的總是誤差平方和最大的簇,因為這通常意味著這個簇的聚類效果最不好。
3.2 歐氏距離(euclidean metric)
也被稱為歐幾里得度量,是一個經(jīng)常使用的在m維空間中兩點之間的距離定義,或者向量的自然長度,即該點到原點的距離。在二維和三維空間中的歐氏距離就是兩點之間的實際距離。
在聚類分析中,歐氏距離是常用的距離度量方式之一。它表示的是在n維空間中,兩個點之間的直線距離。
具體計算公式為:
其中,x和y是兩個n維向量,x1,x2,…,xn和y1,y2,…,yn是它們的對應(yīng)維度上的值。
在應(yīng)用方面,歐氏距離經(jīng)常被用于衡量數(shù)據(jù)點之間的相似度,數(shù)據(jù)點之間的距離越小,說明它們越相似。例如,在客戶分群中,可以使用該算法將相似行為模式的客戶歸類到同一簇中,以便進行個性化推薦和精準營銷。在圖像分析中,可以使用該算法將相似的圖像歸類到同一簇中,以便進行圖像檢索和內(nèi)容識別。
- 缺點
例如,它對數(shù)據(jù)的尺度敏感,需要對數(shù)據(jù)進行歸一化處理,以避免尺度差異對聚類結(jié)果的影響。此外,它只考慮了數(shù)據(jù)點之間的距離,沒有考慮到數(shù)據(jù)點之間的方向關(guān)系,因此在處理某些特殊數(shù)據(jù)集時可能會出現(xiàn)聚類效果不佳的情況。
3.3 輪廓系數(shù)(Silhouette Coefficient)
輪廓系數(shù)(Silhouette Coefficient)是一種用于評估聚類效果的指標,它考慮了聚類中的內(nèi)聚度和分離度。
輪廓系數(shù)的計算涉及到每個數(shù)據(jù)點和其所屬簇內(nèi)其他數(shù)據(jù)點的距離,以及該數(shù)據(jù)點與其他簇的距離。具體而言,對于每個數(shù)據(jù)點,其輪廓系數(shù)被定義為:s = (b - a) / max(a, b),其中a是數(shù)據(jù)點與其同簇其他數(shù)據(jù)點的平均距離,b是數(shù)據(jù)點與其他簇的平均距離。
輪廓系數(shù)計算公式如下:
根據(jù)輪廓系數(shù)的定義,si接近1時,說明樣本i聚類合理;si接近-1時,說明樣本i更應(yīng)該分類到另外的簇;若si近似為0,則說明樣本i在兩個簇的邊界上。所有樣本的si的均值稱為聚類結(jié)果的輪廓系數(shù),是該聚類是否合理、有效的度量。
- 優(yōu)點
它可以用于處理不等簇大小的情況,因為它考慮了每個樣本點與其他簇的平均距離。
輪廓系數(shù)的值域為[-1,1],方便理解和使用。
- 局限性
它對異常值比較敏感,可能會受到離群點的影響。
3.4 DB指數(shù)(Davies-Bouldin Index)
DB指數(shù)(Davies-Bouldin Index)是一種用于評估聚類效果的內(nèi)部指標。它考慮了每個簇內(nèi)的樣本點的緊密程度以及不同簇之間的分離度。
DB指數(shù)的計算方法如下:
- 對于每個簇Ck,計算其內(nèi)部樣本點之間的平均距離avg(Ck)。
- 對于每個簇Ck,計算其與其它簇之間的最小樣本距離dmin(Ck, Cj)。
- 對于每個簇Ck,計算其中心點與其它簇中心點之間的距離dcen(Ck, Cj)。
- 計算DB指數(shù),公式為:DBI=k1i=1∑kmaxj??=i?(dcen(ui,uj)avg(Ci)+avg(Cj)?)。
DB指數(shù)的值越小,說明聚類效果越好。這是因為DB指數(shù)衡量的是不同簇之間的分離度和簇內(nèi)的緊密程度之間的平衡,當DB指數(shù)越小,說明聚類效果越好。
- 缺點
DB指數(shù)對于異常值比較敏感,因為異常值可能會影響簇內(nèi)樣本點的平均距離的計算。
此外,DB指數(shù)也可能會受到樣本規(guī)模的影響,因為樣本規(guī)模的增加可能會增加計算量,從而影響聚類效果的評價。
DB指數(shù)在計算過程中需要知道真實標簽信息,因此常常被用作無監(jiān)督聚類算法的評價指標,在比較不同算法或不同參數(shù)設(shè)置時提供了重要的幫助。
4 K-Means聚類算法的實現(xiàn)
K-Means聚類算法的基本原理是,針對聚類簇劃分,最小化平方誤差。平方誤差在一定程度上描述了簇內(nèi)樣本點圍繞簇均值向量的緊密程度,它的值越小說明聚類效果越好。
4.1 算法流程
- 從數(shù)據(jù)中選擇K個對象作為初始聚類中心。
- 計算每個聚類對象到聚類中心的距離,將每個對象歸到距離最近的聚類中心所對應(yīng)的類別。
- 對于每個聚類,計算其所有數(shù)據(jù)點的均值,作為新的聚類中心。
- 如果聚類中心發(fā)生變化,返回第2步;否則算法結(jié)束。
- 整個算法會反復迭代第2步至第4步,直到聚類中心不再發(fā)生變化或達到最大迭代次數(shù)為止。最終,算法將會得到聚類結(jié)果,將每個數(shù)據(jù)點劃分到不同的聚類中心所對應(yīng)的類別中。
4.2 算法的偽代碼描述
K-Means聚類算法的執(zhí)行效果如下圖所示:
4.3 算法優(yōu)缺點
-
優(yōu)點
首先,此算法容易理解、方便實現(xiàn),其次,K均值算法可以看作高斯混合聚類在混合成分方差相等、且每個樣本僅派給一個混合成分時的特例,所以該算法在數(shù)據(jù)集近似高斯分布時,聚類效果不錯。同時,該算法可以處理大規(guī)模數(shù)據(jù)集,效率高。 -
缺點
但是,缺點也很顯然。K值和初始聚類點的選取對于聚類的效果可能產(chǎn)生較大的影響,其次,樣本點的離散程度可能對于聚類影響有較大的差別,特別是離群點的處理問題。由于K-Means聚類算法只能使用歐氏距離進行計算,所以只能較好的適用于橢球形類簇,對于非凸形狀的簇不適合。K-Means算法只能處理數(shù)值型數(shù)據(jù),對于非數(shù)值型數(shù)據(jù)需要進行轉(zhuǎn)換才能使用。最后,由于此算法的時間復雜度為 O ( n k t ) O(nkt) O(nkt),所以在大規(guī)模數(shù)據(jù)上收斂較慢甚至引起崩潰。