一、什么是最小二乘法
最小二乘法(又称最小平方法)是一种数学优化技术。它通过最小化误差(真实目标对象与拟合目标对象的差)的平方和寻找数据的最佳函数匹配。利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小。
二、实战案例
下图是商家广告费与点击量之间散点图,假设存在这样一个前提:投入 的广告费越多,广告的点击量就越高,进而带来访问数的增加,但是他们之间并不是简单的线性关系。
现在问当广告费为200时,它的点击量是多少呢?我们可以先估计一下,取它前后的两个点,估计点击量时在400-600之间。再画图预测一下:
从这个图里面我们可以进一步猜测,大概是在500次左右。高中物理课堂上我们学过拟合函数,即根据给的x-y点,拟合出函数的表达式,为了研究的方便,这里我们就用最简单的一次函数来拟合吧:
通过我们的直觉判断,我们大致可以拟合成这样:
现在我们的目标只要求出θ0和θ1就可以啦!那这个θ0和θ1怎么求呢?我们可以假设θ0=1,θ1=2,那么这个表达式就变成:
这样的话,我们就可以将真实值与我们通过上面的y=1+2x计算出来的值相对比啦!
首先给出最小二乘法误差计算公式:
为了避免引起误解我先 说明一下:x(i) 和 y(i) 中的 i 不是 i 次幂的意思,而是指第 i 个训练数据。前面加上二分之一是为了微分计算方便,可以不加理会,记住这个公式就可以。所有我们上面的误差就可以计算了:
我们可以看到误差达到了112176.5,是一个很大数字,所以我们要做的事就是改变参数θ的值,使得误差E(θ)尽可能小,即修改参数 θ,使这个值变得越来越小。
就是的做法称为最小二乘法!是不是很简单,没有想象中的那么难。
三、总结
上述例子中,我们用一次函数拟合曲线,通过选择不同的参数θ使得误差E(θ)越来越小,则我们称拟合的效果也越来越好。这是比较理想的状态,一次函数是很简单的一种函数表达式,如果我们想要E(θ)更小,拟合效果更好,那么我们需要考虑更加复杂的函数表达式,这就是我们后面所要学习的神经网络——它可以拟合任何曲线!当然这是后话,我们的学习还在进行中!