无监督学习中的聚类分析方法
1. Fuzzy C-Means(FCM)算法
在聚类分析中,FCM 算法是一种重要的方法。在 FCM 里,$m$ 值越大,样本属于某个聚类的隶属度 $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)$ 的计算方式是所有样本以其属于该聚类的程度($w(i,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 通常总体上需要更少的迭代次数就能达到收敛。目前,scikit-learn 库中尚未实现 FCM 算法。但实践表明,k-mea
超级会员免费看
订阅专栏 解锁全文
1731

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



