我找到论文看了下,这个损失函数我看懂了,这个无监督的话,分类还是很有用,我看到比一般的KMeans效果好。
公式推导部分,我看了是矩阵运算,他大致的计算我看了下,跟着推了一遍,后面就比较直观了。
可能矩阵这个地方有点问题解释一下。
J(w)=EF
这里理解为,E表示的是每个行星离太阳的距离,F表示各自卫星离行星的距离,J越高形容聚合效果越好,这几个行星就是样本空间中的质心。
其中,
E=C∑i=1Ni(¯Y(i)−¯Y)2
就是每个质心到太阳的举例。
¯Y(i)=1NiNi∑j=1Yji
¯Y=1NC∑NiNi¯Y(i)
F=C∑i=1Ni∑j=1(Yji−¯Y(i))2
矩阵计算的规则,
假设列向量YT=[y1,y2,...,yn],
那么
Y=⎡⎢
⎢⎣y1⋮yn⎤⎥
⎥⎦
因此,
YT1×n×Yn×1=[y1,y2,...,yn]×⎡⎢
⎢⎣y1⋮yn⎤⎥
⎥⎦
YT1×n×Yn×1=[y21+y22+⋯+y2n]=n∑i=1y2i
因此,
E=C∑i=1Ni(¯Y(i)−¯Y)2=C∑i=1Ni(¯Y(i)−¯Y)T(¯Y(i)−¯Y)=C∑i=1Ni(¯X(i)w−¯Xw)T(¯X(i)w−¯Xw)=C∑i=1NiwT(¯X(i)−¯X)T(¯X(i)−¯X)w=C∑i=1wTBw
其中,Ni在公式里面是常数,不需要考虑矩阵运算的位置。
¯Y(i)C×1中C是质心数,这里不是样本数,这里很好理解,因为均值数量肯定等于样本数。
B=Ni(¯X(i)−¯X)T(¯X(i)−¯X)