最小二乘法

最小二乘法的问题描述

数据拟合的问题

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\)

只要乘以正常数,函数的形状就会被横线压扁或者纵向拉长,但函数本身取最小值的点是不变的。

补充

参考

感谢帮助!

  • 《白话机器学习的数学》[日]立石贤吾