7 無監督學習之聚類總結

2021-09-11 18:46:47 字數 2806 閱讀 9917

主要思想就是對一堆未標記的樣本,進行相似度度量,然後進行分簇的過程。

ps:聚類屬於無監督學習。

閔可夫斯基距離:

ps:當p = 負無窮時,公式變為樣本特徵差值最小的絕對值,(可以提出最小項,然後化簡得出)。

ps:當p = 1時,公式變為樣本特徵之間距離絕對值求和,又稱曼哈頓距離。

ps:當p = 2時,公式變為歐氏距離。(最熟悉的一種)

ps:當p = 正無窮時,公式變為樣本特徵差值最大的絕對值,(還是提出最大項,然後化簡得出)切比雪夫距離。

傑卡德相似係數:(交並集)

ps:樣本集交集個數和樣本集並集個數的比值

余弦相似度:

一般用於計算文字相似度。當pearson相似係數的ux = uy = 0時,x和y不相關,退化為余弦相似度。

ps:可以看成是歸一化/標準化過的歐氏距離。

它的值代表x和y線性相關的程度。

相對熵:(k-l距離,交叉熵)

ps:衡量了兩個隨機變數的相對距離。

思想:先初始化k個簇中心點,在計算乙個樣本點與k個簇之間的距離,選出最小的距離的簇,把該樣本歸為次簇,在對其他樣本點進行相似的操作,在計算每個簇所有樣本點的均值更新簇的中心點,重複這整個過程直到中心距離達到收斂。

ps:有em演算法的理論支撐,所以是有理論依據證明模型的準確性,並且可以達到收斂。

ps:初始化引數後,先求隱變數的概率,對模型求期望,然後在對模型求最大進行更新引數,一直迭代直到收斂。

ps:k-means的隱變數可以看成距離簇的距離有k個,通過迭代模型的引數來不斷的更新隱變數的值,進而對樣本進行聚類。

初值敏感:初值的不同選擇,可能會得出不同的聚類結果,所以初值的選取很重要,一種思想是:隨機初始化k個樣本點為簇的中心點。另一種思想是:先隨機選取乙個樣本點為第乙個簇中心,然後計算其他樣本點距離此簇的距離,對距離進行加權(越遠權值越高),然後隨機選取乙個樣本點為第二個簇中心點,重複這一過程k-1次即可。

ps:初值中心點的選取對演算法的影響很大。

ps:此改進是k-means++對原演算法的改進。

k值的選擇:聚類的簇數量不同也會對結果產生不同的影響,一般情況:是根據先驗知識進行選擇。另一種情況:定義均方誤差函式(mse),對每個簇計算誤差(樣本點減去簇中心點的平方在加和),在對每個簇進行加和,即為不同k值下的mse,可以得出mse的值隨著k值的增大會趨近於0。(利用極限思想當k值為樣本點數時,值不就是0嘛,起始點k=1時mse最大)

ps:一般為業務驅動選取;可以基於mse下降的幅度來確定。

isodata的k值自選擇:當簇內的樣本過少就去掉此簇,當簇內樣本過多找切分點進行二分讓均方誤差最小化。

ps:可以基於模型的k值選取方式。一種自組織資料的演算法。

根據我畫的圖在理解下:

k-means的終止條件:當簇的中心點的值在一定範圍內不再變化;當mse在一定範圍內不再變化;在迭代一定次數下。

凝聚的層次聚類:自底向上進行簇的合併,直到達到指定的簇數量。

度量準則:可以用簇之間的最小距離或者最大距離來衡量,可以用平均距離(i*j個樣本之間距離加和,在進行歸一化),可以用mse(兩兩判斷合併之後最小的mse,選擇最優的進行合併即可)。

**的層次聚類:自上向下進行簇的分割,直到達到指定的簇數量。評判準則可以同上!

dbscan聚類:

發現密度相連的點的最大集合,這個集合就是對應的簇!

ps:可以不用設定k值,可以使用超引數來控制簇的數量。

ps:基於密度,可以發現任意形狀的類簇。

ps:可以發現異常點/雜訊點,比如說簇內的點數比較少這種。

核心物件:樣本i在鄰域內的樣本個數大於等於m個那麼樣本i為核心物件。

密度直達:在以核心物件為鄰域內的樣本點,這範圍內的樣本點為密度直達。

密度可達:在乙個序列p1,p2....pn裡,如果pi+1以pi密度直達,那麼pn則以p1密度可達。(p1到pn-1都是核心物件)

ps:密度可達有沒有類似於一種並查集的演算法呢,可以實現路徑壓縮,加快演算法效率。

密度相連:存在乙個物件o,使得p和q都是從o結束密度可達的,那麼p和q就是密度相連。

ps:一對密度可達,嘗試在進行合併的過程。p到o密度可達,q到o也是密度可達,那麼p和q就是密度相連。

譜聚類是一種基於圖論的聚類方法,通過對樣本資料的拉普拉斯矩陣的特徵向量進行選擇,在以此對樣本資料進行聚類。

定義鄰接相似度矩陣:可用全連線圖/

定義度矩陣(對角陣):頂點的度為第i個頂點在第j行的權重和,(n*n維)

定義拉普拉斯矩陣:未正則化的拉普拉斯矩陣(l = d - w);對稱的拉普拉斯矩陣

特徵向量和特徵值的計算:

最後按選擇的前k個特徵向量代表k個簇,對降維後的矩陣(n*k維)使用k-means將樣本點聚類成k個簇

小思考:一般先驗的直接用隨機遊走的拉普拉斯矩陣。這種降維的思路跟pca很像,其實就是我們可以通過捨去一些不太重要的特徵,結果卻變得更好了,說明我們不一定需要將特徵搞的很多,維度變得很大,效果不一定好,是可以考慮篩選出一些很強的特徵(規則)結果或許大不一樣!

無監督學習 聚類

聚類是針對給定的樣本,根據據他們特徵的相似度或者距離,將其歸併到若干個 類 或 簇 的資料分析問題。乙個類是樣本的乙個子集。直觀上,相似的樣本在相同的類,不相似的樣本分散在不同的類。目的是通過得到的 類 或 簇 來發現資料的特點或者對資料進行處理,在資料探勘 模式識別等領域有著廣泛的應用。屬於無監督...

無監督學習 K Means聚類

無監督學習 通過無標籤的資料,學習資料的分布或資料與資料之間的關係。1定義 根據資料的 相似性 將資料分為多類的過程。1.1.演算法模組 k means 近鄰傳播演算法 dbscan演算法,高斯混合模型 gmm 等。1.2.python庫 sklearn.cluster 1.3.k means聚類演...

無監督學習 K means聚類

先用圖來描述k means怎麼做的 對於如下資料 如果你想分成2類 k 2 演算法會隨機生成兩個聚類中心 然後會分別計算每個資料 綠點 與聚類中心的距離 一般是歐式距離 來決定屬於哪個類 距離哪個聚類中心近 這樣,就得到了資料的第一次分類,接下來演算法會計算已分類的資料的 中心 將它們作為新的聚類中...