kmeans與meanshift、em演算法的關係
kmeans
演算法是一種經典的聚類演算法,在模式識別中得到了廣泛的應用,基於
kmeans
的變種演算法也有很多,模糊
kmeans
、分層kmeans等。
kmeans
和應用於混合高斯模型的受限
em演算法是一致的。高斯混合模型廣泛用於資料探勘、模式識別、機器學習、統計分析。
kmeans
的迭代步驟可以看成e步和
m步,e:固定引數類別中心向量重新標記樣本,
m:固定標記樣本調整類別中心向量。
k均值只考慮(估計)了均值,而沒有估計類別的方差,所以聚類的結構比較適合於特徵協方差相等的類別。
kmeans
在某種程度也可以看成
mean****f
的特殊版本,
meanshift
是一種概率密度梯度估計方法(優點:無需求解出具體的概率密度,直接求解概率密度梯度。),所以
meanshift
可以用於尋找資料的多個模態(類別),利用的是梯度上公升法。在
06年的一篇
cvpr
文章上,證明了
meanshift
方法是牛頓拉夫遜演算法的變種。
kmeans和em
演算法相似是指混合密度的形式已知(引數形式已知)情況下,利用迭代方法,在引數空間中搜尋解。而
kmeans
和meanshift
相似是指都是一種概率密度梯度估計的方法,不過是
kmean
選用的是特殊的核函式(
uniform kernel
),而與混合概率密度形式是否已知無關,是一種梯度求解方式。ps:
兩種kmeans
的計算方法是不同的。
vector quantization
也稱向量量化
:指乙個向量用乙個符號
k來代替。比如有
10000
個資料,用
kmeans
聚成100
類即最有表徵資料意義的向量,使得資料得到了壓縮,以後加入的資料都是用資料的類別來表示儲存,節約了空間,這是有損資料壓縮。資料壓縮是資料聚類的乙個重要應用,也是資料探勘的主要方法。
混合高斯模型是一系列不同的高斯模型分量的線性組合。在最大似然函式求極值時,直接求導存在奇異點的問題,即有時乙個分量只有乙個樣本點,無法估計其協方差,導致其似然函式趨於無窮,無法求解。另乙個問題是,用代數法求得的解是不閉合的,即求解的引數依賴於引數本身的值,變成乙個雞生蛋,蛋生雞的問題。這些問題看似無解,但是可以使用迭代的方法如em,
k均值等,預先設定一些引數,然後迭代求解。ps:
也有用基於梯度的方法求解的。在求解混合模型時,有乙個重要的概念即模型的可辨識性(如果無論樣本的數量為多少都無法求出模型引數的唯一解,則稱模型是不可辨識的),這是
em演算法的前提。在實際應用時,由於
em演算法的複雜度比
k均值高,所以一般先用
k均值大致收斂到一些點,然後用
em演算法。
em演算法求解混合模型的固然有效,但不能保證找到最大使然函式的最大值。 em
演算法是求解具有隱變數的概率模型的最大似然函式的解的常用方法。當樣本集是樣本與隱變數一一對應時,資料集稱為完整資料集,可以直接求解模型引數,但很多時候只知道樣本,不知道其對應的隱變數,這是非完整資料集。所以求解模型引數的關鍵是隱變數的後驗概率,由後驗概率可以推出完整資料集用於求解引數。增量式的
em演算法,每次只更新乙個點,收斂速度更快。上述方法可以看成是無監督學習。 ps
:em是乙個似然函式下界最大化解法,保證了解法的收斂性。
KNN與K Means的區別
wikipedia上的 knn詞條 中有乙個比較經典的圖如下 knn的演算法過程是是這樣的 從上圖中我們可以看到,圖中的資料集是良好的資料,即都打好了label,一類是藍色的正方形,一類是紅色的三角形,那個綠色的圓形是我們待分類的資料。如果k 3,那麼離綠色點最近的有2個紅色三角形和1個藍色的正方形...
KNN與K Means的區別
from wikipedia上的 knn詞條 中有乙個比較經典的圖如下 knn的演算法過程是是這樣的 從上圖中我們可以看到,圖中的資料集是良好的資料,即都打好了label,一類是藍色的正方形,一類是紅色的三角形,那個綠色的圓形是我們待分類的資料。如果k 3,那麼離綠色點最近的有2個紅色三角形和1個藍...
KNN與K Means的區別
wikipedia上的 knn詞條 中有乙個比較經典的圖如下 knn的演算法過程是是這樣的 從上圖中我們可以看到,圖中的資料集是良好的資料,即都打好了label,一類是藍色的正方形,一類是紅色的三角形,那個綠色的圓形是我們待分類的資料。如果k 3,那麼離綠色點最近的有2個紅色三角形和1個藍色的正方形...