我找到论文看了下,这个损失函数我看懂了,这个无监督的话,分类还是很有用,我看到比一般的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)$$