k means為什麼不用梯度下降迭代

時間 2021-05-29 22:53:45

1樓:朱珂銳

有其他和k-means解決同樣問題的演算法在使用梯度下降,但是k-means作為同類問題使用EM解法的簡化版本,它本身就是一種更好的選擇。

1.NMF (Nonnegative Matrix Factorization) 非負矩陣分解的一種場景是,把乙個非負矩陣分解為乙個行歸一矩陣和另乙個非負矩陣的乘積。此時它具有聚類的性質,即把原資料集分解為每個data points 屬於每個聚類中心的「概率」乘上每個聚類中心的向量。

NMF的損失函式

分別對W、H各自是凸的,但是對W及H來說是非凸的。與此同時,我們幾乎無法寫出其解析解,因此這個方法的主流解法是交替對W和H進行梯度下降,尋找區域性最優。

2.k-means也被叫做 hard-EM,本質上是在解決GMM (Guassian Mixture Model) ,只是在E-step時不在 data points 屬於單個cluster的後驗概率做期望,而是使用其最大後驗估計為概率做期望。

而GMM的對數似然函式為

,乙個比較嚴重的問題是,每乙個data points的對數似然裡面還有乙個和式,這件事情直接導致了整個似然函式是非凸的,即便取了對數,也很難用梯度下降取到全域性最大值。但幸運的是,後來出現了EM演算法,它通過做似然函式對隱變數k的期望,把log裡面的和式放到log外面去了。這個時候期望似然函式不僅凸了,甚至還能直接寫出最大似然的解析解了

。儘管EM也不保證收斂到全域性最優,但是它能保證每一步只是簡單做一下有解析解的最大思然估計就能讓似然函式變大。能一步到位的時候又何必小步快跑呢。

3.梯度下降最成功的應用應該算是LR和後面的深度學習了。LR的目標函式本身是凸的,但是又寫不出解析解,所以才使得它非常適合用梯度下降求解。

總結來說,k-means要解決的問題的目標函式是非凸的,梯度下降不保證收斂到全域性最優,而NMF模型過於簡單,幾乎只能使用梯度下降。但是k-means作為該問題EM版本的解法,本身就是一種作為梯度下降的替代品的更好的選擇。Ding C , He X , Simon H D , et al.

On the Equivalence of Nonnegative Matrix Factorization and K-means - Spectral Clustering[J]. Factorization, 2005.

Murphy K P . Machine Learning: A Probabilistic Perspective[M]. MIT Press, 2012.

2樓:陳濤

因為k-means演算法中存在著隱變數-聚類個數。而通過求導似然函式然後使用梯度下降進行迭代,會因為求導的過程,導致大量的隱變數項出現,增加了複雜性。

3樓:倪晨傑

k-means理論上來說也是能用gd的,只不過效果不好而已。在神經網路裡,陷入區域性最優解不是什麼大問題,但是對於k-means來說,區域性最優解的結果往往不盡如人意。

為什麼隨機梯度下降方法能夠收斂?

結論 SGD能收斂的根本原因是每次迭代的時候步長會縮減。記住,SGD的學習率 步長是不斷變小的,和BGD不同。在梯度 滿足利普希茨條件,並且 滿足 強凸的前提下 1 理論上,SGD如果步長不變的話,收斂率和BGD一樣都是線性的,即 但是會收斂到乙個極值點的鄰域或者說區間 其中,是極小值,是固定步長 ...

為什麼策略梯度(policy gradient)演算法會收斂到區域性最優?

感覺cost function非convex的情況下,gradient類的演算法都很難保證收斂全域性最優,但可以收斂到乙個stationary point。 YukiRain 首先,policy gradient可以被看作是一種近似policy iteration的形式 只不過用的不是Bellman...

pytorch中為什麼可以通過梯度累加變相擴大batchsize?

Wet sand 就從最簡單的網路看,y wx,最佳解是 w 1,訓練資料輸入是 1,1 而標籤會有些噪音。先不考慮梯度累加,如果我的 batch size 是 1,那麼 w 的更新方向可能一下往 1.5,一下往 0.7,1.2.如果標籤噪音大一點,情況複雜一點就會變的很難收斂。那透過增加 batc...