Kmeans面試常見問題彙總

2021-10-07 16:00:58 字數 2291 閱讀 8361

1)隨機法

最簡單的確定初始類簇中心點的方法是隨機選擇k個點作為初始的類簇中心點。

2)選擇各批次距離盡可能遠的k個點,首先隨機選擇乙個點作為第乙個初始類簇中心點,然後選擇距離該點最遠的那個點作為第二個初始類簇中心點,然後再選擇距離前兩個點的最近距離最大的點作為第三個初始類簇的中心點,以此類推,直到選出k個初始類簇中心。

3)層次聚類或者canopy預處理,選擇中心點。選用層次聚類或者canopy演算法進行初始聚類,然後利用這些類簇的中心點作為kmeans演算法初始類簇中心點。

(1)選擇乙個距離當前任何質心最遠的點。這將消除當前對總平方誤差影響最大的點。

(2)從具有最大sse的簇中選擇乙個替補的質心,這將**簇並降低聚類的總sse。如果有多個空簇,則該過程重複多次。

(3)如果噪點或者孤立點過多,考慮更換演算法,如密度聚類(部落格後期會更新這類聚類演算法)

不會,有數學證明kmeans一定會收斂,大概思路是利用sse的概念(也就是誤差平方和),即每個點到自身所歸屬質心的距離的平方和,這個平方和是乙個凸函式,通過迭代一定可以到達它的區域性最優解。(不一定是全域性最優解)

k-means演算法是常用的聚類演算法,但其演算法本身存在一定的問題。例如,在大資料量下的計算時間過長就是乙個重要問題。

mini batch kmeans使用了一種叫做mini batch(分批處理)的方法對資料點之間的距離進行計算。mini batch的好處是計算過程中不必使用所有的資料樣本,而是從不同類別的樣本中抽取一部分樣本來代表各自型別進行計算。由於計算樣本數量少,所以會相應的減少執行時間,但另一方面抽樣頁必然會帶來準確度的下降。

該演算法的迭代步驟有兩步:

1)從資料集中隨機抽取一些資料形成小批量,把他們分配給最近的質心

2)更新質心:與k均值演算法相比,資料的更新是在每乙個小的樣本集上。對於每乙個小批量,通過計算平均值得到更新質心,並把小批量裡的資料分配給該質心,隨著迭代次數的增加,這些質心的變化是逐漸減小的,直到質心穩定或者達到指定的迭代次數,停止計算。

k-means的主要優點:

(1)原理簡單,容易實現

(2)可解釋度較強

k-means的主要缺點:

(1)k值很難確定

(2)區域性最優

(3)對噪音和異常點敏感

(4)需樣本存在均值(限定資料種類)

(5)聚類效果依賴於聚類中心的初始化

(6)對於非凸資料集或類別規模差異太大的資料效果不好

輪廓係數

好的聚類:內密外疏,同乙個聚類內部的樣本要足夠密集,不同聚類之間樣本要足夠疏遠。

輪廓係數計算規則:針對樣本空間中的乙個特定樣本,計算它與所在聚類其它樣本的平均距離a,以及該樣本與距離最近的另乙個聚類中所有樣本的平均距離b,該樣本的輪廓係數為

輪廓係數的區間為:[-1, 1]。 -1代表分類效果差,1代表分類效果好。0代表聚類重疊,沒有很好的劃分聚類。比較低,內密外不夠疏

1)knn是分類演算法,k-means是聚類演算法;

2)knn是監督學習,k-means是非監督學習

3)knn餵給它的資料集是帶label的資料,已經是完全正確的資料,k-means餵給它的資料集是無label的資料,是雜亂無章的,經過聚類後才變得有點順序,先無序,後有序。

4)knn沒有明顯的前期訓練過程,k-means有明顯的前期訓練過程

5)k的含義knn來了乙個樣本x,要給它分類,即求出它的y,就從資料集中,在x附近找距離它最近的k個資料點,這k個資料點,類別c佔的個數最多,就把x的label設為c.

k-means中k是人工固定好的數字,假設資料集合可以分為k個簇,由於是依靠人工定好,需要一些先驗知識。

(1)資料歸一化和離散點的處理(2)合理選擇k值 (3)採用核方法

(1)k-means++

(2)isodata演算法

k-means演算法與em演算法的關係是這樣的:k-means是兩個步驟交替進行,可以分別看成e步和m步;

m步中將每類的中心更新為分給該類各點的均值,可以認為是在「各類分布均為單位方差的高斯分布」的假設下,最大化似然值;

e步中將每個點分給中心距它最近的類(硬分配),可以看成是em演算法中e步(軟分配)的近似。

參考知乎lixinliu回答

僅學習自用, 侵權刪

參考資源:

近期面試常見問題彙總

在杭州一段時間面過幾家公司,對於所涉及到的題目進行了彙總。主要有以下幾個問題。一 野指標 1 什麼是野指標 野指標是指指標指向的位置是不可知的,指標變數定義時未初始化。2 野指標產生原因 1 指標定義時未初始化,其值是隨機的,意味著指向乙個位址是乙個不確定的變數 2 指標被釋放時,沒有被置空,fre...

面試常見問題

面試時,有幾個問題是公司面試人員常常會提出的,針對這些問題好好準備,在面試時也就不會啞口無言,無言以對了,下面就面試十大必考題做出分析,也許對hr經理也是乙個 1 為什麼想進本公司?這通常是面試官最先問到的問題。此時面試官就開始評斷錄用與否了,建議大家先判斷自己去應徵的工作性質,是專業能力導向呢,或...

面試常見問題

1.如果我們不能提供你所要求的薪水,你還願意來我們公司嗎?你的期望薪水是多少?你想得到的薪水是多 少?如果達不到你的要求,怎麼辦?答 我認為工作最重要的是合作開心,薪酬是其次的,不過我原來的月薪是 元,如果跳槽的話就希望 自己能有點進步,如果不是讓您太為難的話,您看這個工資是不是可以有一點提高?2....