1. 程式人生 > >有關kmeans訓練結果不一樣的問題

有關kmeans訓練結果不一樣的問題

最近一直在實現一篇註釋軌跡的文章,裡面要用到kmeans聚類方法,先在網上隨便找了一個kmeans程式進行聚類,結果發現時間太長,最後問了作者,作者採用的是vlfeat的系列程式,裡面的kmens++程式速度較一般的來說比較快,網址如下:

  http://www.vlfeat.org/index.html

      實驗中發現,如果聚類的特徵都是從一個圖片上得來,或者說都是一類相像的圖片,每次的聚類結果是相同的,但是如果說聚類的圖片來自兩類圖片的話,,每次聚類的結果差異就比較大了。這是因為kmeans本身存在的缺陷:初始化的點每次都是隨機的,那麼該如何解決這個問題呢?

問了幾個師兄,然後再查了一些資料,並沒有什麼好的解決辦法,只能在反覆訓練中找到最好的聚類結果,然後儲存下來,後面都用這個結果,這樣也不是沒有道理,因為,這本來就是訓練集需要的資料,在實際或者實驗中,訓練集本身就是提前知道的,在訓練集不變的情況下就可以使用這種方法。