我是 MATLAB 环境的新手,无论我多么努力,似乎我都无法理解如何为多元伯努利构造 ML 算法。
我有一个包含 N 个变量 (x1,x2,...,xN) 的数据集,每个变量都是一个 D 维向量 (Dx1),参数向量的形式为 p=(p1,p2,...,pD ) . 所以伯努利分布应该有以下形式:
Pr(X|p)=Πp(d)^x(nd)*(1-p(d))^(1-x(nd))
我创建的代码使用 MATLAB 的 mle 函数:
for n=1:D
prob(n)=mle(dataset(:,n),'distribution', 'bernoulli');
end
这给了我一个来自数据集的估计概率的 D 向量。但是,我真正感兴趣的是如何在逐步的 MATLAB 过程中实现 ML,而不仅仅是使用 mle。
非常感谢。