无监督学习中的聚类分析方法详解
1. FCM 算法与 K-means 算法对比
在聚类分析中,模糊 C 均值(FCM)算法是一种重要的方法。FCM 中,参数 $m$ 的值越大,样本属于某个簇的隶属度 $w(i,j)$ 就越小,这会导致簇的划分更加模糊。隶属度 $w(i,j)$ 的计算公式如下:
$w(i,j) = [\sum_{c = 1}^{k}(\frac{|x(i) - \mu(j)|^2}{|x(i) - \mu(c)|^2})^{\frac{2}{m - 1}}]^{-1}$
若选择三个簇中心,$x(i)$ 属于 $\mu(j)$ 簇的隶属度可按以下方式计算:
$w(i,j) = [(\frac{|x(i) - \mu(j)|^2}{|x(i) - \mu(1)|^2})^{\frac{2}{m - 1}} + (\frac{|x(i) - \mu(j)|^2}{|x(i) - \mu(2)|^2})^{\frac{2}{m - 1}} + (\frac{|x(i) - \mu(j)|^2}{|x(i) - \mu(3)|^2})^{\frac{2}{m - 1}}]^{-1}$
簇的中心 $\mu(j)$ 是所有样本的加权平均值,权重为每个样本属于该簇的隶属度的 $m$ 次方,即:
$\mu(j) = \frac{\sum_{i = 1}^{n}w(i,j)^m x(i)}{\sum_{i = 1}^{n}w(i,j)^m}$
从计算簇隶属度的公式可以看出,FCM 算法每次迭代的计算成本比 K-means 算法高。不过,FCM 通常总体上需要更少的迭代次数就能达到收敛。遗憾的是,FCM 算法目前在 scikit-learn 中尚未实现。但实践表明,
超级会员免费看
订阅专栏 解锁全文
32

被折叠的 条评论
为什么被折叠?



