均值漂移(Meanshift)算法

均值漂移(Meanshift)算法理解

1.均值漂移的基本概念:沿着密度上升方向尋找聚簇點

設想在一個有N個樣本點的特徵空間

初始確定一箇中心點center,計算在設置的半徑爲D的圓形空間內所有的點(xi)與中心點center的向量

計算整個圓形空間內所有向量的平均值,得到一個偏移均值

將中心點center移動到偏移均值位置

重複移動,直到滿足一定條件結束

 

2.均值漂移運算:

2.1 Mean shift的基礎公式:

偏移均值

 

Sh:以x爲中心點,半徑爲h的高維球區域; k:包含在Sh範圍內點的個數; xi:包含在Sh範圍內的點

中心更新

將中心點移動到偏移均值位置

 

Mt爲t狀態下求得的偏移均值;   xt爲t狀態下的中心

 

2.2 引入核函數的偏移均值:

核函數

核函數只是用來計算映射到高維空間之後的內積的一種簡便方法,目的爲讓低維的不可分數據變成高維可分。利用核函數,可以忽略映射關係,直接在低維空間中完成計算。

引入核函數的偏移均值

在均值漂移中引入核函數的概念,能夠使計算中距離中心的點具有更大的權值,反映距離越短,權值越大的特性。改進的偏移均值:

其中,x爲中心點;xi爲帶寬範圍內的點;n爲帶寬範圍內的點的數量;g(x)爲對核函數的導數求負

 

3.均值漂移的應用:

聚類(K均值聚類)

圖像分割(將圖像映射到特徵空間,對採樣點進行均值漂移聚類)

對象輪廓檢驗(光線傳播算法)

目標跟蹤(求解最優化Bhattacharya係數函數)

 

4.均值漂移運算步驟:

1、在未被分類的數據點中隨機選擇一個點作爲中心點;

2、找出離中心點距離在帶寬之內的所有點,記做集合M,認爲這些點屬於簇c。

3、計算從中心點開始到集合M中每個元素的向量,將這些向量相加,得到偏移向量。

4、中心點沿着shift的方向移動,移動距離是偏移向量的模。

5、重複步驟2、3、4,直到偏移向量的大小滿足設定的閾值要求,記住此時的中心點。

6、重複1、2、3、4、5直到所有的點都被歸類。

7、分類:根據每個類,對每個點的訪問頻率,取訪問頻率最大的那個類,作爲當前點集的所屬類。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章