MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

# Bayesian Network trainbr: Effective number of parameters

Asked by Sree Srinivasan on 27 Feb 2013
Latest activity Answered by Greg Heath on 23 Feb 2014 at 9:05

While training a simple network using Matlab trainbr (maximum parameters 22, effective parameters 6), I noticed that the weights and biases, 22 in all, have finite values after initialization AND after convergence. I'd have expected only "effective" 6 converged weights (and biases), with the rest being zero or NaN.

The trainbr source code shows how the effective number of parameters (gamk) is calculated, but offers no clues as to why the full suite of parameters is still populated (22 in my case) even after the code declares convergence. If only some of the parameters are ultimately effective (6 in my case), why aren't the rest of the parameters zero or undefined?

Thanks in advance for any insights

Sree Srinivasan on 4 Apr 2013

Nobody has answered this so far, but a tentative solution: At convergence, BRANN weights and biases are not unique; i.e. some weights are equal to others. So, the effective parameters gamk consist of the unique set of weights and biases. In the first hidden layer, this means BRANN is classifying the input descriptors into gamk clusters and applying the same weight to all the descriptors in each cluster.

Alexander Nazarov on 28 Nov 2013

Hello! At some moment of training, gamk begins highly jittering, and sometimes take negative values. Is that normal?

## Products

No products are associated with this question.

Answer by Greg Heath on 23 Feb 2014 at 9:05

If you use 22 parameters and trainbr says the number of effective parameters is six

` 1. I don't think that means you can discard 16 of them without more training.`
` 2. It may not even mean that if you started with six, you could obtain an acceptable design.`

This is just conjuncture. However, if oucan find an example, please post.

Hope this helps.

Thank you for formally accepting my answer

Greg