開始使用免費開始

調整最佳化參數

現在來動手進行最佳化吧。你將以非常低、非常高,以及「剛剛好」的學習率來嘗試最佳化模型。完成後請查看結果,並記得損失函式的值越低越好。

在這些練習中,我們已經幫你載入先前分類模型(預測誰能在鐵達尼號事件中倖存)所用的 predictors 與 target。每次更改學習率時,你都希望最佳化能從頭開始,才能公平比較不同學習率的效果。因此,我們提供了一個 get_new_model() 函式,用來建立尚未最佳化、可供你進行最佳化的模型。

本練習屬於課程

Python 深度學習入門

檢視課程

練習說明

  • tensorflow.keras.optimizers 匯入 SGD
  • 建立一個名為 lr_to_test 的學習率清單,用來嘗試最佳化。清單中的學習率應為 .0000010.011
  • 使用 for 迴圈走訪 lr_to_test
    • 使用 get_new_model() 函式建立一個新的、尚未最佳化的模型。
    • 使用 SGD() 建構子並以關鍵字引數 lr=lr 建立名為 my_optimizer 的最佳化器。
    • 編譯模型。將 optimizer 參數設為你建立的 SGD 物件;因為這是分類問題,loss 參數請使用 'categorical_crossentropy'
    • 使用 predictorstarget 來訓練模型。

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

# Import the SGD optimizer
____

# Create list of learning rates: lr_to_test
lr_to_test = ____

# Loop over learning rates
for lr in lr_to_test:
    print('\n\nTesting model with learning rate: %f\n'%lr )
    
    # Build new model to test, unaffected by previous models
    model = ____
    
    # Create SGD optimizer with specified learning rate: my_optimizer
    my_optimizer = ____
    
    # Compile the model
    ____
    
    # Fit the model
    ____
編輯並執行程式碼