你有沒有想過,模型到底該朝哪個方向學,才能知道自己有沒有進步? 你可以把損失函數想成,模型每次回答後被打出來的錯誤分數。 它其實就是衡量預測和真實答案差距的公式。 訓練時要做的事,就是把這個分數慢慢壓低。
你可以把它想成一個把抽象概念拉回日常判斷的提示,先知道它解決什麼問題,再看技術細節。
容易混淆
損失函數 vs 代價函數 損失函數看單筆樣本,代價函數看整體平均。 一個是單題成績,一個是總平均。
損失函數 vs 評估指標 損失函數是訓練用的方向盤,評估指標是驗證用的成績表。 模型優化時看前者,上線比較時常看後者。
最關鍵的區別: 訓練時看它,評分時不一定只看它。
記住這句就好
分數越低,代表模型越接近答案。
實際案例
影像分類訓練 每張圖都會算出一個誤差,損失函數把這些誤差變成可優化的方向。
推薦排序 排序模型常用不同的損失函數去拉開好結果和壞結果的差距。
算法與應用
不同任務會用不同損失,例如分類常見交叉熵,回歸常見均方誤差。 訓練演算法就是在最小化這個函數,讓預測越來越接近真實值。 如果損失設計不對,模型很可能學偏。
情境判斷
Q1(直覺題): 模型訓練時一直在優化的核心數字是什麼?
就是損失函數,它告訴模型現在離答案有多遠。
Q2(判斷題): 只要損失函數下降,模型就一定能在真實世界表現很好嗎?
不一定,還要看資料品質、過擬合和評估指標。
常見問題
損失函數和代價函數可以互換嗎?
很多時候可以口語互說,但嚴格來看,代價函數更偏整體平均。
損失函數一定要可微分嗎?
大多數基於梯度的方法都需要可微分,這樣才方便更新參數。
損失函數是不是越小越好?
在訓練集上通常是,但還要看驗證集表現,不能只追訓練分數。