我找到论文看了下,这个损失函数我看懂了,这个无监督的话,分类还是很有用,我看到比一般的KMeans效果好。
公式推导部分,我看了是矩阵运算,他大致的计算我看了下,跟着推了一遍,后面就比较直观了。
可能矩阵这个地方有点问题解释一下。
\[J(w)= \frac{E}{F}\]
这里理解为,\(E\)表示的是每个行星离太阳的距离,\(F\)表示各自卫星离行星的距离,\(J\)越高形容聚合效果越好,这几个行星就是样本空间中的质心。
其中,
\[E = \sum_{i=1}^CN_i(\bar Y(i) - \bar Y)^2\]
就是每个质心到太阳的举例。
\[\bar Y(i) = \frac{1}{N_i}\sum_{j=1}^{N_i}Y_i^j\]
\[\bar Y = \frac{1}{N} \sum_{N_i}^C N_i \bar Y(i)\]
\[F = \sum_{i=1}^C \sum_{j=1}^{N_i}(Y_i^j-\bar Y(i))^2\]
矩阵计算的规则,
假设列向量\(Y^T = [y_1,y_2,...,y_n]\), 那么 \[Y = \begin{bmatrix} y_{1} \\ \vdots \\ y_{n} \\ \end{bmatrix}\]
因此,
\[\begin{alignat}{2} Y_{1 \times n}^T \times Y_{n \times 1} = & [y_1,y_2,...,y_n] \times \begin{bmatrix} y_{1} \\ \vdots \\ y_{n} \\ \end{bmatrix}\\ \end{alignat} \\ \]
\[Y_{1 \times n}^T \times Y_{n \times 1} = [y_1^2+y_2^2+\cdots+y_n^2] = \sum_{i=1}^ny_i^2\]
因此,
\[\begin{alignat}{2} E & = \sum_{i=1}^CN_i(\bar Y(i) - \bar Y)^2 \\ & = \sum_{i=1}^CN_i(\bar Y(i) - \bar Y)^T(\bar Y(i) - \bar Y) \\ & = \sum_{i=1}^CN_i(\bar X(i)w - \bar Xw)^T(\bar X(i)w - \bar Xw) \\ & = \sum_{i=1}^CN_iw^T(\bar X(i) - \bar X)^T(\bar X(i) - \bar X)w \\ & = \sum_{i=1}^Cw^TBw \\ \end{alignat} \\\]
其中,\(N_i\)在公式里面是常数,不需要考虑矩阵运算的位置。 \(\bar Y(i)_{C \times 1}\)中\(C\)是质心数,这里不是样本数,这里很好理解,因为均值数量肯定等于样本数。
\[B = N_i(\bar X(i) - \bar X)^T(\bar X(i) - \bar X)\]