gmm

Scikit-learn, GMM: Issue with return from .means_ attribute

坚强是说给别人听的谎言 提交于 2019-12-24 20:33:19
问题 So apparently.. the means_ attribute returns different results from the means I calculated per each cluster. (or I have a wrong understanding of what this returns!) Following is the code I wrote to check how GMM fits to the time series data I have. import numpy as np import pandas as pd import seaborn as sns import time import matplotlib as mpl import matplotlib.pyplot as plt from sklearn.mixture import BayesianGaussianMixture from sklearn.mixture import GaussianMixture toc = time.time()

How to plot the pdf of a 1D Gaussian Mixture Model with matplotlib

穿精又带淫゛_ 提交于 2019-12-20 04:29:15
问题 I want to plot a Gaussian Mixture Model. The following code allows me to plot 2 separate Gaussians, but where they intersect, the line is very sharp and not smooth enough. Is there a way to plot the pdf of a 1D GMM? def plot_data(): mu = [-6, 5] var = [2, 3] sigma = [np.sqrt(var[0]), np.sqrt(var[1])] x = np.linspace(-10, 10, 100) curve_0 = mlab.normpdf(x, mu[0], sigma[0]) curve_1 = mlab.normpdf(x, mu[1], sigma[1]) import ipdb; ipdb.set_trace() plt.plot(x, curve_0, color='grey') plt.plot(x,

gmm estimation error

╄→гoц情女王★ 提交于 2019-12-11 23:20:59
问题 In estimating GMM with more than one independent variables, The codes are do_gmm <- function(X) { DE <- X[, "DE"] rmrf_local <- X[, "rmrf_local"] SMB_L <- X[,"SMB_L"] h <- cbind(as.numeric(DE,rmrf_local,SMB_L)) coef(gmm(DE ~ rmrf_local,~SMB_L, x = h)) } r <- rollapplyr(ALLX0, 24, do_gmm, by.column = FALSE, fill = NA) The code works but in the output, i have only the first variable as follows > r (Intercept) rmrf_local [1,] 0.21 -0.32 [2,] 0.32 -0.04 [3,] -0.43 -0.03 [4,] -0.42 -0.23 I NEED

ValueError: Features are incompatible with given information. Given features: Tensor(“input:0”, shape=(?, 198), dtype=float32)

本秂侑毒 提交于 2019-12-08 09:48:11
问题 Hi I am trying to implement GMM using tensorflow. But I am getting the following error :- ValueError: Features are incompatible with given information. Given features: Tensor("input:0", shape=(?, 198), dtype=float32), required signatures: TensorSignature(dtype=tf.float64, shape=TensorShape([Dimension(None), Dimension(198)]), is_sparse=False). Following is my code:- from tensorflow.contrib.factorization.python.ops import gmm as gmm_lib import numpy as np num_clusters = 200 x = np.array([

How to convert log probability into simple probability between 0 and 1 values using python

泪湿孤枕 提交于 2019-12-07 06:11:00
问题 I am using Gaussian mixture model for speaker identification. I use this code to predict the speaker for each voice clip. for path in file_paths: path = path.strip() print (path) sr,audio = read(source + path) vector = extract_features(audio,sr) #print(vector) log_likelihood = np.zeros(len(models)) #print(len(log_likelihood)) for i in range(len(models)): gmm1 = models[i] #checking with each model one by one #print(gmm1) scores = np.array(gmm1.score(vector)) #print(scores) #print(len(scores))

隐马尔科夫(HMM)的Matlab实现

偶尔善良 提交于 2019-12-06 14:36:26
说明: 1. 本文实现了PRML一书第13章的隐马尔科夫(HMM)算法,并与K-means聚类、GMM模型聚类进行了对比。当然,HMM的用处远不止是聚类; 2. 非职业码农,代码质量不高,变量命名也不规范,凑合着看吧,不好意思。 隐马尔科夫模型(HMM)是我一直想弄清楚的一种模型。可能是上学时随机过程只考了60分,心有不甘。 模型和算法本身不赘述了,详见PRML第13章。直接看结果,把隐变量z作为类别编号,HMM可用于聚类。这里可以看到,由于HMM利用了序列跳转信息(也就是马尔科夫特性),可以获得比混合高斯模型(GMM,http://blog.csdn.net/foreseerwang/article/details/75222522)更为准确的结果。 Matlab输出: **************************************************************** **************************************************************** K-means聚类计算,结果将作为HMM初始值...... K-means聚类算法结束 **************************************************************** GMM聚类计算中......

training UBM with sidekit from custom data

老子叫甜甜 提交于 2019-12-06 14:02:32
问题 I am trying to train GMM-UBM model from data that i have already extracted for emotion recognition with SIDEKIT(pretty much the same as speaker recognition. I also don't understand the HDF5 feature file system). My data is an ndarray with shape (1101,78) [78 are the number of acoustic features and 1101 the number of feature vectors(frames). ubm = sidekit.Mixture() llks = ubm.EM_uniform(anger, distribNb, iteration_min=3, iteration_max=10, llk_gain=0.01, do_init=True) The error that is thrown

R || 高斯混合模型GMM

好久不见. 提交于 2019-12-06 01:51:08
GMM模型的R实现 预备知识: EM算法原理 GMM算法原理 友情提示:本代码配合GMM算法原理中的步骤阅读更佳哦! 本文分为一元高斯分布的EM算法以及多元高斯分布的EM算法,分别采用两本书上的数据《统计学习方法》和《机器学习》。 一元高斯混合模型 步骤: 1、设置模型参数的初始值,以及给出测试的数据 data <- c(- 67 ,- 48 , 6 , 8 , 14 , 16 , 23 , 24 , 28 , 29 , 41 , 49 , 56 , 60 , 75 ) a = c( 0.5 , 0.5 ) #系数 u = c( 0 , 1 ) #初始均值 sigma2 =c( 9 , 9 ) #初始方差 data数据来自《统计机器学习》 2:E步 迭代计算gamma值,也就是响应度 首先利用 dnorm() 计算高斯公式的密度值, sapply() 来向量化带入函数计算 p <- t(sapply( data ,dnorm,u,sigma)) amatrix <- matrix(rep(a, N ),nrow= N ,byrow = T ) #便于计算 r = (p * amatrix) / rowSums(p * amatrix) #r(gamma):分模型k对观测数据data的响应度 M步 迭代更新均值、方差和模型系数 u <- colSums( data *r)

python3 || 高斯混合模型GMM

坚强是说给别人听的谎言 提交于 2019-12-06 01:42:36
GMM模型的python实现 预备知识: EM算法原理 GMM算法原理 友情提示:本代码配合GMM算法原理中的步骤阅读更佳哦! 本文分为一元高斯分布的EM算法以及多元高斯分布的EM算法,分别采用两本书上的数据《统计学习方法》和《机器学习》。 一元高斯混合模型 python未完成,可以看R实现的。 R || 高斯混合模型GMM 多元高斯混合模型 多元高斯混合模型采用的是《机器学习》中的西瓜数据集。 多元高斯分布中的密度值python中没有直接函数,需要自己编写 import numpy as np # 高斯分布的概率密度函数 def dnorm (x,u,sigma2) : """ x:样本 u:均值 sigma2:方差或协差阵 """ if not isinstance(sigma2,np.matrix): sigma2 = np.mat(sigma2) if not isinstance(x,np.matrix): x=np.mat(x) n = np.shape(x)[ 1 ] expOn = float(- 0.5 * (x-u) * sigma2.I * (x-u).T) #python中一维矩阵默认为行向量,所以和书上公式有差异 divBy = np.sqrt(pow( 2 *np.pi,n)) * pow(np.linalg.det(sigma2), 0.5 )

EM 算法(三)-GMM

人走茶凉 提交于 2019-12-04 21:01:18
高斯混合模型 混合模型,顾名思义就是几个概率分布密度混合在一起,而高斯混合模型是最常见的混合模型; GMM,全称 Gaussian Mixture Model,中文名高斯混合模型,也就是由多个高斯分布混合起来的模型; 概率密度函数为 K 表示高斯分布的个数,α k 表示每个高斯分布的系数,α k >0,并且 Σα k =1, Ø(y|θ k ) 表示每个高斯分布,θ k 表示每个高斯分布的参数,θ k =(u k ,σ k 2 ); 举个例子 男人和女人的身高都服从各自的高斯分布,把男人女人混在一起,那他们的身高就服从高斯混合分布; 高斯混合模型就是用混合在一起的身高数据,估计男人和女人各自的高斯分布 小结 GMM 实际上分为两步,第一步是选择一个高斯分布,如男人数据集,这里涉及取到某个分布的概率,α k , 然后从该分布中取一个样本,等同于普通高斯分布 GMM 常用于聚类,也就是把每个概率密度分布聚为一类;如果概率密度分布为已知,那就变成参数估计问题 EM 解释 GMM EM 的核心是 隐变量 和 似然函数 求导结果如下 GMM 的 EM 算法 算法流程 参考资料: https://blog.csdn.net/jinping_shi/article/details/59613054 《统计学习方法》李航 来源: https://www.cnblogs.com/yanshw/p