目標函數 是什麼?

Objective Function — 目標函數 的完整解釋

目標函數是機器學習模型訓練中用於評估模型表現的函數,其數值代表模型預測與實際值的差距,優化目標是最小化或最大化此函數。

容易混淆

目標函數 vs 損失函數 目標函數:整體要優化的東西 損失函數:衡量單筆或一批樣本誤差的量 最關鍵的區別:先看它是在比什麼,再看它怎麼做。

目標函數 vs 評估指標 目標函數:訓練時拿來更新參數 評估指標:訓練後拿來看表現 最關鍵的區別:先看它是在比什麼,再看它怎麼做。

記住這句就好

訓練要追的總分,就是目標函數。

實際案例

分類模型 把交叉熵設成目標函數,模型就會想把錯分類降到最低。

推薦排序 把點擊或排序品質寫進目標函數,模型就會朝業務想要的方向學。

算法與應用

目標函數可以是最小化形式,也可以是最大化形式。 很多時候它會由多個損失項組成,再加上正則化項。 設計得好,模型學到的方向就對;設計錯,模型可能只是努力追錯目標。

情境判斷

Q1(直覺題):你把交叉熵放進訓練流程,模型在優化什麼? → 目標函數,也就是訓練時真正要追的分數。

Q2(判斷題):訓練時損失一直下降,但線上業務指標沒變好,問題可能在哪? → 目標函數和真正業務目標沒對齊。

相關術語

常見問題

目標函數和損失函數有什麼差別?

目標函數更廣,損失函數通常是其中一部分。

它一定要是單一數值嗎?

訓練時通常要能轉成單一可優化目標。

怎麼知道設得好不好?

看它是否和真正任務、業務、或評估指標對齊。