最小二乘法
最小二乘法的问题描述
Q&A
\[
E(\theta) = \frac{1}{2} \sum_{i=1}^n (y^{(i)}- f_\theta(x^{(i)}))^2
\]
\((i)\) 是指 第 i 个训练样本
Q: 为什么要计算误差的平方?
A: 若只是简单计算差值,就得考虑误差为负值的情况。比如 \(f_\theta(x)\) 图像如下,试想一下此情况下计算误差之和会得到什么结果?
中间以左的误差是负数,以右的误差是正数,二者相加正负相抵,结果接近0。
误差之和虽然为0,但是很明显这个水平方向的 \(f_\theta(x)\) 是不正确的,
因此,正数和负数的混合运算比较麻烦,所以为了让误差都为正数,才计算它们的平方,那为什么不用 绝对值 计算?
虽然是这样没错,但我们一般不用绝对值,而用平方,因为之后要对目标函数进行微分,比起绝对值,平方更容易微分,绝对值有的点不能计算,还必须分情况讨论。
Q:为什么整个表达式要乘以\(\frac{1}{2}\) ?
A: 这也和微分有关系,是为了让微分后的表达式更加简单而加的常数
Q: 为什么可以随便加乘以一个常数?不会影响结果吗?
A: 对于最优化问题,这样做是没有问题的,比如,在 \(f(x)=x^2\) 的函数图像中,使函数最小的 \(x\) 是 \(x=0\) ,而使 \(f(x)=\frac{1}{2}x^2\)
最小的 \(x\) 也是 \(x=0\) 。
只要乘以正常数,函数的形状就会被横线压扁或者纵向拉长,但函数本身取最小值的点是不变的。
补充
参考
感谢帮助!
《白话机器学习的数学》[日]立石贤吾
数据拟合的问题












