标签: mixture-model

如何在 Java 中编写 GMM(高斯混合模型)?

如何在 Java 中编写 GMM(高斯混合模型)。Matlab 中有一些实现,但我正在寻找一些关于它的文档和 Java 中的示例代码。

PS:如果可能,我如何在我的代码中采用 Weka 实现?

PS2:我发现:http : //www.lix.polytechnique.fr/~nielsen/MEF/其中 GMM 的源代码在哪里,所以我可以在我的代码中采用它?

PS3:找到的另一个代码是:http : //www.dii.unisi.it/~freno/JProGraM.html仍然有问题必须采用它。我应该给出我的输入列表并从算法中获取所有分类元素列表。

java algorithm cluster-analysis gaussian mixture-model

4
推荐指数
1
解决办法
8409
查看次数

高斯和伽马分布的混合

我正在寻找R中的一些脚本/包(Python也会这样做),以从高斯和Gamma分布的混合中找出组件分布参数.到目前为止,我已经使用R包"mixtools"将数据建模为高斯混合,但我认为它可以通过Gamma加高斯来更好地建模.

谢谢

r gaussian gamma-distribution mixture-model

4
推荐指数
1
解决办法
3836
查看次数

很多高斯混合模型的MATLAB代码

我在语音盒MATLAB工具中应用了gaussmix函数来计算GMM.但是,当我为512 GMM组件运行代码时,代码会给我错误.

No_of_Clusters = 512;
No_of_Iterations = 10;
[m_ubm1,v_ubm1,w_ubm1]=gaussmix(feature,[],No_of_Iterations,No_of_Clusters);

Error using  * 
Inner matrix dimensions must agree.

Error in gaussmix (line 256)
pk=px*wt;                       % pk(k,1) effective number of data points for each mixture (could be    zero due to underflow)
Run Code Online (Sandbox Code Playgroud)

我需要1024或2048混合物用于通用背景模型(UBM)构造.谁能给我matlab代码来计算大量混合物(如512或2048)的GMM?

谢谢.

matlab probability gaussian speaker mixture-model

2
推荐指数
1
解决办法
4135
查看次数

大型数据集上的Sklearn-GMM

我有一个很大的数据集(我无法在内存中容纳全部数据)。我想在此数据集上使用GMM。

我可以在小批量数据上重复使用GMM.fit()(sklearn.mixture.GMM)吗?

python bigdata scikit-learn mixture-model

2
推荐指数
1
解决办法
1885
查看次数

从flexmix对象(R)预测

我将一些数据拟合为两个高斯分布的混合分布flexmix:

data("NPreg", package = "flexmix")
mod <- flexmix(yn ~ x, data = NPreg, k = 2,
           model = list(FLXMRglm(yn ~ x, family= "gaussian"),
                        FLXMRglm(yn ~ x, family = "gaussian")))
Run Code Online (Sandbox Code Playgroud)

模型拟合如下:

> mod

Call:
flexmix(formula = yn ~ x, data = NPreg, k = 2, model =    list(FLXMRglm(yn ~ x, family = "gaussian"), 
    FLXMRglm(yn ~ x, family = "gaussian")))

Cluster sizes:
  1   2 
 74 126 

convergence after 31 iterations
Run Code Online (Sandbox Code Playgroud)

但是我如何从这个模型中实际预测呢?

当我做

pred <- predict(mod, NPreg)
Run Code Online (Sandbox Code Playgroud)

我得到一个列表,其中包含两个组件中的每个组件的预测

要获得单个预测,我是否必须添加像这样的群集大小?

single <- …
Run Code Online (Sandbox Code Playgroud)

r predict mixture-model

2
推荐指数
1
解决办法
1310
查看次数

如何在MATLAB中绘制gmdistribution的结果?

我有来自MATLAB中图像的数据,我想将其分解为高斯混合.图像的计数和binLocations存储在256x2矩阵'X'中,fitgmdist(X,3)为三个高斯人提供参数.我想绘制这些高斯人并找到他们的交叉点.

我也有点困惑为什么混合模型中的'mu'等参数有两列.难道每个高斯都不应该有一个对应的意思吗?

matlab gaussian computer-vision mixture-model

2
推荐指数
1
解决办法
1759
查看次数

如何拟合Dirichlet分布的有限混合

我有一个组合样本,我想拟合Dirichlet分布的有限混合.更准确地说,请考虑以下示例:

library(gtools)
set.seed(1)
PROB = c(0.25, 0.15, 0.60)
ALPHA = list(
  c(1,1,1),
  c(2,1,1),
  c(1,1,20)
)
size = 500

N = sapply(1:3, function(i, z) sum(z == i),
           sample(1:3, size, prob = PROB, replace = TRUE))

X = do.call('rbind', 
            sapply(1:3, function(i, N) 
              rdirichlet(N[i], ALPHA[[i]]), N))[sample(1:size),]
Run Code Online (Sandbox Code Playgroud)

X包含由三部分单形中定义的Dirichlet分布混合生成的样本.该混合物的第一个Dirichlet分量具有参数(1,1,1),第二个分量具有参数(2,1,1)和第三个(1,1,20).混合概率为0.25,0.15,0.60.我想从样本中检索这些参数.

你怎么会找到这个参数?

packages r distribution dirichlet mixture-model

2
推荐指数
1
解决办法
635
查看次数

简化EM的公式

我想在Matlab中计算下面的公式(EM的E-step for Multinomial Mixture Model),
在此输入图像描述

g和θ是矩阵,θ和λ具有以下约束:
在此输入图像描述
在此输入图像描述
但是m的计数大于1593,当计算θ的乘积时,数字变得非常小,Matlab将其保存为零.任何人都可以简化g公式或使用其他技巧来解决这个问题?

更新:

data: data.txt (下载后,将文件扩展名更改为'mat')

码:

function EM(data)
%% initialize
K=2;
[N M]=size(data);
g=zeros(N,K);
landa=ones(K,1) .* 0.5;
theta = rand(M, K);
theta = bsxfun(@rdivide, theta, sum(theta,1))';
%% EM
for i=1:10
%% E Step
    for n=1:N
        normalize=0;
        for k=1:K
            g(n,k)=landa(k) * prod(theta(k,:) .^ data(n,:));
            normalize=normalize + landa(k) * prod(theta(k,:) .^ data(n,:));
        end
        g(n,:)=g(n,:) ./ normalize;
    end
%% M Step 
    for k=1:K
        landa(k)=sum(g(:,k)) / N ;
        for m=1:M
            theta(k,m)=(sum(g(:,k) .* data(:,m)) + 1) / (sum(g(:,k) .* …
Run Code Online (Sandbox Code Playgroud)

math matlab mixture-model

1
推荐指数
1
解决办法
273
查看次数

使用高斯混合模型对图像进行聚类

我想使用GMM(高斯混合模型来聚类二进制图像,并且还想在二进制图像本身上绘制聚类质心).

我使用它作为我的参考:http: //in.mathworks.com/help/stats/gaussian-mixture-models.html

这是我的初始代码

 I=im2double(imread('sil10001.pbm'));
  K = I(:);
  mu=mean(K);
  sigma=std(K);
  P=normpdf(K, mu, sigma);
   Z = norminv(P,mu,sigma);
  X = mvnrnd(mu,sigma,1110);
  X=reshape(X,111,10);


 scatter(X(:,1),X(:,2),10,'ko');

options = statset('Display','final');
gm = fitgmdist(X,2,'Options',options);



idx = cluster(gm,X);
cluster1 = (idx == 1);
cluster2 = (idx == 2);


 scatter(X(cluster1,1),X(cluster1,2),10,'r+');
 hold on

  scatter(X(cluster2,1),X(cluster2,2),10,'bo');
  hold off
  legend('Cluster 1','Cluster 2','Location','NW')


  P = posterior(gm,X);

 scatter(X(cluster1,1),X(cluster1,2),10,P(cluster1,1),'+')
 hold on
 scatter(X(cluster2,1),X(cluster2,2),10,P(cluster2,1),'o')
 hold off
 legend('Cluster 1','Cluster 2','Location','NW')
 clrmap = jet(80); colormap(clrmap(9:72,:))
 ylabel(colorbar,'Component 1 Posterior Probability')
Run Code Online (Sandbox Code Playgroud)

但问题是我无法在主二进制图像中绘制从GMM接收的聚类质心.我该怎么做? 在此输入图像描述

**现在假设我有一个序列中的10个这样的图像我想将它们的平均位置的信息存储在两个单元格数组中然后我该怎么做.这是我的代码我的新问题**

    images=load('gait2go.mat');%load the matrix file
    for i=1:10

   I{i}=images.result{i}; …
Run Code Online (Sandbox Code Playgroud)

matlab classification cluster-analysis machine-learning mixture-model

1
推荐指数
1
解决办法
2448
查看次数

将高斯混合模型拟合到单个特征数据的正确方法是什么?

data 是一维数据数组。

data = [0.0, 7000.0, 0.0, 7000.0, -400.0, 0.0, 7000.0, -400.0, -7400.0, 7000.0, -400.0, -7000.0, -7000.0, 0.0, 0.0, 0.0, -7000.0, 7000.0, 7000.0, 7000.0, 0.0, -7000.0, 6600.0, -7400.0, -400.0, 6600.0, -400.0, -400.0, 6600.0, 6600.0, 6600.0, 7000.0, 6600.0, -7000.0, 0.0, 0.0, -7000.0, -7400.0, 6600.0, -400.0, 7000.0, -7000.0, -7000.0, 0.0, 0.0, -400.0, -7000.0, -7000.0, 7000.0, 7000.0, 0.0, -7000.0, 0.0, 0.0, 6600.0, 6600.0, 6600.0, -7400.0, -400.0, -2000.0, -7000.0, -400.0, -7400.0, 7000.0, 0.0, -7000.0, -7000.0, 0.0, -400.0, -7400.0, -7400.0, 0.0, 0.0, 0.0, -400.0, -400.0, …
Run Code Online (Sandbox Code Playgroud)

python machine-learning reshape scikit-learn mixture-model

0
推荐指数
1
解决办法
4291
查看次数