4.2 代價函數
代價函數也稱為損失函數,英文稱為Loss Function或Cost Function,有些地方我們會看到使用loss表示代價函數的值,有些地方我們會看到用cost表示代價函數的值。為了統一規范,本書中我們統一使用代價函數這個名字,英文使用loss。
代價函數并沒有準確的定義,一般我們可以理解為是一個人為定義的函數,我們可以利用這個函數來優化模型的參數。最簡單且常見的一個代價函數是均方差(Mean-Square Error, MSE)代價函數,也稱為二次代價函數:
矩陣可以用大寫字母來表示,這里的T表示真實標簽,Y表示網絡輸出,i表示第i個數據。N表示訓練樣本的個數(注意,這里的N是一個大于0的整數,不是矩陣)
T-Y可以得到每個訓練樣本與真實標簽的誤差。誤差的值有正有負,我們可以求平方,把所有的誤差值都變成正的,然后除以2N。這里的2沒有特別的含義,主要是我們對均方差代價函數求導的時候,式(4.2)中的2次方的2可以跟分母中的2約掉,使得公式推導看起來更加整齊簡潔。除以N表示求每個樣本誤差平均的平均值。
公式可以用矩陣形式來表達,也可以拆分為用Σ來累加各個訓練樣本的真實標簽與網絡輸出的誤差的平方。