The Math Forum

Search All of the Math Forum:

Views expressed in these public forums are not endorsed by NCTM or The Math Forum.

Math Forum » Discussions » Software » comp.soft-sys.matlab

Notice: We are no longer accepting new posts, but the forums will continue to be readable.

Topic: the math in classify.m
Replies: 7   Last Post: Dec 3, 2012 7:34 PM

Advanced Search

Back to Topic List Back to Topic List Jump to Tree View Jump to Tree View   Messages: [ Previous | Next ]

Posts: 11
Registered: 1/25/05
the math in classify.m
Posted: Aug 9, 2005 8:38 AM
  Click to see the message monospaced in plain text Plain Text   Click to reply to this topic Reply


In my thesis I'm using to classify data the Matlab 'classify'
function with linear discrimination. To see what the math behind it
is, I looked into the code and found this:

% Pooled estimate of covariance
[Q,R] = qr(training - gmeans(gindex,:), 0);
R = R / sqrt(n - ngroups); % SigmaHat = R'*R
s = svd(R);
if any(s <= eps^(3/4)*max(s))
error('The pooled covariance matrix of TRAINING
must be positive definite.');

% MVN relative log posterior density, by group, for
each sample
for k = 1:ngroups
A = (sample - repmat(gmeans(k,:), mm, 1)) / R;
D(:,k) = log(prior(k)) - .5*sum(A .* A, 2);

I dont know exactly, was is going on there. I expected to see
something like a multivariate Gauss distribution, like:

p(x|class) = 1/sqrt(2pi^d * |Sigma| ) * exp( (x-mu)Sigma^-1(x-mu))

or something similar to this. Could somebody verify this or explain
what kind of magic the programmer used (why qr decomposition?).
I'm also very interested how 'D' is calculated since I use this value
to show the distances of a sample to the different classes. Shouldn't
this be the probability density function of x for the different

Thanks in advance!

Point your RSS reader here for a feed of the latest messages in this topic.

[Privacy Policy] [Terms of Use]

© The Math Forum at NCTM 1994-2018. All Rights Reserved.