We have clarified some of the instructions to miniproject 2, part 2 (Hopfield) with:
- explanation how the weights should be calculated using the patterns produced by pattern_tools. Pattern_tools gives patterns in matrix form. Before using them, they need to be reshaped into vectors. You can use Numpy's flatten() function for this.
- explanation how to calculate M_max. This is simply the maximum number of patterns that can be retrieved. You can use Numpy's max() function on the c-vector.
- we state more clearly that there should be no self-weights (w_ii = 0)
- it's stated more clearly that the network size should be N=100 in exercise 2.2-2.4.
To get an intuition regarding the capacity of a Hopfield network with 50% activity, see the example in the grey box in section 17.2.4 in the textbook.