Skip to content

Commit 1d78c58

Browse files
committed
stopped using inv to get matrix inverse and use \ operator instead. Possible performance gains.
1 parent d15aaa8 commit 1d78c58

File tree

2 files changed

+8
-5
lines changed

2 files changed

+8
-5
lines changed

classifiers/discriminant_classifiers/discriminant_classifiers.m

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
if LDA
2323
e0=(preds(:,i)-params.mu0);
2424
e1=(preds(:,i)-params.mu1);
25-
yhat.LDA(i)=e0'*params.InvSig*e0 - params.lnprior0 > e1'*params.InvSig*e1 - params.lnprior1;
25+
yhat.LDA(i)=e0'*(params.Sig\e0) - params.lnprior0 > e1'*(params.Sig\e1) - params.lnprior1;
2626
end
2727

2828
if dLDA
@@ -34,7 +34,7 @@
3434
if QDA
3535
e0=(preds(:,i)-params.mu0);
3636
e1=(preds(:,i)-params.mu1);
37-
yhat.QDA(i)=e0'*params.InvSig0*e0 - params.lnprior0 > e1'*params.InvSig1*e1 - params.lnprior1;
37+
yhat.QDA(i)=e0'*(params.Sig0\e0) - params.lnprior0 > e1'*(params.Sig1\e1) - params.lnprior1;
3838
end
3939

4040
if dQDA

classifiers/discriminant_classifiers/get_discriminant_params.m

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,8 @@
1313
end
1414

1515
if isfield(discrim,'LDA')
16-
params.InvSig=inv(Sig);
16+
%params.InvSig=inv(Sig);
17+
params.Sig=Sig;
1718
end
1819

1920
if isfield(discrim,'dLDA')
@@ -37,8 +38,10 @@
3738
Sig0=cov(x(:,inds.y0trn)');
3839
Sig1=cov(x(:,inds.y1trn)');
3940
if isfield(discrim,'QDA')
40-
params.InvSig0=inv(Sig0);
41-
params.InvSig1=inv(Sig1);
41+
params.Sig0=Sig0;
42+
params.Sig1=Sig1;
43+
%params.InvSig0=inv(Sig0);
44+
%params.InvSig1=inv(Sig1);
4245
end
4346
if isfield( discrim,'dQDA' )
4447
params.InvdSig0 = diag(diag(Sig0).^-1);

0 commit comments

Comments
 (0)