Keras와 Sklearn을 사용하여 내 NN의 하이퍼 파라미터를 최적화하려고합니다. KerasClassifier로 마무리하고 있습니다 (분류 문제 임). 숨겨진 레이어의 수를 최적화하려고합니다. 케라와 함께하는 방법을 알아 내지 못합니다. (실제로 숨겨진 레이어의 수를 최대화하기 위해 create_model 함수를 설정하는 방법이 궁금합니다) 아무도 도와 주실 수 없습니까?그리드 케라로 숨겨진 레이어 수 검색
내 코드 (단지 중요한 부분) :
## Import `Sequential` from `keras.models`
from keras.models import Sequential
# Import `Dense` from `keras.layers`
from keras.layers import Dense
def create_model(optimizer='adam', activation = 'sigmoid'):
# Initialize the constructor
model = Sequential()
# Add an input layer
model.add(Dense(5, activation=activation, input_shape=(5,)))
# Add one hidden layer
model.add(Dense(8, activation=activation))
# Add an output layer
model.add(Dense(1, activation=activation))
#compile model
model.compile(loss='binary_crossentropy', optimizer=optimizer, metrics=
['accuracy'])
return model
my_classifier = KerasClassifier(build_fn=create_model, verbose=0)# Create
hyperparameter space
epochs = [5, 10]
batches = [5, 10, 100]
optimizers = ['rmsprop', 'adam']
activation1 = ['relu','sigmoid']
# Create grid search
grid = RandomizedSearchCV(estimator=my_classifier,
param_distributions=hyperparameters) #inserir param_distributions
# Fit grid search
grid_result = grid.fit(X_train, y_train)
# Create hyperparameter options
hyperparameters = dict(optimizer=optimizers, epochs=epochs,
batch_size=batches, activation=activation1)
# View hyperparameters of best neural network
grid_result.best_params_
Keras 모델은 그 점에서 정적입니다. 당신은 많은 모델을 직접 만들고 어느 것이 더 잘 작동하는지 확인해야합니다. –