I use lasso to perform regularized regression on the weights of the output layer of an ELM.
[OutputWeight FitInfo] = lasso(H',T','Lambda',[2 1 0.5 0.3],'Alpha',0.1);
[minMSE, minLidx] = min(FitInfo.MSE) ;
OutputWeight = OutputWeight(:,minLidx);
However the MSE I get from the lasso function is different (much less, around 2-3 orders of magnitude) than the MSE when I perform
Y=(H' * OutputWeight)';
Tr_error = mse(T-Y)
Any idea why this happens?
In the above notations, T is tha targets, and Y the output of the network