本文提出一種同時學習特征表示和節點聚類的深度神經網路。
2 Method
DEC有兩個階段:
-
- 用深度自編碼器(deep autoencoder)參數初始化;
- 參數優化,通過迭代計算輔助目標分布和最小化Kullback-Leibler(KL)散度;
2.1 Clustering with KL divergence
給定非線性映射 $f_{\theta}$ 和初始聚類質心 $ \left\{\mu_{j}\right\}_{j=1}^{k}$ 的初始估計,我們建議改進聚類使用在兩個步驟之間交替的無監督算法。
第一步,首先計算節點嵌入和質心之間的軟分配 。
第二步,更新映射函數 $f_{\theta}$ , 並通過使用輔助目標分布從當前的高置信度分配中學習來細化集群質心。 重復此過程,直到滿足收斂標准。
2.1.1. Soft assignment
$q_{i j}=\frac{\left(1+\left\|z_{i}-\mu_{j}\right\|^{2} / \alpha\right)^{-\frac{\alpha+1}{2}}}{\sum_{j^{\prime}}\left(1+\left\|z_{i}-\mu_{j^{\prime}}\right\|^{2} / \alpha\right)^{-\frac{\alpha+1}{2}}} \quad \quad\quad\quad (1)$
-
- $z_{i}=f_{\theta}\left(x_{i}\right) \in Z$ 是嵌入后的 $x_{i} \in X$
- $\alpha$ 是 Student's t distribution 的自由度
- $q_{i j}$ 可以解釋為將樣本 $i$ 分配給聚類 $j$ 的概率(即軟分配)
2.1.2 KL Divergence minimization
我們建議在 輔助分布 的幫助下,通過學習 高置信度分配 來迭代地細化聚類。
具體來說,本文通過匹配軟分配到目標分布來訓練的。為此,將目標定義為軟分配 $q_i$ 和輔助分布 $p_i$ 之間的KL散度損失如下:
$L=\mathrm{KL}(P \| Q)=\sum \limits_{i} \sum \limits_{j} p_{i j} \log \frac{p_{i j}}{q_{i j}} \quad \quad\quad\quad (2)$
目標分布 $P$ 的選擇是 DEC 的性能的關鍵。一種簡單的方法是將超過置信閾值的數據點的每個 $p_i$ 設置為一個 $delta$ 分布(到最近的質心),而忽略其余的。然而,由於 $q_i$ 是軟任務,所以使用較軟的概率目標更自然和靈活。
在實驗中,我們計算 $p_i$,首先將 $q_i$ 提高到二次冪,然后按每個簇的頻率歸一化:
${\large p_{i j}=\frac{q_{i j}^{2} / f_{j}}{\sum_{j^{\prime}} q_{i j^{\prime}}^{2} / f_{j^{\prime}}}} \quad \quad\quad\quad (3)$
其中 $f_{j}=\sum \limits _{i} q_{i j}$ 是軟聚類頻率 。
2.1.3 Optimization
本文利用具有動量的隨機梯度下降(SGD)聯合優化了聚類中心 $\left\{\mu_{j}\right\} $ 和 DNN參數 $\theta $。
$L$ 對每個數據點 $z_i$ 和每個聚類質心 $\mu_{j}$ 的特征空間嵌入的梯度計算為:
2.2 Parameter initialization
現在將討論參數和質心是如何初始化的。
本文使用堆疊自動編碼器(SAE) 初始化 DEC,SAE學習到的無監督表示能促進使用 DEC 進行聚類表示的學習。
SAE網絡每一層都是一個去噪自動編碼器。去噪自動編碼器是定義為:
$\tilde{x} \sim \operatorname{Dropout}(x) \quad \quad\quad\quad (6)$
$h=g_{1}\left(W_{1} \tilde{x}+b_{1}\right) \quad \quad\quad\quad (7)$
$\tilde{h} \sim \operatorname{Dropout}(h) \quad \quad\quad\quad (8)$
$y=g_{2}\left(W_{2} \tilde{h}+b_{2}\right)\quad \quad\quad\quad (9)$
訓練是通過最小化最小二乘損失 $\|x-y\|_{2}^{2}$ 來完成的。
經過 greedy layer-wise training 后,我們將所有編碼器層和所有解碼器層,按反向層訓練順序連接起來,形成一個深度自動編碼器,然后對其進行微調,使其最小化重構損失。最終的結果是一個中間有一個瓶頸編碼層的多層深度自動編碼器。然后我們丟棄解碼器層,並使用編碼器層作為數據空間和特征空間之間的初始映射,如 Fig. 1 所示。
3 Experiments
數據集
節點聚類
在 Table 2 中,報告了每種算法的最佳性能:
4 Conclusion
本文提出了深度嵌入式聚類,即DEC,一種在聯合優化的特征空間中聚集一組數據點的算法。DEC的工作原理是迭代優化基於KL散度的聚類目標和自訓練目標分布。我們的方法可以看作是半監督自我訓練的無監督擴展。我們的框架提供了一種方法來學習專門的表示,而沒有基本聚類成員標簽。
修改歷史
2022-01-12 創建文章
2022-06-08 修訂文章