FCM—— fuzzy c-means algorithm

1.算法思想

算法在度量数据对象的非相似性(或者说距离)时一般使用欧几里得距离,要求每个类的聚类中心与数据对象的距离平方之和最小。用于分群与确定集群中心。

  • 这里假设有J个节点,我们要将其分为2 © 个集群,并假设集群的中心为c1,c2。每个节点称为xj,j∈J,设uij为节点属于该集群的可能性。即u1j表示第j个节点到第1个集群中心c1的可能性(称为隶属值)。这里有多少个集群,对于每个节点来说就有多少个隶属值。(这里两个集群的情况下,对于节点j有u1j,u2j两个隶属值)。
    同时,u1j+u2j=1
    FCM—— fuzzy c-means algorithm_第1张图片
    -这里由于我们希望集群内的点越近越好,集群间的点越远越好。所以根据节点隶属哪个群,主要是根据它到各节点的距离来确定。
    -这里我们用uij^m ||xj-ci||2**,i∈C,j∈J,这里m控制重要性的大小,这里如果两点距离远,uij就很小(0m ||xj-ci||^2 将会变的很小很小,可能会近似于0。
    -对于每个节点,这里会计算第j个点到所有群心考虑进去
    FCM—— fuzzy c-means algorithm_第2张图片
    -对于所有节点,该系统的目标函数表示为
    FCM—— fuzzy c-means algorithm_第3张图片
    最终表示为
    FCM—— fuzzy c-means algorithm_第4张图片

2.算法解

  • 这里可以看出目标问题是一个凸的问题,我们可以使用拉格朗日对偶法进行求解。
  • 其拉格朗日函数如下所示:
    FCM—— fuzzy c-means algorithm_第5张图片
    -由于该问题是一个凸的问题,可以使用KKT条件进行求解
    详细参见:
    求解过程

你可能感兴趣的:(聚类算法)