as in the screenshot attached, w1_1 = np.array([1, 2])

so, w1_1 is set of 2 values to be optimized, where as I understood that as ‘w1_1’ is a weight attached to that particular node1 in layer1 there would be only one starting value attached which shall be further optimized.

is my intuition about ‘one value per weight’ correct?

We use w1_1 to represent weights for the first node in the first layer. If our input data has n features, then this node has n weight values.

In your screen capture, the x has n=2 features (which are 200 and 17), so w1_1 has 2 weight values (which are 1 and 2).

Is my explanation different from your intuition?

Cheers,

Raymond

So simple but missed it.

@rmwkwok

Any pointers to keep my first from the scratch implementation of ANN with numpy python simple but efficient enough for further tweaks later on.

Thanks much

PS: Google gave me fully connected partially connected etc but not quite familiar with those terms at this stage of my course

Hello, I think the first step is to use vectorization throughout your implementation. Then I would replace repeated blocks of code with function so that I can repeat calls to the function instead of repeat the code itself. These are some general tips.

At some point it will be helpful to redefine elements of your ANN to different objects, and build python classes for them, but I won’t consider it until I know what tweaks I am going to add.

Cheers,

Raymond

PS: Please also be familiar with the Tensorflow framework.