2016-08-09 3 views
0

は、ニューラルネットニューラルネットシグモイド関数は、私が実行すると

import numpy as np 
import matplotlib.pyplot as plt 

class Neural_Network(object): 
def __init__(self):   
    #Define Hyperparameters 
    self.inputLayerSize = 2 
    self.outputLayerSize = 1 
    self.hiddenLayerSize = 3 

    #Weights (parameters) 
    self.W1 = np.random.randn(self.inputLayerSize, self.hiddenLayerSize) 
    self.W2 = np.random.randn(self.hiddenLayerSize, self.outputLayerSize) 

def forward(self, X): 
    #Propagate 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 

def sigmoid(z): 
    # apply sigmoid activation function 
    return 1/(1+np.exp(-z)) 

を通じていくつかのデータを伝播転送しようとしている「正確に1引数を(2が与えられた)かかり」エラー:私は実行TypeError: sigmoid() takes exactly 1 argument (2 given)

print NN.W1

私が手:[[ 1.034435 -0.19260378 -2.73767483] [-0.66502157 0.86653985 -1.22692781]]

(おそらく、これはあまりにも多くの次元を返すnumpyのドット機能に問題がある?)

*注:私はあなたがselfが欠落しているjupyterノートと%pylab inline

+0

あなたはスティーブン・ウェルチさん(_Welchlabs_)チュートリアルを通じてのANNを勉強していますか?私はすでにそのコードを見たと思います。 – ForceBru

+0

確かに、私のところでは純粋な監視をしていますが、 – mleafer

+0

このチュートリアルは絶え間なく素晴らしいです!私は自分自身から多くを学んだ。 [ANNsに関するこのオンラインブック](http://neuralnetworksanddeeplearning.com)もチェックすることができますが、多くの例があり、非常にきれいな説明があります。励ましてくれてありがとう! – ForceBru

答えて

1

で実行していますsigmoid関数の引数です。 def sigmoid(z): - >def sigmoid(self, z):。このself.sigmoid(self.z3)は、を有効に呼び出して、selfを第1のパラメータとして、self.z3を第2のパラメータとして呼び出しています。

(それか、あなたのコードのインデントは、コードが実行されるので、そう見えないオフになっている)

+0

omg、ありがとう、そんなに! – mleafer

関連する問題