數學建模學習之聚類算法

數學建模學習 day02 聚類算法

聚類任務

聚類是根據在數據中發現的描述對象及其關係的信息,將數據對象分組。目的是,組內的對象相互之間是相似的(相關的),而不同組中的對象是不同的(不相關的)。組內相似性越大,組間差距越大,說明聚類效果越好。

  • 結論
    • 同類數據間相似度高
    • 不同類的數據間相似度低
  • 類別 :無監督學習
  • 目標: 將樣本劃分爲若干個不想交的子集 物以類聚人以羣分

舉一個最簡單的現實案例例子——google新聞,google公司每天會在互聯網上爬取成千上萬條新聞信息,這些爬取下來的新聞信息就相當於我們的數據集,但是新聞量是無比龐大的,我們不知道每一條新聞分屬於什麼類別,而聚類算法就把成千上萬條新聞分成一些大類。大大提高了效率。實際上還有許多現實案例都應用到了聚類思想。

我認爲影響聚類效果好壞的因素主要有兩點:

  • 聚類的算法
  • 衡量距離的公式

下面介紹聚類性能度量的兩大指標
注:可以直接跳到最後看K-means算法的介紹,在數學建模的時候其實我們不用瞭解的太透徹,只要知道相應的算法起到什麼作用就可以了

1.性能度量

聚類性能度量大致有兩類:

  • 外部指標:將聚類結果與某個’‘參考模型’'進行比較
  • 內部指標:直接考察聚類結果而不利用任何參考模型
    在這裏插入圖片描述

1.外部指標

在這裏插入圖片描述
在這裏插入圖片描述
這麼看有點頭疼吧,直接用一個簡單的例子來解釋它
已有數據集 D: x1,x2,x3,x4,x5
在這裏插入圖片描述

2.內部指標

在這裏插入圖片描述
同樣看書應該是看不懂的,舉個例子

  • avg (C ) 爲簇內樣本平均均值
  • diam (C ) 爲簇內樣本最大距離
  • dmin(Ci,Cj)d_{min}(C_i,C_j) 爲簇Ci,CjC_i,C_j之間樣本的最小距離
  • dcen(Ci,Cj){d_{cen}(C_i,C_j)} 爲兩個簇Ci,CjC_i,C_j之間樣本中心點之間距離

如下 D是已有的數據集,我們假設已經分爲了三個簇
在這裏插入圖片描述
在這裏插入圖片描述
下圖是書上公式的解釋,通俗易懂一點
在這裏插入圖片描述

2.距離度量

距離度量需要滿足四個基本的性質,見下圖
這些概念都非常好理解,我們主要關注一下直遞性,圖中舉了一個不滿足直遞性(現實中似乎沒有遇到過) 人,人馬,馬之間的關係就不滿足
在這裏插入圖片描述
我們把距離分爲有序,無序,混合

常見的幾種距離公式 – 有序

下圖是對於有序數據的幾種距離計算公式,閔可夫斯基距離是最常用的,其中p的不同取值對應了下面的不同距離公式
在這裏插入圖片描述

曼哈頓距離

在這裏插入圖片描述

歐氏距離

在這裏插入圖片描述

切比雪夫距離

在這裏插入圖片描述

常見的幾種距離公式 – 無序

在這裏插入圖片描述
同樣舉一個案例
對無序的數據 r和b 顏色
在這裏插入圖片描述

常見的幾種距離公式 – 混合

混合數據的舉例計算很簡單,就是把之前的兩種相加就可以了
在這裏插入圖片描述
下面一些距離公式是在建模課上學到的

定距數據

Mahalanobis距離(馬式距離)

在這裏插入圖片描述
在這裏插入圖片描述

夾角餘弦距離

在這裏插入圖片描述

定序數據

在這裏插入圖片描述
在這裏插入圖片描述

定類數據

在這裏插入圖片描述
在這裏插入圖片描述

計數數據

在這裏插入圖片描述
在這裏插入圖片描述

混合型數據

在這裏插入圖片描述
上面就是一些距離的計算公式和度量方法
下面是K-means聚類算法的介紹,也是我們最常用的聚類方法

K-means 聚類算法

這種聚類方法是最普遍的,也是大家最爲熟悉的,它的實現流程如下:

  1. 確定聚類的數量,並隨機初始化它們各自的中心點,如圖表3-1 中的(b)聚類數量爲2,我在這裏使用紅和藍兩種顏色表示。圖中的紅,藍兩個叉代表了隨機初始化的中心點,綠色的數據點代表並未進行分類
  2. 計算當前所有數據點與每個組中心之間的距離,將每個數據點劃分爲離它最近的那類中,如圖表3-1 中的©原本未分類的綠點都根據距離的遠近歸於紅藍兩類
  3. 根據上述一次迭代後的結果,計算每一類所有數據點的平均值,更新新的中心點。如圖表3-1中的(d) 更新了組中心的位置
  4. 重複上述步驟,直到中心點更新變化不大或迭代次數達到你所規定的次數。 如圖表3-1中的(d),(e),(f) 我們可以看到中心點的變化已經不大,因此可以確定圖中的紅藍兩類最終的聚類結果
    在這裏插入圖片描述
    它的優點是簡單、快速,對處理大數據集,該算法保持可伸縮性和高效率,在結果簇是密集的情況下,它的效果較好。
    當然,這種算法也存在着缺點,首先我們需要人爲的確定聚類的簇的數量,並且因爲中心點是隨機生成的,因此每次運行所產生的結果都可能有偏差,這會導致結果不具有一致性。除此之外,它對噪聲和孤立點的數據相對敏感。不適用於某些英應用

西瓜書案例

總的來說,就是一個迭代的過程
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
Pam聚類可以自己去看看

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章