我们在以前谈过《线性回归损失函数为什么要用平方形式》,除了这篇文章中提到的理由外。还有什么依据呢?
平方形式的损失函数一般为:
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次方虽然也能避免误差正负相抵消,但对大误差的惩罚又过大了;此外,求导后也仍然是多次函数。