Cursera: machine learning ex8.
This commit is contained in:
22
machine_learning/mlclass-ex8-008/mlclass-ex8/multivariateGaussian.m
Executable file
22
machine_learning/mlclass-ex8-008/mlclass-ex8/multivariateGaussian.m
Executable file
@@ -0,0 +1,22 @@
|
||||
function p = multivariateGaussian(X, mu, Sigma2)
|
||||
%MULTIVARIATEGAUSSIAN Computes the probability density function of the
|
||||
%multivariate gaussian distribution.
|
||||
% p = MULTIVARIATEGAUSSIAN(X, mu, Sigma2) Computes the probability
|
||||
% density function of the examples X under the multivariate gaussian
|
||||
% distribution with parameters mu and Sigma2. If Sigma2 is a matrix, it is
|
||||
% treated as the covariance matrix. If Sigma2 is a vector, it is treated
|
||||
% as the \sigma^2 values of the variances in each dimension (a diagonal
|
||||
% covariance matrix)
|
||||
%
|
||||
|
||||
k = length(mu);
|
||||
|
||||
if (size(Sigma2, 2) == 1) || (size(Sigma2, 1) == 1)
|
||||
Sigma2 = diag(Sigma2);
|
||||
end
|
||||
|
||||
X = bsxfun(@minus, X, mu(:)');
|
||||
p = (2 * pi) ^ (- k / 2) * det(Sigma2) ^ (-0.5) * ...
|
||||
exp(-0.5 * sum(bsxfun(@times, X * pinv(Sigma2), X), 2));
|
||||
|
||||
end
|
||||
Reference in New Issue
Block a user