我們在上一篇文章討論過了很多跟“學習”相關的專有名詞,我們這次要來討論一些在訓練模型的時候會很長看到的名詞(沒錯,我們還在名詞解釋的階段。但是這次所提到的專有名詞會跟實際操作/評估模型上會比較有關。

What are learning models?

我們首先要討論的東西就是模型。我們上次說機器學習是透過大量的資料(“經驗”)來學習一個任務。這些模型會根據一個目標函數(Objective Function)來學習如何完成一個特定的任務(分類、回歸、分群、關聯法則等)。並希望未來套用模型到同一個的任務上,也可以表現得不錯。

剛剛提到了目標函數,也有人會稱它為 Loss Function 或 Cost Function。原則上這幾個名詞是有差別的,但大家在平時對話時都會交替使用。目標函數主要衡量兩個東西:

  • 損失(Loss): 衡量模型對訓練資料的表現(Measures how well the model fits on the training data)
  • 正規化(Regularization): 衡量模型的複雜度(Measures the complexity of the model)

Bias vs. Variance

我們在建造模型的時候會用 Bias 和 Variance 來形容一個模型有怎樣的失誤。如果我們的模型太複雜的話,會造成我們的模型 Variance 太高。而會在我們的訓練資料集 Overfit(在訓練資料表現得很好,而在測試資料表現得很差)。

如果我們的模型太簡單,則會造成我們模型過於 Biased。而會在我們的資料集 Underfit(無法做出穩定的判斷,換句話說就是亂猜啦)。

這也就是傳說中的 Bias-Variance Trade-off。我們會希望我們所訓練出來的模型會有適當的 Bias 和 Variance。

各位可以參考這個網站對 Bias 和 Variance 很白話精簡的視覺化圖。

Parameters? Hyperparameters

在建造模型的過程中,我們也會很常看到 Parameters 這個詞。Parameters 是我們在學習過程中所學到的東西;如果是類神經網路裡,就是我們的 Weight 和 Bias。而 Hyperparameters 是我們在學習前所設定的參數;例如:決策樹裡的 Tree Depth,類神經網路裡的 Learning Rate,Optimizer,Batch Size 等… Hyperparameters 的設定沒有一定的標準,而我們只能依據我們 Validation Set 的表現來調出最好的參數。

我們下一篇會談到評估模型的各種標準。敬請期待~

Leave a Reply

Your email address will not be published. Required fields are marked *