1. 程式人生 > >引力財經直播室K-means演算法

引力財經直播室K-means演算法

           引力財經直播室平臺是國內知名平臺,恆生指數、恆指交易、恆指直播間、美原油、美黃金、德指期貨、各種投資品種直播喊單,盡在引力財經直播室!引力財經直播室http://www.yinlicj.com

 

K-均值演算法的基本思想是首先從含有N個數據物件的資料集中隨機選擇K個數據物件作為初始中心,然後計算每個資料物件到各中心的距離,根據最近鄰原則,所有資料物件將會被劃分到離它最近的那個中心所代表的簇中,接著分別計算新生成的各個簇中資料物件的均值作為各簇新的中心,比較新的中心和上一次得到的中心,如果新的中心沒有發生變化,則演算法收斂,輸出結果,如果新的中心和上一次的中心相比發生變化,則要根據新的中心對所有資料物件重新進行劃分。直到滿足演算法的收斂條件為止。

      K-means演算法的過程可以描述為:

          演算法:劃分並計算基於簇中物件的平均值。 

          輸入:簇的數目K和包含N個物件的資料庫。 

         輸出:平方誤差總和最小條件下的K個簇。 

     方法:

          1) 任意選擇K個物件作為初始的簇中心; 

          2) 分別計算資料集中每個元素與所選簇的中心計算距離(一般採用歐式距離),根據最近鄰原則,將元素劃分到相應的簇中; 

          3) 計算每個簇中物件的平均值,更新簇的中心; 

          4) 重複上面的步驟,直至更新的簇的中心與原簇的中心的差值在預定範圍內或者達到預設的迭代次數; 

          5) 輸出K個簇中心。 

     K-means 方法的時間複雜度為O(NKT),N代表總元素個數,K代表簇中心個數,T代表迭代次數。K-means演算法是一種硬性劃分的聚類,即每個資料點唯一地分配給一個聚類,由於事先不知道實際的聚類情況,因此可能是一種嚴重的侷限。該演算法對初始中心的選取非常敏感,初始中心隨機選取,導致結果波動較大,穩定性較差。同時該演算法對噪聲資料和孤立點資料較為敏感。該演算法通常採用歐式距離作為資料樣本之間的度量方式,導致該演算法對球狀的簇有比較好的聚類效果,但是很難發現其他形狀的簇。