问题描述
线性方程在生活的出现的比例很高,很多地方都可以出现它的身影。这些方程都是通过对实际数据的分析处理得来的,那么这些方程到底该如何确定呢?就像下面的散点图,如何通过它得到一个线性方程?
图1 大致符合线性方程的散点图
解决方案
对于上面的散点图,可以设一元线性方程:y=k*x+b,为了评价这里的系数k和b的好坏,一般可以采用求实际值和预测值的均方差MSE,当MSE达到最小值时,系数也就达到了最优,和实际情况最接近。
由均方差的定义可知:
可见MSE是一个关于k和b的二元一次方程,对于一元函数,图像是一个平面,十分常见,而二元函数的图像则是一个空间,可参见下图。
图2 二元函数f(x,y)图像
于是问题就转变成了找到MSE最小时对应的k和b。以简单的sin函数为例,观察函数图像可以发现任意函数值对应的xi值要想到达函数值最小时的位置x0,都需要向着梯度降低的方向移动。
图3 sin函数的部分图像
不妨设:
这里的r是一个衰减系数,也可以理解为自变量向理想值移动的系数。但是只经由一次计算是不准确的,因为这里的r是未知的,为了更加准确,只有将r尽可能地设置小,然后将得到x0的赋值给下一个xi,多次运算,使最终的结果尽可能的逼近真实值。
所以,对于MSE函数,我们也可以采取同样的操作,让k和b逼近真实值。
带入(1)式,结合复合函数的求导法则,可以得到:
有了上面两个式子,只要把把已知的数据带入(x,y),通过多次运算,就可以得到k0和b0。
结语
对于上述问题,分析了求解简单线性方程系数,这里的系数只有两个,但是这个方法同样适用于含有多个系数的函数问题,只要套用这个方法,得出系数向理想值靠拢的公式,也就能较准确的求出多个系数。
END
主 编 | 王文星
责 编 | 饶龙江
where2go 团队