代價函數 是什麼?
Cost Function — 代價函數 的完整解釋
代價函數是所有訓練樣本損失函數的平均值,用於評估模型在整個訓練集上的表現,並作為優化算法的目標。
容易混淆
objective-function vs 損失函數 (Loss Function):損失函數像一道單獨的「考題分數」,它只衡量模型在一個樣本上的預測錯誤程度;代價函數則是所有考題分數的「平均值」,它提供一個整體性的指標,告訴你模型在整個訓練集上的平均表現如何,是模型優化的最終目標。 常見混淆:代價函數 vs objective-function 目的函數看的是整體要最小化或最大化的目標,代價函數是其中用來衡量誤差的核心部分。
記住這句就好
看整體平均誤差,不是只看一題。
實際案例
垃圾信分類 每封信都有一個誤差,代價函數把整批信件的誤差平均後,讓模型知道要往哪裡修正。 房價預測 模型對每個房子的預測都會有偏差,代價函數把偏差統整成一個數字。
算法與應用
- 損失函數看單筆資料,代價函數看整個資料集的平均結果。
- 梯度下降會依照代價函數的變化方向更新參數,讓總誤差慢慢下降。
- 如果代價函數設計不對,模型可能學得很慢,或是學到不符合任務目標的方向。
情境判斷
Q1:模型在某一筆資料上錯很多,但整體平均誤差不高,這代表什麼? → 代表單筆表現可能不好,但整體訓練目標還算穩定,要再看是不是少數樣本特別難。 Q2:如果代價函數下降很慢,你會先懷疑什麼? → 先看學習率、特徵尺度和損失設計,因為這些都會影響下降速度。
相關術語
常見問題
代價函數和損失函數有什麼區別?
損失函數衡量的是單個樣本的預測誤差,而代價函數衡量的是整個訓練集上的平均誤差。代價函數是所有訓練樣本損失函數的平均值或總和,用於評估模型的整體性能。
為什麼代價函數需要可微分?
為了使用梯度下降等優化算法,代價函數通常需要是可微分的。可微分性允許我們計算代價函數對模型參數的梯度,並利用梯度信息來更新參數,從而最小化代價函數。
如何防止過擬合?
可以使用正則化等方法來防止過擬合。正則化通過在代價函數中添加正則化項,限制模型參數的大小,從而提高模型的泛化能力。此外,還可以使用交叉驗證等技術來評估模型的泛化能力。