此问题来源于模糊C均值聚类的推导过程
符号定义:
{xi,i=1,2,⋯,n}
是n个样本组成的样本集合,
c
为预定的类别数目,
∑j=1cμj(xi)=1i=1,2,⋯,c(1)
用隶属度函数定义的聚类损失函数可以写为:
Jf=∑j=1c∑i=1n[μj(xi)]b∥∥xi−μj∥∥2(2)
其中, b>1 是一个可以控制聚类结果的隶属度程度的常数。
令
Jf
对
μj(xi)
求偏导,并令偏导结果为0,可得:
μj(xi)=[1/∥∥xi−μj∥∥2]1/(b−1)∑k=1c[1/∥∥xi−μk∥∥2]1/(b−1)i=1,2,⋯,nj=1,2,⋯,c(3)
The Question is:
How to get the result (3) from (2) ?
Solution: Thanks to Mr.H
记
g=∑j=1cμj(xi)−1
,则原问题可描述为:在
g=0
的条件下, 求
Jf
最小。
使
Jf−λg
对
μj(xi),j=1,2,⋯,c
求偏导。
得:
⎧⎩⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪b⋅[μ1(xi)]b−1⋅∥xi−μ1∥2b⋅[μ2(xi)]b−1⋅∥xi−μ2∥2⋯b⋅[μc(xi)]b−1⋅∥xi−μc∥2∑j=1cμj(xi)−1=λ=λ=λ=0,i=1,2,⋯,n
即:
λb=[μj(xi)]b−1⋅∥xi−μj∥2,{i=1,2,⋯,nj=1,2,⋯,c(1)
(λb)1/(b−1)=μj(xi)⋅[∥xi−μj∥2]1/(b−1),{i=1,2,⋯,nj=1,2,⋯,c(2)
μj(xi)=(λb)1/(b−1)⋅[1/∥xi−μj∥2]1/(b−1),{i=1,2,⋯,nj=1,2,⋯,c(3)
而后:
∵
∑j=1cμj(xi)=1,i=1,2,⋯,c
∴
式
(3)
变为:
(λb)1/(b−1)∑j=1c[1/∥xi−μj∥2]1/(b−1)=1
(λb)1/(b−1)=1∑j=1c[1/∥xi−μj∥2]1/(b−1)(4)
(4)→(2)
,得:
1∑j=1c[1/∥xi−μj∥2]1/(b−1)=μj(xi)⋅[∥xi−μj∥2]1/(b−1),{i=1,2,⋯,nj=1,2,⋯,c
即:
μj(xi)=[1/∥∥xi−μj∥∥2]1/(b−1)∑k=1c[1/∥∥xi−μk∥∥2]1/(b−1),{i=1,2,⋯,nj=1,2,⋯,c