使用成本函式將模型誤差降至最低

已完成

學習流程會重複變更模型,直到可以產生高品質的估計值為止。 為了判斷模型的執行效能,此學習程序使用數學,以成本函式的形式來衡量。 成本函式也稱為目標函式。 為了理解什麼是成本函式,讓我們稍微拆解一下此函式。

誤差、成本和遺失

在監督式學習中,誤差、成本和損失都會參考模型在預測一或多個標籤時所產生的錯誤數目。

這三個字詞在機器學習中的用法並不嚴謹,因此可能會造成混淆。 為了簡單起見,我們將在這裡交互使用它們。 成本是透過數學計算;其不是定性判斷。 例如,如果模型預測每日溫度將是 40°F,但實際值是 35°F,我們可能會說它有 5°F 的誤差。

我們的目標是將成本降至最低

因為成本代表模型的運作效果不佳,因此我們的目標是零成本。 換句話說,我們想要將模型定型,而不產生任何錯誤。 不過,這種概念通常不可能發生,因此我們將定型模型的目標設得較為含糊,以盡可能將成本降至最低。

基於這個目標,我們計算成本的方式代表著模型嘗試定型的內容。 在上述範例中,我們將成本定義為預估溫度的誤差。

何謂成本函式?

在監督式學習中,成本函式是一小段程式碼,會從模型的預測和預期的標籤 (正確答案) 計算成本。 例如,在先前的練習中,我們透過計算預測誤差、將其平方並進行加總來計算成本。

在成本函式計算出成本之後,我們就知道模型是否執行得宜。 如果執行得宜,我們可能會選擇停止定型。 如果執行得不好,我們可以將成本資訊傳遞給最佳化工具,這會使用此資訊來選取模型的新參數。

Diagram of the machine-learning lifecycle with labels, but without features.

在定型期間,不同的成本函式可能會變更定型所需的時間長度,或其運作成效。 例如,如果成本函式一直指出誤差很小,則最佳化工具將只會對模型進行小型變更。 另一個範例是,如果成本函式會在發生某些錯誤時傳回非常大的值,最佳化工具就會變更模型,使其不會產生這類錯誤。

一體適用的成本函式並不存在。 何者最佳,取決於我們嘗試達到的目標。 我們經常需要試驗成本函式,以取得我們滿意的結果。 我們會在下一個練習中進行這項實驗。