日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

数学建模学习笔记(九)——聚类模型

發布時間:2025/3/15 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数学建模学习笔记(九)——聚类模型 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

    • 一、聚類綜述
    • 二、主要用到的聚類算法
    • 三、K-means聚類算法
    • 四、K-means++算法
    • 五、對于K-means算法和K-means算法的討論
    • 六、系統(層次)聚類算法
    • 七、DBSCAN算法
    • 八、總結

一、聚類綜述

聚類的主要目的就是將樣本劃分為由類似的對象組成的多個類的過程。進行聚類后,我們可以在每個類中使用統計模型進行數據分析或者在不同類之間進行相關性探究。

聚類模型和分類模型的區別:

  • 聚類模型是未知類別的,目的是要確定類別來對樣本數據進行分類;
  • 分類模型的類別是已知的,只需將嚴格樣本數據分類到對應的類別中即可。
  • 二、主要用到的聚類算法

  • K-means聚類算法
  • K-means++聚類算法
  • 系統(層次)聚類算法
  • DBSCAN算法
  • 三、K-means聚類算法

    算法步驟:

  • 指定需要劃分的 KKK 個簇(即要劃分成的類的個數)
  • 隨機選取 KKK 個數據對象作為初始的聚類中心**(注意:這里選取的聚類中心不一定是樣本點)**
  • 計算其余的各個數據對象到這 KKK 個初始聚類中心的距離,把數據對象劃歸到距離它最近的那個中心所在的簇中。
  • 調整新類并且重新計算出新類的中心**(確定新類的中心的方法類似于求重心)**
  • 重復三、四步,直到中心不再需要調整。若不再需要調整或者達到最大迭代次數則停止。
  • 如下面的流程圖:

    K-means算法的優點:
    (1)算法簡單便捷;
    (2)對于大數據集,該算法效率較高;
    K-mean算法的缺點:
    (1)必須實現給出需要分得的類的數目 KKK
    (2)對初始值非常敏感(初始分類中心不同,其分得的類也不同);
    (3)對于孤立點的數據比較敏感;

    因此,衍生出了K-means++算法來解決K-means算法帶來的問題。

    四、K-means++算法

    算法步驟:(對聚類中心的選擇進行了優化)
    (1)隨機選取一個樣本作為第一個聚類中心;
    (2)計算每個樣本與最近的一個聚類中心的距離,這個值越大,表示被選取作為聚類中心的概率越大;最后,用輪盤法選取下一個聚類中心。
    (3)重復第二步,直到選出 KKK 個聚類中心。
    這些過程可以直接在SPSS中實現,并且SPSS使用的是K-means++算法

    五、對于K-means算法和K-means算法的討論

    (1)確定 KKK 的值
    聚類的目的就是將樣本數據分為 KKK 個可以解釋其意義的類。因此最好的方法就是去幾個不同的 KKK 值,選取其中最好解釋的那個 KKK 值即可。
    (2)量綱對于聚類的影響
    為了排除量綱對于聚類的影響,可以首先進行去量綱處理(標準化)。標準化公式:zi=xi?xˉσxz_i = \frac{x_i - \bar{x}}{\sigma_x}zi?=σx?xi??xˉ? 其中,xˉ\bar{x}xˉ 是樣本的均值,σx\sigma_xσx? 是樣本的標準差。

    六、系統(層次)聚類算法

  • 算法核心
    計算兩類數據點之間的距離,對最為接近的兩類數據進行合并,反復進行直到合成一類,最終生成聚類系譜圖。
  • 算法步驟:
  • 將每個對象單獨看作一類,計算兩兩之間的最小距離;
  • 將距離最小的兩個類合并成一類新類;
  • 重新計算這個新類與所有類之間的距離;
  • 重復第二步和第三步,直到所有類合并成一類;
  • 算法流程圖如下:
    3. 解決問題
    可以在SPSS中調用命令,可得結果為:

    由圖可得,具體的聚類個數可以從圖中決定。

    七、DBSCAN算法

  • 算法簡要敘述:
  • 指定半徑 EpsEpsEps 和 最小包圍的點的數目 MinPtsMinPtsMinPts

  • 指定初始點 AAA,以 AAA 為圓心,EpsEpsEps 為半徑作圓,在該圓內有不少于 MinPtsMinPtsMinPts 個點,則具有這樣的特征的點是一個類;(注意:若有點在 AAA 圓內,但是以這個點作的圓不包圍 MinPtsMinPtsMinPts 個點,它是不屬于 AAA 類的哦~~~)

    可以參考這個圖:

  • DBSCAN算法實現
    DBSCAN算法可以由Matlab實現,可以去官網下載:https://ww2.mathworks.cn/matlabcentral/fileexchange/52905‐dbscan‐clustering‐algorithm
  • 八、總結

  • 確定指標數量;
  • 做出散點圖判斷可以使用哪種算法;
    建議:
    (1)如果只有兩個指標,而且這兩個指標作出的散點圖很有形狀,那么可以使用DBSCAN進行聚類
    (2)其他情況建議系統聚類(K-means算法可寫的東西太少)
  • 根據算法進行聚類;
  • 對得出的結果進行解釋(一定要選取適當的便于解釋的 KKK 值哦~~~)
  • 如果有什么錯誤,請一定告訴我哈~~~

    總結

    以上是生活随笔為你收集整理的数学建模学习笔记(九)——聚类模型的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。