线性回归模型原理与推导

2018-10-09  本文已影响0人  wenyilab

什么是线性回归?

线性回归是在假设特征满足线性关系,根据给定的训练数据训练一个模型,并用此模型进行预测。其函数形式为:
f(x)=w_1x_1+w_2x_2+...+w_ix_i+b(1)
向量的表达形式为:
f(x) = w^T + b (2)

线性回归模型是如何进行训练?

首先我们已经确定好了线性回归模型的形式了,训练的时候提供给我们的是数据{(x_1,y_1),(x_2,y_2)\ldots(x_n,y_n)},为了能够去拟合提供的数据,模型需要去改变参数w,b的值,通过一定次数的迭代优化,最终找到了最优参数w^*,b^*使得y = w^*x+b^*,一次次的迭代优化的过程便是模型的训练。

模型是根据什么进行训练?

目标函数,模型训练的目的是要最小化损失函数或者最大化预测概率。线性回归模型一般是最小化损失函数,它所用的损失函数可能是平方误差,即:

wenyilab

如何使这个目标函数最小呢?

可以对这个函数进行求导,首先我们需要将模型公式代入目标函数中:

wenyilab
我们希望这个函数在 wenyilab
wenyilab
很明显,公式中的参数m,b,w都与i无关,简化时可以直接提出来。
令这两个偏导等于0,求解方程组,解得:
wenyilab
wenyilab
这样我们通过提供的数据求出 wenyilab

那么标签矩阵可以用mx1来表示:


wenyilab
为了构建线性模型,我们还需要1xn的参数矩阵:
wenyilab
(当然还需要有bias,为了推导方便没有加)

所以我们的线性模型为:


wenyilab
h(x)表示假设,即hypothesis。通过矩阵乘法,我们知道结果是一个n×1的矩阵。 跟前面推导单变量的线性回归模型时一样,列出目标函数:
wenyilab
这里的1/2并无太大意义,只是为了求导时能将参数正好消掉而加上。目标函数代表了误差,我们希望它尽可能地小,所以要对它求偏导并令偏导数为0,求解方程。
在求偏导之前先展开一下:
wenyilab
wenyilab
在求导之前,提供几个常见的矩阵求导公式: wenyilab
wenyilab
wenyilab

接下来开始对目标函数求关于参数的偏导:


wenyilab
wenyilab
最后简化为:
wenyilab

令偏导为0:


wenyilab
最后求出参数解:
wenyilab
好的,大功告成
上一篇下一篇

猜你喜欢

热点阅读