■高斯混合模型(GMM):理念、数学、EM算法和python实现( 三 )


y = np.random.randint(-10, 20, size=(12, 2)) gmm2d = GMM2D(num_clusters=3, max_iterations=10) gmm2d.run(X) gmm2d.predict(y)
■高斯混合模型(GMM):理念、数学、EM算法和python实现
本文插图
■高斯混合模型(GMM):理念、数学、EM算法和python实现
本文插图
■高斯混合模型(GMM):理念、数学、EM算法和python实现
本文插图
如果使用sklearn , 可以在几行代码中完成相同的任务 。
from sklearn.mixture import GaussianMixture X,Y = make_blobs(cluster_std=1.5,random_state=20,n_samples=500,centers=3) X = np.dot(X, np.random.RandomState(0).randn(2,2)) GMM = GaussianMixture(n_components=3) GMM.fit(X) Y = np.random.randint(-10, 20, size=(1, 2)) print(GMM.means_, GMM.predict_proba(Y)) ''''''Out: [[19.88168663 17.47097164] [-12.835387844.89646199] [11.09673732 18.67548935]] [[1.91500946e-17 9.30483496e-01 6.95165038e-02]]''''''
■高斯混合模型(GMM):理念、数学、EM算法和python实现
本文插图
GMM将样本分类为第二类 。
结论
实现高斯混合模型并不难 。 一旦你清楚了数学 , 它将为模型找到最大似然估计(无论是一维数据还是高维数据) 。 该方法具有较强的鲁棒性 , 在执行聚类任务时非常有用 。 现在您已经熟悉了GMM的python实现 , 可以使用数据集执行一些很酷的操作 。


推荐阅读