Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何调整神经网络参数并交叉验证神经网络的性能[千层面]?_Python_Neural Network_Lasagne - Fatal编程技术网

Python 如何调整神经网络参数并交叉验证神经网络的性能[千层面]?

Python 如何调整神经网络参数并交叉验证神经网络的性能[千层面]?,python,neural-network,lasagne,Python,Neural Network,Lasagne,有没有一种方法可以通过编程来调整神经网络的NN参数,例如scikitlearn中的Gridsearch,或者我必须通过实验来调整它们,在千层面中一次改变一个?我知道有不同的经验法则来选择NN的参数,例如隐藏层的大小介于输入层大小和输出层大小之间等 此外,如何在千层面中执行交叉验证以衡量NN的性能?任何资源的链接都会有帮助 下面是我的千层面实现的NN输入数=6,输出数=1 X=pd.read_csv('....\Full_Data.csv') Y = X.pop("Eeg") X, Y = shu

有没有一种方法可以通过编程来调整神经网络的NN参数,例如scikitlearn中的Gridsearch,或者我必须通过实验来调整它们,在千层面中一次改变一个?我知道有不同的经验法则来选择NN的参数,例如隐藏层的大小介于输入层大小和输出层大小之间等

此外,如何在千层面中执行交叉验证以衡量NN的性能?任何资源的链接都会有帮助

下面是我的千层面实现的NN输入数=6,输出数=1

X=pd.read_csv('....\Full_Data.csv')
Y = X.pop("Eeg")
X, Y = shuffle(X, Y, random_state=13)
X = X.round(2)
Y = Y.round(2)
X_min= np.min(X)
X_max = np.max(X)
Y_min = np.min(Y)
Y_max = np.max(Y)
X = (X - X_min) / (X_max - X_min)
Y = (Y - Y_min) / (Y_max - Y_min)
X_train, X_test, y_train, y_test = train_test_split(X,Y,test_size=0.3,random_state=10)
X_train = np.array(X_train)
y_train = np.array(y_train)
X_test = np.array(X_test)
y_test = np.array(y_test)
import lasagne
net1= NeuralNet(
    layers=[
        ('input',layers.InputLayer),
        ('hidden',layers.DenseLayer),
        #('hidden2',layers.DenseLayer),
        ('output',layers.DenseLayer),],
        input_shape=(None,6),
        hidden_num_units=17,
        #hidden2_num_units=100,
        output_nonlinearity=lasagne.nonlinearities.tanh,
        output_num_units = 1,
        update=nesterov_momentum,
        update_learning_rate=0.01,
        update_momentum=0.9,
        regression=True,
        max_epochs=1000,
        verbose=1,)
net1.fit(X_train, y_train)

嗨,Coursera中有一个非常好的机器学习课程-。它是免费的,它解释了所有的基本知识和更多。我相信你可以在那里找到你问题的答案。至少,当我研究它的时候,有很多调整神经网络的技巧和窍门。嗨,博扬:谢谢你的回答。我正在寻找答案,以便可以使用Lasagne python完成交叉验证和参数调整。NN性能的度量是一个通用的主题,它不应该与您使用的语言无关。您是对的,可能有一些东西是用python实现的,但是如果没有,您可以从我推荐的课程中看到如何自己实现。好的,谢谢。有没有关于千层面交叉验证的想法?