Question

Je dois utiliser EM pour estimer la moyenne et la covariance de la distribution gaussienne pour chacune des deux classes. Ils ont des attributs manquants aussi.

Classes de chaque objet est connue. Par conséquent, le problème se réduit essentiellement à ajuster un modèle gaussienne élément manquant.

Quelle est la meilleure bibliothèque à utiliser?

Comment est ECM algorithme différent de EM algorithme?

Était-ce utile?

La solution 2

Merci all.But J'utilise ecmnmle pour l'estimation des paramètres, puis l'obtention de la distribution de marginaux qui est utilisé plus tard dans la classification de Bayes. Il fonctionne très bien avec une précision de 0,9 et 0.69 sur 2 classes.

Autres conseils

Si vous avez accès à la boîte à outils statistiques, vous pouvez utiliser le GMDISTRIBUTION classe pour adapter un mélange de gaussiennes modèle en utilisant l'algorithme EM.

Voici un exemple:

%# sample dataset
load fisheriris
data = meas(:,1:2);
label = species;

%# fit GMM using EM
K = 2;
obj = gmdistribution.fit(data, K);

%# assign points to mixtures: argmax_k P(M(k)|data)
P = posterior(obj, data);
[~,mIDX] = max(P,[],2);

%# GMM components
obj.mu             %# means
obj.Sigma          %# covariances
obj.PComponents    %# mixture weights

%# visualize original data clusters
figure
gscatter(data(:,1), data(:,2), label)

%# visualize mixtures found
figure
gscatter(data(:,1), data(:,2), mIDX), hold on
ezcontour(@(x,y)pdf(obj,[x y]), xlim(), ylim())

entrer image description ici

Dans le cas contraire, consultez l'excellent Netlab Boîte à outils , comme il l'a la mise en œuvre GMM.

S'il vous plaît jeter un oeil à la page boîte à outils PMTK

Voici la mise en œuvre EM (Fit un mélange de gaussiennes où les données peuvent avoir des entrées NAN)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top