线性回归模型
Last updated
Last updated
给定数据集,,其中,,线性回归模型试图学到一个通过属性的线性组合来进行预测的函数,即
一般用向量写成:
其中,,使得。
如何确定和呢,显然关键在于如何衡量与之间的差别。均方误差是最常用的性能度量,因此我们可以试图让均方误差最小化,即:
均方误差有非常好的几何意义,它对应了常用的欧几里得距离或简称“欧氏距离”(Euclidean distance)。基于均方误差最小化来进行模型求解的方法称为“最小二乘法”(least square method)。在线性回归中,最小二乘法是试图找到一条直线,使得所有样本到直线上的欧氏距离之和最小。
对其求导,可得:
得到梯度向量:
假定:
则:
于是得到:
欲求的最优解,令梯度为0,
则得到:
于是最终得到线性模型:
4)转到步骤(3),一直到满足一定条件,或者迭代到足够的次数。
在批量梯度下降算法中,每一步的迭代都需要计算所有样本,当样本数较大时,计算量会很大。
将上面的步骤(3)改为:
一直到迭代到足够的次数。
求解和,使最小化的过程,称为线性回归模型的最小二乘“参数估计”(parameter estimation)。令,,则,,原式转换为:
,,
令一方面也可以表示成:
对求导,同样可以得到梯度。
令,称为伪逆(seudo-inverse),代入得到。
计算,直接得到模型
但是计算矩阵的逆是非常费时的事情,,因此当特征数量比较多时,偏向于用梯度下降法。
输入:训练数据集,其中,,,学习率;
输出:和,模型
1)将输入的每个转换成,令,则输出为
2)选取初始
3)计算梯度,这里略去系数2,其中为第次迭代的结果,则第迭代:
3) 随机选取某个样本,则: