什么是线性回归?
线性回归是在假设特征满足线性关系,根据给定的训练数据训练一个模型,并用此模型进行预测。其函数形式为:
向量的表达形式为:
线性回归模型是如何进行训练?
首先我们已经确定好了线性回归模型的形式了,训练的时候提供给我们的是数据,为了能够去拟合提供的数据,模型需要去改变参数的值,通过一定次数的迭代优化,最终找到了最优参数使得,一次次的迭代优化的过程便是模型的训练。
模型是根据什么进行训练?
目标函数,模型训练的目的是要最小化损失函数或者最大化预测概率。线性回归模型一般是最小化损失函数,它所用的损失函数可能是平方误差,即:
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
好的,大功告成
网友评论