Linear Bayes Normal Classifier (BayesNormal_1)
[W,R,S,M] = LDC(A,R,S,M)
Computation of the linear classifier between the classes of the dataset A by assuming normal densities with equal covariance matrices. The joint covariance matrix is the weighted (by a priori probabilities) average of the class covariance matrices. R and S (0 <= R,S <= 1) are regularisation parameters used for finding the covariance matrix G by
G = (1-R-S)*G + R*diag(diag(G)) + S*mean(diag(G))*eye(size(G,1))
This covariance matrix is then decomposed as
G = W*W' + sigma^2 * eye(K)
where W is a K x M matrix containing the M leading principal components and sigma^2 is the mean of the K-M smallest eigenvalues. The use of soft labels is supported. The classification A*W is computed by NORMAL_MAP.
If R, S or M is NaN the regularisation parameter is optimised by REGOPTC. The best result are usually obtained by R = 0, S = NaN, M = , or by R = 0, S = 0, M = NaN (which is for problems of moderate or low dimensionality faster). If no regularisation is supplied a pseudo-inverse of the covariance matrix is used in case it is close to singular.
Note that A*(KLMS(,N)*NMC) performs a similar operation by first pre-whitening the data in an N-dimensional space, followed by the nearest mean classifier. The regularisation controlled by N is different from the above in LDC as it entirely removes small variance directions.
To some extend LDC is also similar to FISHERC.
a = gendatd; % generate Gaussian distributed data in two classes
1. R.O. Duda, P.E. Hart, and D.G. Stork, Pattern classification, 2nd edition, John Wiley and Sons, New York, 2001.