Logo elodees  elodees

Une IA bien-veillante pour un monde meilleur













Seuls les caractères alphabétiques accentués ou non ainsi que l'espace sont acceptés

Logo IA




MMG Regroupement du Modèle de Mélange Gaussien





Pas encore de compte ?

Inscrivez-vous pour accéder à tous les contenus




Un modèle de mélange gaussien est un modèle statistique exprimé selon une densité mélange.

Il sert à estimer paramétriquement la distribution de variables aléatoires en les modélisant comme une somme de plusieurs gaussiennes.

Il faut déterminer la variance, la moyenne et l'amplitude de chaque gaussienne.

Ces paramètres sont optimisés selon un critère de maximum de vraisemblance pour approcher le plus possible la distribution recherchée.

Cette procédure se fait le plus souvent itérativement via l'algorithme Maximisation des attentes.

Regroupement de maximisation des attentes


Les modèles de mélange gaussien sont réputés pour reconstruire de manière particulièrement efficace les données manquantes dans un jeu de données expérimentales.



Testé sous Anaconda et Python 3.7

from sklearn import mixture
 
import numpy as np
import matplotlib.pyplot as plt
 
mu_0 = 5.0
srd_0 = 2.0
 
data = np.random.randn(100000)
data = data * srd_0 + mu_0
 
data = data.reshape(-1, 1)
 
hx, hy, _ = plt.hist(data, bins=50, density=1,color="lightblue")
 
plt.ylim(0.0,max(hx)+0.05)
plt.title('Gaussian mixture example 01')
plt.grid()
 
plt.xlim(mu_0-4*srd_0,mu_0+4*srd_0)
 
plt.savefig("example_gmm_01.png", bbox_inches='tight')
plt.show()
 
gmm = mixture.GaussianMixture(n_components=1, covariance_type='full').fit(data)
 
print(gmm.means_)
print(np.sqrt(gmm.covariances_))
 
[[5.00715457]]
[[[1.99746652]]]
 
print(np.mean(data))
print(np.std(data))
 
4.998997166872173
2.0008903305868855
 
mu_1 = 2.0
srd_1 = 4.0
 
mu_2 = 10.0
srd_2 = 1.0
 
new_data = np.random.randn(50000)
data_1 = new_data * srd_1 + mu_1
 
new_data = np.random.randn(50000)
data_2 = new_data * srd_2 + mu_2
 
new_data = np.concatenate((data_1, data_2), axis=0)
 
new_data = new_data.reshape(-1, 1)
 
hx, hy, _ = plt.hist(new_data, bins=100, density=1,color="lightblue")
 
plt.title('Gaussian mixture example 02')
plt.grid()
 
plt.savefig("example_gmm_02.png", bbox_inches='tight')
plt.show()
 


Source : https://www.moonbooks.org/Articles/How-to-use-a-Gaussian-mixture-model-GMM-with-sklearn-in-python-/



Image gratuite et libre de droits fournie par pexel.com
Image gratuite et libre de droits fournie par pexel.com










Ingénierie des données


Apprentissage profond

Apprentissage automatique












Bienvenu, je m’appelle Eric Soupet et je suis l'administrateur du site elodees.com. elodees.com est un état de l'art de l'Intelligence Artificielle et se veut collaboratif, vous pouvez dès à présent proposer du contenu tels que des articles, des événements, des tutoriels, ... alors n'hésitez pas !

Crédit des images de la plate-forme : Pixabay - Pixabay License | Pexels - Pexels License