最小二乘法

最小二乘法的问题描述

数据拟合的问题

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\) 。 只要乘以正常数,函数的形状就会被横线压扁或者纵向拉长,但函数本身取最小值的点是不变的。 补充 参考 感谢帮助! 《白话机器学习的数学》[日]立石贤吾