白話機器學習演算法(四)K means

2021-06-28 17:42:38 字數 713 閱讀 7724

k-means演算法是一種無監督聚類演算法,還是打個比方吧:

1):現在房間裡有一群人,各自隨機站在房間裡,這時候有個上帝,隨機挑選了房間裡k個人當k個小組的領導;

2):選完領導,每個人開始站隊了,找離自己最近的那個領導,表示自己是那一隊的;

3):站完隊,大家開始不滿了,要求重新選領導,選誰?選這一小組的中心位置的人當領導!

4):由於領導換了,大家又要重新站隊。

然後重新選領導,重新站隊。。。。。。。

5):這樣子直到每個小組選的領導跟上次選的領導沒啥變化,說明再重選就沒意義了。。。。演算法收斂;

k-means並不一定能選出乙個全域性最優解,就像上面說的,作為個體來說,相對於「當前」情況,我沒更好的選擇,因為大家可能走到乙個死胡同裡了。。。。。

這種思想就是期望最大化的思想,以當前的聚類中心估計下一次聚類中心,至於最後為啥會收斂,可以參考em的證明!

期望最大化可以是乙個演算法也可以是一種思想,這種思想在很多演算法中都有應用,只是具體形式不同。

最終k-means的結果取決於初始k個點,以及k的大小,一般來說,我們可以隨機選取,多試驗幾次,選取sse  (sum square error)最小的那次作為結果,但是當資料很大的時候,我們不能這麼做,因為太耗時間,應該用改進的k-means演算法:比如先對資料取樣進行一次層次聚類,得到若干個中心,作為初始點;

層次聚類聽上去很簡單,但是卻應用非常廣泛,他能保持小聚類塊有很好的內聚性,這是很好的特性;

白話機器學習演算法(二)KNN

knn是一種分類演算法,在現實生活中,我們看乙個人怎麼樣,可以看他的朋友怎麼樣,至少說這樣推斷的可信度比較高 knn就是這種思想。1 初始化輸入為有標籤樣本 2 當我們得到乙個新樣本的時候,我們就看這個新樣本的半徑為r的周圍,各種有標籤樣本的比例,哪種標籤佔的比例最高,我們就給這個新樣本打上這個標籤...

白話機器學習演算法(七)LDA

lda也是一種線性變換,其整個證明過程與pca非常相似,找到目標函式,利用特徵值,但是其跟pca的目標是不同的,pca目的是在新座標系中方差最大,lda則是在新座標系中,類內方差盡量小,類間距離盡量大,並以這兩個指標定義乙個目標函式,通過最大化這個目標函式然後得到相應的對映方法,即新座標系 這兩者本...

白話機器學習演算法(十九)CART演算法

cart classification and regression tree 分類與回歸樹演算法 前面說的決策樹就是分類樹,分類樹是一種對空間的劃分方法,將輸入空間 特徵空間 按照屬性的取值範圍劃分為若干個不相交的區域 這裡的cart是一種二叉樹 還是三個步驟 1 屬性選擇 2 生成樹 劃分 3 ...