
This function creates a Gaussian mixture model as an object of S3 class
gmm
. A Gaussian mixture model is a weighted sum of multivariate
Gaussian distributions:
gmm
class is also used to work with
conditional Gaussian mixture models (see function conditional
to explicit their parameters). Finally, note that a one-component Gaussian
mixture model can be created with function add_var
(by passing
NULL
as argument gmm
), which allows to quickly initialize a
gmm
object that can be passed to a learning function.
gmm(alpha, mu, sigma, var = rownames(mu))
A list of class gmm
containing the elements alpha
,
mu
and sigma
passed as arguments (completed with the variable
names passed as argument var
).
A positive numeric vector containing the mixture proportions. If the sum of these proportions is not 1, a normalization is performed by dividing them by this sum.
A numeric matrix containing the mean vectors bound by column.
A list containing the covariance matrices.
A character vector containing the variable names (by default the
row names of mu
).
Bilmes, J. A. (1998). A Gentle Tutorial of the EM Algorithm and its Application to Parameter Estimation for Gaussian Mixture and Hidden Markov Models. Technical report, International Computer Science Institute.
gmbn
, gmdbn
gmm_1 <- gmm(alpha = c(0.2, 0.5, 0.3),
mu = matrix(c(109, 91, 44, 160, 41, 99, 87, 27, 173, 40, 86, 65,
35, 161, 40),
nrow = 5),
sigma = list(matrix(c(208, 240, 32, 17, -6, 240, 378, 40, 55, -38,
32, 40, 15, -2, 1, 17, 55, -2, 47, -13, -6,
-38, 1, -13, 127),
nrow = 5),
matrix(c(242, 270, 82, 10, 49, 270, 363, 83, 44, 19,
82, 83, 38, -2, 15, 10, 44, -2, 45, -7, 49,
19, 15, -7, 137),
nrow = 5),
matrix(c(109, 102, 41, 11, 29, 102, 128, 34, 38, 10,
41, 34, 36, -9, 16, 11, 38, -9, 56, -5, 29,
10, 16, -5, 138),
nrow = 5)),
var = c("WAIST", "WEIGHT", "FAT", "HEIGHT", "AGE"))
Run the code above in your browser using DataLab