1.Linear Regression:(线性回归)

用一个因变量(Y)与多个自变量(x1,x2...)的关系,表达式:Y = a + W * X

简单来说, 通过一条直线来拟合自变量与因变量之间的关系。参数W,a取不同的值, 会得不同的直线, 得到最优直线的过程就是线性回归的算法过程,也就是求解参数W,a的过程。最优直线的求解是基于最小二乘法(Ordinary Least Squares)。

线性回归的应用场景:

  1. 自变量和因变量之间是线性关系
  2. 适用于low dimension, 而且每一维之间都没有共线性。

线性回归的问题:

  1. 线性回归存在multicollinearity(共线性), autocorrelation(自相关), heteroskedasticity(异方差)等问题
  2. 线性回归对异常值非常敏感, 因此数据预处理时, 要警惕异常值。
  3. 模型参数的估计很不稳定, 模型中输入数据的微小差异都可能导致参数估计的很多差异。

2.Logistic Regression:(逻辑回归)

逻辑回归是用来计算“事件=Success”和“事件=Failure”的概率。

应用场景:

  1. 用于分类场景, 尤其是因变量是二分类(0/1,True/False,Yes/No)时我们应该使用逻辑回归。
  2. 不要求自变量和因变量是线性关系

存在的问题:

  1. 防止过拟合和低拟合,应该让模型构建的变量是显著的。一个好的方法是使用逐步回归方法去进行逻辑回归。
  2. 逻辑回归需要大样本量,因为最大似然估计在低样本量的情况下不如最小二乘法有效。
  3. 独立的变量要求没有共线性。

3.Ridge Regression:(岭回归)

岭回归是模型表达方式, 非常类似于线性回归,只是在线性回归的基础上加入一个预测误差项。

表达式:y = a+ b1x1+ b2x2+....+e

偏差是最小二乘法计算方法, 方差部分是为解决共线性问题,而引入的一个惩罚项 λ (lambda) * ||beta|| ^2, 其中beta是线性模型的自变量系数。加入惩罚项是让参数收敛在比较小的方差。

这里的惩罚项,指的是wx+b表达式中的w,对w进行二范数操作。

应用场景:

  1. 可以解决重共线性问题, 简单的说就是自变量之间有高度相关关系。
    问题:
  2. 不能将模型系数收敛为0, 因此岭回归没有特征选择功能
    PS: ||beta||正则化, 采用的是L2 regularization

4.Lasso Regression:

Lasso回归,和岭回归非常类似,只是预测误差中方差部分不一样,
是lambda * ||beta||, 而不是lambda * ||beta||的平方。

这里的beta也就是x的系数w,我们要学习的参数,对模型的复杂程度进行约束。

应用场景:

  1. Lasso回归的惩罚项能收敛参数到0, 能起到特征选择的功能。
  2. 如果一组自变量是高线性相关, lasso选择其中一个变量而将其他项收敛到0。

问题:

  1. Lasso回归是为解决岭回归不能进行变量选择问题而提出的, 但Lasso不能做group selection。
  2. Lasso存在不一致的问题。

PS: ||beta||正则化, 采用的是L1 regularization.

 

参考链接:

1.https://www.jianshu.com/p/b628c90e1c1c