机器学习算法之线性回归(二)
上一篇我们说线性回归无非就是通过这个损失函数,做为评判标准来找出一条直线去拟合我们的数据,然后做出预测,今天我们就来说一说怎么去最小化这个损失函数,从而求得最佳得函数f(x).那我们先看看数学推导吧,嗯,可能需要大家去复习一下线性代数了。
首先,我们先考虑单组变量的情况:
,使得
我们呢,希望通过x预测的结果f(X)来估计y。其中w和b都是线性回归模型的参数。
所以呢,cost function就是:
接着呢,我们带入f(x)公式,得到:
这个值最小,那么我们就分别对ω,b求偏导,使其等于零,再求解方程就ok了。
求偏导后,得到下列两个式子:
因为ω,b,m都与i无关,所以可以提出来。得到
这好像只是一元的情况,我们推广到一般的情况,这样的话,同学们可能要复习一下线性代数了。
在多元的情况下,我们试图学得:
类似的,我们用最小二乘法来对ω,b进行估计,把ω,和b吸收进一个向量形式ω=(ω,b),把数据集D表示成一个m*(d+1)大小的矩阵X,其中每行对应一个示例,该行前d个元素对应示例中的d个属性,最后一个恒唯1,即:
再把样本标签也写成向量形式,y=(y1;y2;...;ym),则有;
令上式为零,即可求得ω的最优解的闭式解:
则最终学得的多元线性回归模型为: