线性回归
回归是确定两种或两种以上变量之间的关系的分析方法。实际上就是预测,根据一种或者多种变量来预测其它变量的值。线性回归是人们最为熟练的一种模型,在线性回归中,因变量是连续的,自变量可以使连续的也可以是离散的。
线性回归使用的最佳的回归线(拟合线)在因变量和自变量之间建立起一种联系,使得人们可以根据自变量来预测因变量的值。
假设已知了m个点的分布情况,我们需要根据这些点的分布拟合出一条回归线。我们的回归线的形式为
利用最小二乘法求解
我们使用回归函数拟合数据点,必然会存在误差。那么,我们需要考虑,怎么样的回归线才是最好的回归线?最好的回归线首先肯定要确保数据点尽可能多的落在回归线上面。其次,对于不能落在回归线的点,我们肯定希望距离回归线近的点越多越好,离回归线远的点越少越好。最后,在最理想的情况下,对于不可能落在回归线上的点,那么高于回归线的点和低于回归线的点到回归线的距离相等,即正点和负点到回归线的距离相等(正点就是落在回归线上部的点,负点是落在回归线下部的点),我们肯定希望我们的回归线接近最理想的情况。
其实,从我们对于最佳回归线的期望来看,最佳的回归线使得样本的误差满足均值()为0(因为我们希望正负点到回归线的距离相等)的高斯分布。
红色部分是离回归线近的点,这部分我们希望尽可能的多。蓝色部分是离回归线远的点,这部分我们希望尽可能的少。
我们用表示回归函数的值与目标数据点之间的误差,则满足高斯分布:
(1)
即:
(2)
公式2是我们最为理想化的误差分布函数,我们需要尽可能的得到这个分布,在这个公式中,x和y都是给定的。因此,我们只能调整的值,使得我们尽可能的得到这个分布。因此我们使用极大似然函数函数来求的值。
首先我们写出似然函数:
使用极大似然函数求解:
(3)
我们需要求得的最大值,因此需要求得公式3后半部分的最小值,即:
(4)
我们需要做的是求得公式4的最小值:即求得
我们将公式4化为向量的形式:
(5)
求的驻点,并且使得驻点为0
补充内容:矩阵求导公式
梯度下降法
从数学的角度来看,梯度的方向是函数增长速度最快的方向,那么梯度的反方向就是函数减少最快的方向。如果想计算一个函数的最小值,就可以使用梯度下降的思想去做。
我们的目标是求 的最小值。因此我们需要沿着梯度的负方向进行迭代,求得的最小值。在线性回归中,x和y都是已知的。能够影响到误差的值的参数,因此在公式(4)中求得的最小值就可以得到的最小值。
具体算法如下:
(6)