Python 如何调整神经网络参数并交叉验证神经网络的性能[千层面]?
有没有一种方法可以通过编程来调整神经网络的NN参数,例如scikitlearn中的Gridsearch,或者我必须通过实验来调整它们,在千层面中一次改变一个?我知道有不同的经验法则来选择NN的参数,例如隐藏层的大小介于输入层大小和输出层大小之间等 此外,如何在千层面中执行交叉验证以衡量NN的性能?任何资源的链接都会有帮助 下面是我的千层面实现的NN输入数=6,输出数=1Python 如何调整神经网络参数并交叉验证神经网络的性能[千层面]?,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
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实现的,但是如果没有,您可以从我推荐的课程中看到如何自己实现。好的,谢谢。有没有关于千层面交叉验证的想法?