2016-10-29 3 views
0

私はMATLABの環境に新しく、どれだけ苦労しても、多変量ベルヌーイのMLアルゴリズムを構築する方法の概念を理解できないようです。Matlab(多変量ベルヌーイ)の最大可能性

私はN個の変数(x1、x2、...、xN)のデータセットを持ち、各変数はD次元(Dx1)のベクトルであり、パラメータベクトルはp =(p1、p2 ,. ..、pD)。私のデータセットからの推定確率のDベクトルを与える

for n=1:D 
    prob(n)=mle(dataset(:,n),'distribution', 'bernoulli'); 
end 

:私が作成した

Pr(X|p)=Πp(d)^x(nd)*(1-p(d))^(1-x(nd)) 

コードは、MATLABのMLE機能を使用していますので、ベルヌーイ分布はフォームを持っている必要があります。 しかし、私が本当に関心を持っているのは、ステップバイステップのMATLABプロセスでMLを実装する方法であり、mleを使用するだけではありません。

ありがとうございました。

答えて

0

ベルヌーイ分布のphatは、試行回数に対する成功率です。手動で行う場合は、各ベクトルの成功回数(1または0のいずれか)を数え、ベクトルの長さで割ります。ここでは、1が行列内に垂直に格納された成功であると仮定すると、簡単な方法があります。

bern_mat = [0 0 1 0 1 1; 1 1 0 1 0 0 ; 1 0 1 0 1 1]; % 3x6 matrix of 1's and 0's 
phat = sum(bern_mat,1)/size(bern_mat,1); % sum across the first dim then divide by size of first dim. 
関連する問題