1.线性回归
1.1原理
线性回归就是通过拟合已知的数据来得到一个线性模型,然后再利用线性模型来预测其他数据,使得预测结果接近真实值,达到预期目标。最后把真实值和预测值作比较,计算均方误差,求取均方误差最小时的一组值。
假设函数:
损失函数:
目标:
1.2算法思路
1.2.1最小二乘法
划分数据后,利用训练数据中特征部分构建矩阵X,标签列构建y,然后再利用公式计算θ。
1.2.2梯度下降
首先我们对回归系数进行初始化,令里面值全部为1,然后利用均方误差公式求取当前系数
下的梯度,再用当前系数的值减去梯度乘以学习率来更新
值,最后不断循环此操作,直到达到指定迭代次数为止,最终迭代停止时的系数即为回归方程的系数。其中,系数
的迭代公式为
1.3可能遇到的问题
- 特征归一化:一是能够提升模型的收敛速度,因为如果各个数据的量级差别很大的话,绘制出来的等高线图是扁平状的椭圆,这时候通过梯度下降法寻找梯度方向最终将走垂直于等高线的Z字形路线,迭代速度变慢。但是如果对特征进行归一化操作之后,整个等高线图将呈现圆形,梯度的方向是指向圆心的,迭代速度远远大于前者。二是能够提升模型精度。
- 学习率
的选取:学习率选取过小,会导致迭代次数较多,收敛次数变慢;学习率选取过大,有可能跳过最优解,导致最终根本无法收敛。
2.Lasso回归与岭回归
Lasso回归与岭回归是为了解决线性回归出现的过拟合以及在通过正规方程方法求解θ的过程中出现的不可逆这两类问题的, Lasso回归与岭回归通过在损失函数中分别引入L1正则项和L2正则项来达到目的。
线性回归损失函数:
Lasso回归损失函数:
岭回归损失函数:
其中λ称为正则化参数,如果λ选取过大,会把所有参数θ均最小化,造成欠拟合,如果λ选取过小,会导致对过拟合问题解决不当。
Lasso回归与岭回归最大的区别在于Lasso回归引入的是L1范数惩罚项,岭回归引入的是L2范数惩罚项,Lasso回归能够使得损失函数中的许多θ均变成0,这点要优于岭回归,因为岭回归是要所有的θ均存在的,这样计算量Lasso回归将远远小于岭回归。