這兩種形式本質上是等價的。只是mse計算得到的值比sse計算得到的值要小,因為除了乙個n。誤差平方和以及均方差的公式中有係數1/2,是為了求導後,係數被約去。
它們都是平方形式,乙個重要原因是:誤差的平方形式是正的,是正數。這樣正的誤差和負的誤差不會相互抵消。這就是為什麼不用一次方,三次方的原因。
但是,誤差的絕對值也是正的,為什麼不用絕對值呢。所有還有第二個重要原因是:平方形式對大誤差的懲罰大於小誤差。例如:
(10−5)2=25,|10−5|=5(10−5)2=25,|10−5|=5
(10−8)2=4,|10−8|=2(10−8)2=4,|10−8|=2
乙個是25:4,乙個是5:2,顯然平方形式對大誤差的懲罰更大。
此外,還有第三個重要原因:平方形式對數**算也更友好。我們經常要求損失函式的導數,平方形式求導後變成一次函式;而絕對值形式對求導數**算很不友好,需要分段求導。
此外,4次方,6次方,8次方雖然也能避免誤差正負相抵消,但對大誤差的懲罰又過大了;此外,求導後也仍然是多次函式。
參考:
損失函式為什麼用平方形式(二)
我們在以前談過 線性回歸損失函式為什麼要用平方形式 除了這篇文章中提到的理由外。還有什麼依據呢?平方形式的損失函式一般為 c 12 i 1n yi y i 2 這稱為sse the sum of squares due to error 誤差平方和。還有一種稱為mse mean squared er...
線性回歸損失函式為什麼要用平方形式
我們在前面的 線性回歸 中了解到,對於訓練資料樣本 x i,yi 我們有如下的擬合直線 y i 0 1 xi我們構建了乙個損失函式 c i 1 n yi y i 2表示每個訓練資料點 x i,yi 到擬合直線y i 0 1 xi的豎直距離的平方和,通過最小化這個損失函式來求得擬合直線的最佳引數 實際...
python為什麼用flask 為什麼用flask
flask是python在web開發領域乙個輕量級的框架,為什麼選擇flask呢?此文可能會給你答案。選擇flask的原因 1.微框架 簡潔 只做它需要做的,給開發展提供了很大的擴充套件性。2.flask和相關的依賴 jinja2 werkzeug 設計得非常優秀,用著簡單。3.開發效率非常高,比如...