代價函式總結

2022-08-12 18:54:14 字數 1537 閱讀 1013

代價函式有助於我們弄清楚如何把最有可能的函式與我們的資料相擬合。比如在模型訓練中我們有訓練集(x,y),x表示房屋的面積,y表示房屋的**,我們要通過線性回歸得到乙個函式hθ(x)(被稱為假設函式),以x作為自變數,y作為因變數,用函式來**在給定的房屋面積下的**。

引數θ0和θ1的變化會引起假設函式的變化,引數的選擇決定了我們得到的直線相對於訓練集的準確度,用得到的模型**的值與訓練集中值的差距稱為建模誤差(即下圖中的藍色線)

我們的目標是選擇出使建模誤差的平方和最小的引數,在回歸分析中我們取代價函式為

,即使j(θ0,θ1)的值最小。

我們繪製乙個等高線圖,三個座標分別為θ0 和θ1和j(θ0,θ1 ):

則可以看出在三維空間中存在乙個使代價函式j(θ0,θ1)最小的點(即圖中的最低點)

代價函式也被稱作平方誤差函式,有時也被稱為平方誤差代價函式。我們之所以要求出誤差的平方和,是因為誤差平方代價函式,對於大多數問題,特別是回歸問題,都是乙個合理的選擇。還有其他的代價函式也能很好地發揮作用,但是平方誤差代價函式是解決回歸問題最常用的手段了。

機器學習中代價函式有很多,根據不同的問題,選用不同的代價函式,比如邏輯回歸使用對數代價函式,分類問題使用交叉熵作為代價函式。常用的損失函式如下:

那麼是不是代價函式越小越好呢?答案是 no

上面三個圖的函式依次為f1(x),f2(x),f3(x) 。我們是想用這三個函式分別來擬合真實值y,從上圖中我們可以看出圖三的函式f3(x) 擬合效果最好,因為其代價函式值最低。這時我們還要考慮經驗風險和結構風險。

那麼什麼是經驗風險和結構風險呢?

f(x)關於訓練集(x,y)的平均損失稱作經驗風險(empirical risk),即

。「結構風險」度量的是模型的某些性質,例如模型的複雜度或懲罰項等,結構風險引入在機器學習中稱為「正則化」,常用的有

,範數。最後來看,為什麼圖三中的函式f3(x)不是最好的,因為圖三的函式對訓練集資料過度擬合,造成過擬合現象,導致它真正的**效果 並不是很好。換句話說,雖然它的擬合效果很好,經驗風險低,但是其函式複雜度好,結構風險很高,所以它不是最終獲取的函式。而圖二函式對經驗風險和結構風險進行了折中,所以該函式才是理想的函式。

怎麼求解代價函式最小值呢?梯度下降法,這裡不贅述 ,後面會詳細講解

最後附上簡單的matlab線性擬合程式

x=[1:0.3:4];y=x*0.1+0.5+unifrnd(-0.5,0.5,1,11);  

p=polyfit(x,y,1);

x1=linspace(min(x),max(x));

y1=polyval(p,x1);

plot(x,y,'*',x1,y1);

代價函式 cost function

在監督學習的回歸問題中,代價函式就是用於找到最優解的目的函式,反應了 函式的準確性。代價函式的值越小,說明在回歸問題的中,電腦程式對資料擬合的越好。也就是假設函式越正確。比如,對於這個假設函式 可以看成是求房價的假設函式 代價函式是 也就是 值與真實值的差的平方和,再除以2m 2倍樣本數量 在假設函...

代價函式 Cost Function

1 代價函式是什麼?理解的代價函式就是用於找到最優解的目的函式,這也是代價函式的作用。2 代價函式作用原理 對於回歸問題,我們需要求出代價函式來求解最優解,常用的是平方誤差代價函式。比如,對於下面的假設函式 裡面有 0和 1兩個引數,引數的改變將會導致假設函式的變化,比如 現實的例子中,資料會以很多...

關於代價函式

代價函式 常用的有ssd sad和satd sad sum of absolute difference sae sum of absolute error 即絕對誤差和 satd sum of absolute transformed difference 即經hadamard變換後再絕對值求和 ...