机器学习中的聚类算法(2):Mean Shift算法
引言:
Mean Shift算法與之前的K-means算法是有共同點的。
1、Mean Shift算法原理
1.1核心思想:
他是一個基于密度的算法。里面有一個值叫半徑。需要計算一個漂移向量。剛開始也是隨機選取的一個點。
第1步:隨機先選取一個質心,也就是聚類的質心A,這個質心選擇好之后,會有一個半徑r(半徑一般是默認好的),此時以A為圓心,r為半徑畫一個圓圈,之后計算A與圓圈內的點所組成向量的一個距離(通過歐式距離來計算),計算完之后會把這些向量的值全部加在一起(加和之后不是像K-means一樣求均值),加在一起之后他會把它當做下一次這個質心移動的一個方向;
第2步:比如說加在一起之后質心移動到了B點,此時就會以B點為圓心,以r為半徑再畫一個圓,就會再次計算這個質心B和圓圈里邊(即圓圈以內的所有點)所有點的距離,計算出來之后把所有的向量做一個相加操作,相加之后,他移動的距離其實就是所有向量加起來后的總向量的一個距離,即就是總向量和的模(移動的距離就是這個總向量和的模,方向就是這個總向量和的方向);
第3步:按照這樣不斷的計算這個質心就會不斷的進行移動,最終他會到達這個數據密度最大的一個地方,假設F點使我們最終的一個質心。
最終他會分類成好幾組,這個是依據算法自動去計算,給你進行分組,不需要像K-Means算法那樣,必須要指定K的值。?
1.2算法實現/流程是什么:
1.3基于sklearn(機器學習庫)算法庫實現的案例
參考:https://www.cnblogs.com/liqizhou/archive/2012/05/12/2497220.html
2、實戰
總結
以上是生活随笔為你收集整理的机器学习中的聚类算法(2):Mean Shift算法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 机器学习中的聚类算法(1):k-mean
- 下一篇: 深蓝学院的深度学习理论与实践课程:第五章