為調參準備模型
來為一個能有效分類「乳癌資料集」的二元分類模型調整超參數。
你已經看過,將模型轉成 sklearn 估計器的第一步,是撰寫一個用來建立模型的函式。這個函式的定義很重要,因為超參數調整會透過改變此函式所接收的引數來完成。
請撰寫一個簡單的 create_model() 函式,並讓它同時接收學習率與啟動函式作為引數。Adam 最佳化器已從 tensorflow.keras.optimizers 以物件形式匯入,所以你也可以變更它的學習率參數。
本練習屬於課程
Keras 深度學習入門
練習說明
- 將
Adam最佳化器物件的學習率設為引數所傳入的值。 - 將隱藏層的啟動函式設為引數所傳入的值。
- 在
.compile()方法中傳入該最佳化器與二元交叉熵損失。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Creates a model given an activation and learning rate
def create_model(learning_rate, activation):
# Create an Adam optimizer with the given learning rate
opt = Adam(lr = ____)
# Create your binary classification model
model = Sequential()
model.add(Dense(128, input_shape = (30,), activation = ____))
model.add(Dense(256, activation = ____))
model.add(Dense(1, activation = 'sigmoid'))
# Compile your model with your optimizer, loss, and metrics
model.compile(optimizer = ____, loss = ____, metrics = ['accuracy'])
return model