机器学习之回归

一、线性回归

监督学习分为回归和分类:

  • 回归(Regression):标签连续
  • 分类(Classification):标签离散

1.1 回归的概念

  • 线性回归(Linear Regression):是一种通过属性的线性组合来进行预测的线性模型,其目的是找到一条直线或者一个平面或者更高维的超平面,使得预测值与真实值之间的误差最小化。

  • 线性回归-符号约定:

    1. 𝑚 代表训练集中样本的数量
    2. 𝑛 代表特征的数量
    3. 𝑥 代表特征/输入变量
    4. 𝑦 代表目标变量/输出变量
    5. (𝑥, 𝑦) 代表训练集中的样本
    6. (𝑥(𝑖), 𝑦(𝑖)) 代表第𝑖个观察样本,𝑥(𝑖)是特征矩阵中的第𝑖行,是一个向量,\(𝑥_𝑗^{(𝑖)}\)代表特征矩阵中第 𝑖 行的第 𝑗 个特征
    7. ℎ 代表学习算法的解决方案或函数也称为假设
    8. \(\hat{y}\)=ℎ(𝑥),代表预测的值
  • 线性回归-算法流程:

    1. 损失函数(Loss Function):度量单样本预测的错误程度,损失函数值越小,模型就越好。常用的损失函数包括:0-1损失函数、平方损失函数、绝对损失函数、对数损失函数等。
    2. 代价函数(Cost Function):度量全部样本集的平均误差。常用的代价函数包括均方误差、均方根误差、平均绝对误差等。
    3. 目标函数(Object Function)代价函数和正则化函数,最终要优化的函数。

    损失函数采用平方和损失:

    ​ L(\(x^{(i)}\))=\({\frac{1}{2}}{(h(x^{(i)})-y^{(i)})^2}\)

    一组 𝑤\((𝑤_0, 𝑤_1, 𝑤_2, . . . , 𝑤_𝑛)\) ,使得残差平方和最小:

    ​ J(w)=\({\frac{1}{2}}\sum^{m}_{i = 1}{(h(x^{(i)})-y^{(i)})^2}\)

备注:损失函数的系数1/2是为了便于计算,使对平方项求导后的常数系数为1,这样在形式上稍微简单一些。

  • 线性回归-最小二乘法(LSM)


二、梯度下降

2.1 梯度下降的三种形式

  • 批量梯度下降(Batch Gradient Descent,BGD):梯度下降的每一步中都用到了所有的训练样本。
  • 随机梯度下降(Stochastic Gradient Descent,SGD):梯度下降的每一步中,用到一个样本,在每一次计算之后便更新参数 ,而不需要首先将所有的训练集求和。
  • 小批量梯度下降(Mini-Batch Gradient Descent,MBGD):梯度下降的每一步中,用到了一定批量的训练样本。

批量梯度下降(Batch Gradient Descent):

随机梯度下降(Stochastic Gradient Descent):

梯度下降的每一步中,用到一个样本,在每一次计算之后便更新参数,而不需要首先将所有的训练集求和:

小批量梯度下降(Mini-Batch Gradient Descent):每计算常数𝑏次训练实例,便更新一次参数 𝑤。

总结:

  • 𝑏=1(随机梯度下降,SGD)
  • 𝑏=m(批量梯度下降,BGD)
  • 𝑏=batch_size(小批量梯度下降,MBGD),batch_size通常是2的指数倍,常见有32,64,128等。

2.2 梯度下降与最小二乘法比较

梯度下降:需要选择学习率𝛼,需要多次迭代,当特征数量𝑛大时也能较好适用,适用于各种类型的模型。

最小二乘法:不需要选择学习率𝛼,一次计算得出,需要计算 \((𝑋^𝑇𝑋) ^{−1}\),如果特征数量𝑛较大则运算代价大,因为矩阵逆的计算时间复杂度为𝑂\((𝑛^3)\),通常来说当𝑛小于10000 时还是可以接受的,只适用于线性模型,不适合逻辑回归模型等其他模型。

2.3 数据归一化/标准化

为什么要标准化/归一化?

  • 提升模型精度:不同维度之间的特征在数值上有一定比较性,可以大大提高分类器的准确性。

  • 加速模型收敛:最优解的寻优过程明显会变得平缓,更容易正确的收敛到最优解。

  • 数据归一化的目的是使得各特征对目标变量的影响一致,会将特征数
    据进行伸缩变化,所以数据归一化是会改变特征数据分布的。

  • 数据标准化为了不同特征之间具备可比性,经过标准化变换之后的特
    征数据分布没有发生改变。

  • 当数据特征取值范围或单位差异较大时,最好是做一下标准化处理。

需要做数据归一化/标准化:线性模型,如基于距离度量的模型包括KNN(K近邻)、K-means聚类、感知机和SVM。另外,线性回归类的几个模型一般情况下也是需要做数据归一化/标准化处理的。

不需要做数据归一化/标准化:决策树、基于决策树的Boosting和Bagging等集成学习模型对于特征取值大小并不敏感,如随机森林、XGBoost、LightGBM等树模型,以及朴素贝叶斯,以上这些模型一般不需要做数据归一化/标准化处理。

三、正则化

3.1 过拟合和欠拟合

3.2 过拟合的处理

  • 获得更多的训练数据:使用更多的训练数据是解决过拟合问题最有效的手段,因为更多的样本能够让模型学习到更多更有效的特征,减小噪声的影响。
  • 降维:即丢弃一些不能帮助我们正确预测的特征。可以是手工选择保留哪些特征,或者使用一些模型选择的算法来帮忙(例如PCA)。
  • 正则化:正则化(regularization)的技术,保留所有的特征,但是减少参数的大小(magnitude),它可以改善或者减少过拟合问题。
  • 集成学习方法:集成学习是把多个模型集成在一起,来降低单一模型的过拟合风险。

3.3 欠拟合的处理

  • 添加新特征:当特征不足或者现有特征与样本标签的相关性不强时,模型容易出现欠拟合。通过挖掘组合特征等新的特征,往往能够取得更好的效果。
  • 增加模型复杂度:简单模型的学习能力较差,通过增加模型的复杂度可以使模型拥有更强的拟合能力。例如,在线性模型中添加高次项,在神经网络模型中增加网络层数或神经元个数等。
  • 减小正则化系数:正则化是用来防止过拟合的,但当模型出现欠拟合现象时,则需要有针对性地减小正则化系数。

3.4 正则化

\(L_1\)正则化可以产生稀疏模型:\(L_1\)正则化是指在损失函数中加入权值向量w的绝对值之和,\(L_1\)的功能是使权重稀疏。

\(L_2\)正则化可以防止过拟合:\(L_2\)正则化在损失函数中加入权值向量w的平方和,\(L_2\)的功能是使权重平滑。

图上面中的蓝色轮廓线是没有正则化损失函数的等高线,中心的蓝色点为最优解,上图、下图分别为𝑳1、𝑳𝟐正则化给出的限制。

可以看到在正则化的限制之下,\(L_2\)正则化给出的最优解w是使解更加靠近原点,也就是说\(L_2\)正则化能降低参数范数的总和。\(L_1\)正则化给出的最优解w是使解更加靠近某些轴,而其它的轴则为0,所以\(L_1\)正则化能使得到的参数稀疏化。

四、回归评价指标

五、参考资料

  1. Prof. Andrew Ng. Machine Learning. Stanford University
  2. 《统计学习方法》,清华大学出版社,李航著,2019年出版
  3. 《机器学习》,清华大学出版社,周志华著,2016年出版
  4. Christopher M. Bishop, Pattern Recognition and Machine Learning, Springer-Verlag, 2006
  5. Stephen Boyd, Lieven Vandenberghe, Convex Optimization, Cambridge University Press, 2004
  6. https://www.icourse163.org/course/WZU-1464096179
posted on 2022-02-17 21:48  lixin05  阅读(123)  评论(0编辑  收藏  举报