基於信息瓶頸的空間聚類(一)
最近在讀Tishby提出的信息瓶頸理論,本人實現了 Susanne Still的基於信息瓶頸進行空間聚類的演算法,在此想展示一下這一演算法的實現過程。歡迎各位道友提出寶貴意見
信息瓶頸的motivation
讓我們先考慮聚類問題,在空間中給出一堆的data points ,我們想把它們分成若干類 (cluster indices),每一類對應著一個cluster centroid 。從資訊理論的角度來看,聚類的過程實質上是把這些data points的信息壓縮成若干個cluster,同時又要儘可能確保聚類的質量僅可能地好。
- 首先我們來定義「聚類的質量」。為了使我們聚類的效果(準確度)儘可能的好,我們需要儘可能保留這些data points的位置關於cluster indices的信息。我們定義 為data points的location的random variable, 為cluster indices的random variable。故我們要儘可能maximize ,這裡 表示mutual information。
- 其次,我們來定義data points的壓縮。聚類其實是把data points的indices一對一映射到cluster indices上。我們定義 為data points的indices的random variable。故我們要儘可能minimize 。
如果我們使得 儘可能大,那麼 隨之也會變大,這就會跟我們的目的衝突了。所以我們打算設置 的lower bound為 ,同時儘可能minimize ,即
這裡 是我們的controller,它代表當data point的index為 時,它被歸為第 類的概率。為了解決(1),我們引入參數Lagrange multiplier ,這樣我們只需要解決一個unconstrained optimization
迭代演算法求解最優化問題
這裡Tishby給出了求解(2)的迭代演算法:
Input: , , ,容限 ,
Output: , , ,cluster centroids的位置 .Initialization: , , m=0.While True:
If we have ,break.
這裡的關鍵在於如何恰當地選取 和起始點 與 .由直覺地,我們選擇
- ,
其中出現的 和 都是normalization term,它們是為了使得 .
我們隨機選取起始的cluster centroid ,然而如果你直接就這樣實現這個演算法,那麼你的程序將永遠不會收斂,這是因為我們設置的 有問題,這一原因被詳細介紹在(Strouse, 2017)的paper裡面。由直覺地,這樣設置的 將會使兩個不同的data points之間的距離成為泛函:
由直覺性的,這樣做會使得任意兩個不同位置的data points都會被分到不同的cluster裡面。(可以參考論文里的詳細證明)
同時,論文提出了新的設置 的方法:
其中 是一個新的參數, 是normalization term.
實驗結果
為了驗證這一演算法的有效性,我們隨機選取空間中的2500個data points並試圖使用以上演算法聚類:
- 我們generate四組呈Gaussian distribution的data points,每一組625個點,它們的分布為:
- 使用以上聚類演算法以後,我們得到了聚類效果圖:
聚類的error probability 為6.1%,貌似效果還不錯,可以在GitHub上查看我的源代碼。
Future Work
接下來我打算探索這一演算法的優缺點和內在原理,以及使用該演算法實現圖像分割的過程
Reference
- N. Tishby, F. C. Pereira, and W. Bialek, 「The information bottleneck method,」arXiv preprint physics/0004057, 2000. [Online]. Available: https://arxiv.org/pdf/physics/0004057.pdf.
- D. Strouse, and D. Schwab, " The information bottleneck and geometric clustering", arXiv:1712.09657. [online]. Available: https://papers.nips.cc/paper/2361-geometric-clustering-using-the-information-bottleneck-method.pdf
- S. Still, W. Bialek, and L.Bottou, "Geometric Clustering using the Information Bottleneck method",[online] Available: https://www.princeton.edu/~wbialek/our_papers/still+al_04.pdf
推薦閱讀: