損失函式為什麼用平方形式(二)

2021-08-07 14:46:15 字數 922 閱讀 6047

我們在以前談過《線性回歸損失函式為什麼要用平方形式》,除了這篇文章中提到的理由外。還有什麼依據呢?

平方形式的損失函式一般為: c=

12∑i

=1n(

yi−y

ˆi)2

這稱為sse(the sum of squares due to error),誤差平方和

還有一種稱為mse(mean squared error),均方差。 c=

12n∑

i=1n

(yi−

yˆi)

2 這兩種形式本質上是等價的。只是mse計算得到的值比sse計算得到的值要小,因為除了乙個n。誤差平方和以及均方差的公式中有係數1/2,是為了求導後,係數被約去。

它們都是平方形式,乙個重要原因是:誤差的平方形式是正的,是正數。這樣正的誤差和負的誤差不會相互抵消。這就是為什麼不用一次方,三次方的原因。

但是,誤差的絕對值也是正的,為什麼不用絕對值呢。所有還有第二個重要原因是:平方形式對大誤差的懲罰大於小誤差。例如:(10

−5)2

=25,|

10−5|

=5 (

10−8)

2=4,

|10−8

|=2

乙個是25:4,乙個是5:2,顯然平方形式對大誤差的懲罰更大。

此外,還有第三個重要原因:平方形式對數**算也更友好。我們經常要求損失函式的導數,平方形式求導後變成一次函式;而絕對值形式對求導數**算很不友好,需要分段求導。

此外,4次方,6次方,8次方雖然也能避免誤差正負相抵消,但對大誤差的懲罰又過大了;此外,求導後也仍然是多次函式。

損失函式為什麼用平方形式

這兩種形式本質上是等價的。只是mse計算得到的值比sse計算得到的值要小,因為除了乙個n。誤差平方和以及均方差的公式中有係數1 2,是為了求導後,係數被約去。它們都是平方形式,乙個重要原因是 誤差的平方形式是正的,是正數。這樣正的誤差和負的誤差不會相互抵消。這就是為什麼不用一次方,三次方的原因。但是...

線性回歸損失函式為什麼要用平方形式

我們在前面的 線性回歸 中了解到,對於訓練資料樣本 x i,yi 我們有如下的擬合直線 y i 0 1 xi我們構建了乙個損失函式 c i 1 n yi y i 2表示每個訓練資料點 x i,yi 到擬合直線y i 0 1 xi的豎直距離的平方和,通過最小化這個損失函式來求得擬合直線的最佳引數 實際...

為什麼用指標 二

是的,a 和 b 的值倒過來了,為什麼呢?看程式 給 tmp 付給了 a的值 10 給a 付給了 b 的值 5 給 b 付給了 tmp 的值10 所以a 和 b 值倒過來了 void swap int a,int b intmain 怎樣才能用函式交換a 和 b 的值呢?用指標 看程式三 把 a,b...