1. 聚類演算法有哪幾種
聚類分析計算方法主要有: 層次的方法(hierarchical method)、劃分方法(partitioning method)、基於密度的方法(density-based method)、基於網格的方法(grid-based method)、基於模型的方法(model-based method)等。其中,前兩種演算法是利用統計學定義的距離進行度量。
k-means 演算法的工作過程說明如下:首先從n個數據對象任意選擇 k 個對象作為初始聚類中心;而對於所剩下其它對象,則根據它們與這些聚類中心的相似度(距離),分別將它們分配給與其最相似的(聚類中心所代表的)聚類;然 後再計算每個所獲新聚類的聚類中心(該聚類中所有對象的均值);不斷重復這一過程直到標准測度函數開始收斂為止。一般都採用均方差作為標准測度函數. k個聚類具有以下特點:各聚類本身盡可能的緊湊,而各聚類之間盡可能的分開。
其流程如下:
(1)從 n個數據對象任意選擇 k 個對象作為初始聚類中心;
(2)根據每個聚類對象的均值(中心對象),計算每個對象與這些中心對象的距離;並根據最小距離重新對相應對象進行劃分;
(3)重新計算每個(有變化)聚類的均值(中心對象);
(4)循環(2)、(3)直到每個聚類不再發生變化為止(標准測量函數收斂)。
優點: 本演算法確定的K個劃分到達平方誤差最小。當聚類是密集的,且類與類之間區別明顯時,效果較好。對於處理大數據集,這個演算法是相對可伸縮和高效的,計算的復雜度為 O(NKt),其中N是數據對象的數目,t是迭代的次數。
缺點:
1. K 是事先給定的,但非常難以選定;
2. 初始聚類中心的選擇對聚類結果有較大的影響。
2. 聚類分析中常用哪些統計量進行樣本間親疏關系的度量
常用的統計量有 距離和相似系數兩大類。
聚類分析,是一種將隨機現象歸類的統計學分析方法,在不知道應分為多少類合適的情況下,試圖藉助數理統計的方法用已收集到的資料找出研究對象的適當歸類方法。在生物醫學之中,聚類分析已成為發掘海量信息(包括基因信息)的首選工具。聚類分析數據探索性統計分析方法,按照分類的目的可以分為R型聚類和Q型聚類。R型聚類又稱為指標聚類,是指將m個指標歸類的方法,其目的是將指標降維從而選擇有代表性的指標,是針對變數進行的聚類分析。Q型聚類又稱樣品聚類,是指將n個樣品歸類的方法,其目的是找出樣品間的共性,是針對樣本的聚類分析。 測量n個樣本的m個變數,可以進行指標聚類(R型聚類)和樣品聚類(Q型聚類)。計算類間的相似系數是進行聚類分析的關鍵。
3. 聚類分析中的空間和距離概念
聚類分析的意義Cluster Analysis
在經濟和社會學研究中,聚類分析是比較常用的多元統計分析方法,是將大量復雜多維的數據和變數進行分組分析的方法。
例如採集1個億微信用戶樣本,他們的特徵變數不太一樣,例如年齡、收入、性格、學歷、職業、興趣、生活作息習慣等等進行初步的量化轉化,作為輸入變數進行假設分析。
那麼這一個億樣本裡面,哪些人是能夠做為中產階級,哪些人是可以作為文藝青年?
可以建立文藝青年分類指標,然後分析每個樣本個體之間的接近或相似程度,分組建立關聯函數。
從直觀和簡單的分組概念出發,對於龐大的數據,也可以進行客觀的統計學分組劃分。
這里就會用到聚類分析方法,首先是測量樣本個體之間的差異或相似程度。
這里引入空間幾何概念,即將每個樣本當作一個點,分布在n維空間里,每個維度分別是年齡、收入、性格等。
如果兩個變數越接近,我們定義為兩個點之間的越相似或親密,這里使用「距離」的概念進行定義。
如果變數是數值型的變數,而非函數變數。那麼可以使用如下幾個空間和距離進行量化樣本之間的親密程度。
歐式空間的歐式距離。Euclidean Distance in Euclidean Space.
定義為變數個體差值的平方和的平方根。
平方歐式距離 Squared Euclidean Distance
定義為變數個體差值的平方和,即歐式距離的平方和。
切比雪夫距離Chebychev Distance
定義為變數差值的絕對值得最大值
塊距離Block Distance
定義為變數差值的絕對值的總合
明考斯基距離Minkowski Distance
定義為變數差值絕對值的p次方的總和的p次根
夾角餘弦距離Cosine Distance
定義為變數乘積的平方的和,除以(單獨每個變數自身平方的和,再相乘)
如果變數是計數的離散變數,那麼距離就需要用以下方法定義
卡方距離Chi-Square Measure Distance
x,y變數之間的距離定義為x變數的第i個變數與期望值(這里也成為期望頻數,例如一個人每天去咖啡館的平均次數)的差值的平方,除以期望值之後進行匯總計算,再加上y變數的第i個變數與期望值(這里也成為期望頻數,例如一個人每天去咖啡館的平均次數)的差值的平方,除以期望值之後進行匯總計算。然後再開平方。
Phi方距離Phi-Square Measure Distance
和卡方距離的區別在於,是在最後一個開平方之前,先除以總頻數n。即加入了總頻數的數學考量。
如果變數是二項式數值,即0或1,有或無,是或非的選擇,那麼距離可以用以下方法定義
簡單匹配系數Simple Matching
將2個選擇變數進行矩陣組合,然後將一個變數為0,另一個變數為1的頻數相加,作為分子,除以分母。分母為矩陣中所有頻數的總和。
Jaccard系數
和簡單匹配系數的區別在於,分母減去了2個變數都為0的頻數,即去掉了同時為0的數據的影響。
有了距離以後,下一步是劃分小組,或空間中的小球體,小集合
每個小組或小集合裡面有n個樣本個體,可以按照不同的原則進行最優分組。例如最近鄰距離原則,組內平均鏈鎖距離原則,重心距離,離差平方和距離方法等方法使得分組合理化和優化。
形象點說,就是科學合理的通過數據統計方法將真正的文藝青年分成一組,偽文青分成一組,另類文青分成一組。。。
如果應用於經濟學領域,可以將100個國家按照發達指數、開放指數等做分類分層,按照聚類分析碎石圖,可以劃分層次,將這些國家分為3組、4組或更多組。
分組工具可以使用SPSS等統計分析軟體的聚類分析模塊來實現。
聚類分析先到這里,我們對空間和距離概念進一步引申
數學上,空間、距離等概念在應用和研究中,進行了進一步的抽象化。
我們常識上或直觀上理解的多為歐幾里得空間,也就是歐式空間,最常見的是三維歐式空間。即XYZ三個軸是相互垂直的關系,所有點可以通過三個軸對應映射關系進行三點定位。而歐式空間的距離,是兩點之間的實際距離。
進一步引申,將三維空間抽象化之後,進行4維、5維乃至n維空間,即有n個相互垂直的坐標系,而每個點可以用n個軸上的映射進行n點定位,這個空間的兩點之間的距離定義為兩個點第i個坐標上映射的差值的平方和之後再開方。即我們前面提到的歐式空間距離概念。
明考斯基距離是歐式空間距離的進一步推廣,如果p設定為2,則為歐式距離,如果p設定為無窮大,則為切比雪夫距離。
從以上數學定義推廣過程,我們可以看出,對於數值型的空間概念,是基於歐式空間的引申推廣而產生的不同定義,可以應用在合適的場合和情景下。
而距離基於線性結構八大定律之後,構成的向量空間概念,是進一步的抽象,而這個空間里,每個點到空間坐標軸原點的距離,定義為范數norm。如果向量空間定義了范數,則這個空間成為賦范向量空間。
然後進一步抽象:
賦范空間+線性結構⟶>線性賦范空間
如果在線性賦范空間上增加添加內積運算概念,即,使空間中向量在n個維度上映射的分別乘積的和,和向量之間的角度有關,則這個空間稱為內積空間。
如果在這個內積空間里,所有的運算的極限運算,仍然在這個空間內,即收斂,那麼這個空間就定義為希爾伯特空間Hilbert Space。
如果是基於線性賦范空間+收斂(完備性),則這個空間稱為巴拿赫空間Banach Space。
回歸到聚類分析,我們進一步將聚類概念進行抽象化
如果是將函數或向量進行聚類,那麼函數或向量之間的距離概念,則可以通過以上范數的概念進行進一步分析,而線性賦范空間的概念,為我們為更抽象的點和集合的分組聚類提供了可供探索的工具。
聚類分析或聚類演算法在機器學習、數據挖掘等人工智慧領域應用較廣,它的一個重點特點是通過機器或計算機將大量數據進行自動統計分類,不需要人工參與。
關於希爾伯特空間、巴拿赫空間的聚類問題,可以繼續閱讀相關文獻。
深入閱讀:
下面文獻可以通過高校郵箱進行注冊賬號,閱讀公開論文。
Clustering via Hilbert space
Clustering in Banach Spaces