机器学习总结
机器学习总结(1)-- 对于机器学习的理解
机器学习总结(2)-- KNN(k-NearestNeighbor)
机器学习总结(3)-- 线性回归(linear regression)
文章目录
线性回归(linear regression)
定义
线性回归是利用数理统计中回归分析,来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法。
工作原理
算式表达的线性模型
- 矩阵运算表达的线性模型
最小二乘法求解
- 方程推导过程
梯度下降求解
- 通过不断小步长更新变量向梯度减小的方向移动
- 针对多系数情况,梯度下降应用广泛,求得数值解,但受步长影响求值速度不确定,且可能产生梯度爆炸。
优点
- 思想简单,实现容易。建模迅速,对于小数据量、简单的关系很有效
- 是许多强大的非线性模型的基础
- 线性回归模型十分容易理解,结果具有很好的可解释性,有利于决策分析。
- 蕴含机器学习中的很多重要思想。
- 能解决回归问题
缺点
- 对于非线性数据或者数据特征间具有相关性多项式回归难以建模
- 难以很好地表达高度复杂的数据
改进策略
岭回归(Ridge Regression)
针对高方差,即过拟合的模型,解决办法之一就是对模型进行正则化:限制参数大小,当线性回归过拟合时,权重系数 w j w_j wj就会非常的大,岭回归就是要解决这样的问题。
- 公式:
l = 1 2 m ∑ i − 1 m ( y i − ∑ j w j x j i ) 2 + λ 2 ∑ j w j 2 l = \frac{1}{2m}\sum_{i-1}^{m}(y^{i}-\sum_{j}^{}w_{j}x_{j}^{i})^{2}+\frac{\lambda }{2}\sum_{j}w_{j}^{2} l=2m1∑i−1m(yi−∑jwjxji)2+2λ∑jwj2 - 而岭回归中L2正则项不具备这个功能,它只会讲一些无关特征的系数降到一个较小的值,但不会降为0。并且L2正则有解析解,L1没有.
套索回归(Lasso Regression)
- Lasso回归和岭回归类似,不同的是,Lasso可以理解为在线性回归基础上加入一个L1正则项,同样来限制W不要过大。其中λ>0,通过确定λ的值可以使得模型在偏差和方差之间达到平衡,随着λ的增大,模型的方差减小,偏差增大。
- 公式:
l = 1 2 m ∑ i − 1 m ( y i − ∑ j w j x j i ) 2 + λ ∑ j ∣ w j ∣ l = \frac{1}{2m}\sum_{i-1}^{m}(y^{i}-\sum_{j}^{}w_{j}x_{j}^{i})^{2}+\lambda\sum_{j}\left |w_{j} \right | l=2m1∑i−1m(yi−∑jwjxji)2+λ∑j∣wj∣ - Lasso由于使用L1正则项,所以具有一定的特征选择功能,因为L1正则倾向于产生稀疏稀疏,它可以将一些“对标签没有用处”的特征对应的系数压缩为0,进而将对结果有较大影响的特征突显出来。
弹性网络(Elastic Net)
- 弹性网络是一种使用 L1,L2范数作为先验正则项训练的线性回归模型.这种组合允许学习到一个只有少量参数是非零稀疏的模型,就像 Lasso一样,但是它仍然保持一些像Ridge的正则性质。我们可利用 l1_ratio 参数控制L1和L2的凸组合。弹性网络是一不断叠代的方法。
- 公式:
l = 1 2 m ∑ i − 1 m ( y i − ∑ j w j x j i ) 2 + λ α ∑ j ∣ w j ∣ + 1 − γ 2 ∑ j w j 2 l = \frac{1}{2m}\sum_{i-1}^{m}(y^{i}-\sum_{j}^{}w_{j}x_{j}^{i})^{2}+\lambda\alpha \sum_{j}\left |w_{j} \right |+\frac{1-\gamma}{2}\sum_{j}w_{j}^{2} l=2m1∑i−1m(yi−∑jwjxji)2+λα∑j∣wj∣+21−γ∑jwj2 - 弹性网络最妙的地方是它永远可以产生有效解。由于它不会产生交叉的路径,所以产生的解都相当不错。在实践中,Lasso 和 Ridge 之间权衡的一个优势是它允许在循环过程(Under rotate)中继承 Ridge 的稳定性。