我找到论文看了下,这个损失函数我看懂了,这个无监督的话,分类还是很有用,我看到比一般的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$$
矩阵计算的规则,
假设列向量YT = [y1,y2,...,yn], 那么 $$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} \\$$
其中,Ni在公式里面是常数,不需要考虑矩阵运算的位置。 Ȳ(i)C × 1中C是质心数,这里不是样本数,这里很好理解,因为均值数量肯定等于样本数。
B = Ni(X̄(i)−X̄)T(X̄(i)−X̄)