stephencwelch/Neural-Networks-Demystified

Incorrect multiplication

daniel-deychakiwsky opened this issue · 1 comments

  def forward(self, X):
        #Propogate inputs though network
        self.z2 = np.dot(X, self.W1)
        self.a2 = self.sigmoid(self.z2)
        self.z3 = np.dot(self.a2, self.W2)
        yHat = self.sigmoid(self.z3) 
        return yHat

I think you may want to be doing z2 = np.dot(X, self.W1.T) instead of z2 = np.dot(X, self.W1) given your explanation of weights.

Unless numpy uses row vectors - then you should highlight that fact for your readers . . .