• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      K-means算法及其應用實踐

      2021-12-06 17:13:43張松慧
      科學與生活 2021年23期
      關鍵詞:means算法機器學習聚類

      摘要:機器學習分為監(jiān)督學習和無監(jiān)督學習,無監(jiān)督學習一個非常重要的用途就是對數(shù)據(jù)進行聚類。聚類算法則是在完全沒有標簽的情況下,算法“猜測”哪些數(shù)據(jù)應該聚為一類。K-means算法是被廣泛應用的一種聚類算法,K-means算法的關鍵是選擇合適的k值,文章通過鳶尾花聚類展示K-means算法應用。

      關鍵詞:K-means算法;聚類;無監(jiān)督學習;機器學習

      一、何為聚類

      聚類(Clustering)是一種典型的“無監(jiān)督學習”。聚類算法是對大量未知標記的數(shù)據(jù)集,根據(jù)數(shù)據(jù)之間的距離或者說是相似性(親疏性)將數(shù)據(jù)集劃分為多個簇(Cluster),使簇內(nèi)的數(shù)據(jù)相似度盡可能大,而簇間的數(shù)據(jù)相似度盡可能小。

      聚類的目的是把數(shù)據(jù)分類,但是事先我們不知道如何劃分,即聚類的類別和數(shù)目沒有預先的定義,是根據(jù)數(shù)據(jù)點的相似性(即數(shù)據(jù)點之間的距離)來劃分的。

      聚類與分類最大的區(qū)別是:聚類為無監(jiān)督學習,待處理數(shù)據(jù)沒有任何先驗知識,而分類是有監(jiān)督學習,即存在先驗知識的訓練數(shù)據(jù)集。

      二、K-means聚類算法原理

      K-means算法也稱為k均值算法,由于其簡潔和效率,成為所有聚類算法中應用最為廣泛的一種聚類算法。對于給定的樣本集,按照樣本之間距離的大小,將樣本集劃分成k個簇,讓簇內(nèi)的數(shù)據(jù)點盡量緊密地連接,而簇與簇之間的距離盡量大。k是簇的個數(shù),k由用戶指定,每個簇中所有點的中心稱為質心,k均值算法根據(jù)某個距離函數(shù)反復把數(shù)據(jù)分入k個簇中。

      K-means聚類算法的工作原理是:先隨機選取k個點作為初始的聚類中心,然后針對每個數(shù)據(jù)點,計算每個點與各個聚類中心之間的距離,把每個點歸為距離它最近的聚類中心代表的簇類。一次迭代結束之后,重新計算每個簇類的中心點,然后針對每個點,重新尋找距離自己最近的中心點。如此循環(huán),直到前后兩次迭代的簇類沒有變化。

      終止條件可以是以下任何一個:

      (1)沒有(或最小數(shù)目)對象被重新分配給不同的聚類。

      (2)沒有(或最小數(shù)目)聚類中心再發(fā)生變化。

      (3)誤差平方和局部最小。

      三、K-means算法流程

      K-means算法是一個反復迭代的過程,算法的基本步驟為:

      步驟1:選定要聚類的類別數(shù)目k,隨機選擇k個中心點(質心)。

      步驟2:針對每個樣本點,找到距離其最近的中心點(尋找組織),距離同一中心點最近的點為一個類,這樣完成了一次聚類。

      步驟3:判斷聚類前后的樣本點的類別情況是否相同,如果相同,則算法終止,否則進入步驟4。

      步驟4:針對每個類別中的樣本點,計算這些樣本點的中心點,當做該類的新的中心點(即將每個類別中所有對象所對應的均值作為該類別的聚類中心點),繼續(xù)步驟2。

      上述步驟的關鍵兩點是:1. 找到距離自己最近的中心點。2. 更新中心點。

      常用的距離度量標準是歐幾里得距離的平方:

      四、K-means算法中K值的選擇

      K-means算法中的k值需要預先確定,k值設為幾即聚幾類。在實際應用中k值是非常難以選擇的,通常的做法是多嘗試幾個k值,看聚成幾類的結果更好解釋,更符合分析目的等。

      還可以采用“肘”方法(Elbow method)確定k值。該方法的原理就是最小化點到聚類中心的距離。

      “肘”方法的步驟:

      (1)對于n個點的數(shù)據(jù)集,迭代計算k from 1 to n,每次聚類完成后計算每個點到其所屬的簇中心的距離的平方和;

      (2)平方和是會逐漸變小的,直到k==n時平方和為0,因為每個點都是它所在的簇中心本身;

      (3)在這個平方和變化過程中,會出現(xiàn)一個拐點也即“肘”點,下降率突然變緩時即認為是最佳的k值。

      一般來說,手肘圖都會展現(xiàn)出一個肘部輪廓,下降率突然變緩時即認為是最佳的k值。

      隨著聚類數(shù)k的增大,樣本劃分會更加精細,每個簇的聚合程度會逐漸提高,那么簇內(nèi)距離平方和自然會逐漸變小。并且,當k小于真實聚類數(shù)時,由于k的增大會大幅增加每個簇的聚合程度,故簇內(nèi)距離平方和的下降幅度會很大,而當k到達真實聚類數(shù)時,再增加k所得到的聚合程度回報會迅速變小,所以簇內(nèi)距離平方和的下降幅度會驟減,然后隨著k值的繼續(xù)增大而趨于平緩,也就是說簇內(nèi)距離平方和和k的關系圖是一個手肘的形狀,而這個肘部對應的k值就是數(shù)據(jù)的真實聚類數(shù)。

      五、K-means算法實現(xiàn)鳶尾花數(shù)據(jù)的聚類

      任務目標:使用scikit-learn內(nèi)置的鳶尾花數(shù)據(jù)集,該數(shù)據(jù)集每條記錄都有4個特征:花萼長度(calyx length)、花萼寬度(calyx width)、花瓣長度(petal length)、花瓣寬度(petal width),通過這4個特征可以預測鳶尾花屬于哪一品種。我們選取數(shù)據(jù)的后兩個特征,即花瓣長度和花瓣寬度作為訓練數(shù)據(jù),首先根據(jù)繪制的鳶尾花數(shù)據(jù)分布圖查看數(shù)據(jù)分分布情況,然后繪制出手肘圖,進一步輔助確定合理的k值。

      步驟一:選取鳶尾花數(shù)據(jù)集的后兩個特征即花瓣長度和寬度,繪制出鳶尾花數(shù)據(jù)分布圖,如圖1所示。

      從鳶尾花數(shù)據(jù)分布圖可以大致看出鳶尾數(shù)據(jù)的分布情況。

      步驟二:繪制出分類數(shù)1到7時,分類數(shù)(k)和簇內(nèi)距離和inertia的對應關系圖,即手肘圖,如圖2所示。

      觀察圖中各點的曲率可以看到,k=3之后,簇內(nèi)距離平方和inertia的下降變得很緩慢了,因此最佳的k值為3。

      步驟三:選擇最佳k值,k=3時繪制聚類效果圖,如圖3所示。

      3個類別的鳶尾花數(shù)據(jù)分別用綠色的五角星、紅色的圓點和藍色的+號表示,可以看到k=3時的聚類效果很好。

      六、總結

      聚類用于數(shù)據(jù)集內(nèi)種類屬性不明晰,希望通過數(shù)據(jù)挖掘或自動歸類出有相似特點的對象的場景。K-means算法可用于維數(shù)、數(shù)值都很小且連續(xù)的數(shù)據(jù)集,比如在市場營銷領域,建立合理的客戶價值評估模型,對客戶進行分群,分析不同客戶群的客戶價值,從而制定相應的營銷策略,對不同的客戶群提供個性化的服務等。

      K-means算法原理比較簡單,實現(xiàn)也很容易,收斂速度快,聚類效果也比較好,算法的可解釋度比較強,主要需要調(diào)參的參數(shù)是簇數(shù)k。但k值的選取不好把握,本文采用繪制手肘圖的方法輔助選取最佳的k值。

      參考文獻

      [1] 鐘志峰,李明輝,張艷.機器學習中自適應k 值的k 均值算法改進[J].計算機工程與設計,2021,42(1):136-141.

      [2] 李玥.機器學習的分類、聚類研究[J].電腦知識與技術,2020,16(4):161-162.

      [3] 季杰,陳強仁,朱東.基于機器學習的航空客戶價值分析[J].電腦知識與技術,2020,16(14):238-239.

      作者簡介:張松慧(1980-),女,湖北武漢人,武漢軟件工程職業(yè)學院副教授/信息系統(tǒng)項目管理師,碩士,研究方向人工智能技術應用。

      猜你喜歡
      means算法機器學習聚類
      基于DBSACN聚類算法的XML文檔聚類
      電子測試(2017年15期)2017-12-18 07:19:27
      基于機器學習的圖像特征提取技術在圖像版權保護中的應用
      基于網(wǎng)絡搜索數(shù)據(jù)的平遙旅游客流量預測分析
      時代金融(2016年27期)2016-11-25 17:51:36
      前綴字母為特征在維吾爾語文本情感分類中的研究
      科教導刊(2016年26期)2016-11-15 20:19:33
      基于支持向量機的金融數(shù)據(jù)分析研究
      基于K—Means聚類算法入侵檢測系統(tǒng)研究
      基于Weka的Apriori算法在原油產(chǎn)量預測中的應用
      基于HSI顏色空間的小麥粉精度自動識別研究
      基于聚類的Web日志挖掘
      基于改進的遺傳算法的模糊聚類算法
      昔阳县| 平凉市| 天峨县| 司法| 鞍山市| 天峻县| 三台县| 天津市| 百色市| 宜宾县| 中宁县| 页游| 昭苏县| 徐水县| 南丹县| 吉木萨尔县| 屏东县| 榆社县| 贵定县| 定日县| 北海市| 罗山县| 区。| 崇信县| 辉南县| 滦南县| 宜川县| 汝阳县| 罗山县| 子长县| 兴隆县| 承德市| 山阴县| 加查县| 鹤岗市| 宿迁市| 禹州市| 章丘市| 永登县| 乌拉特前旗| 博乐市|