DataWhale–李宏毅老师机器学习P3-P4《回归》学习笔记
学习笔记
本文是李宏毅老师B站–《机器学习》课程的学习笔记,在此非常感谢DataWhale提供的平台,希望大家加入到这个学习的大家庭中,共同成长。
本文主要是关于线性回归及其变种的介绍,是在老师的讲解视频和学习文档的基础上总结而来。
回归的定义
回归(Regression),是找到一个函数function来拟合输入x(特征)和输出y(一个标量)的关系。
回归的分类:根据x的数量可以分为一元回归(一个特征),多元回归(多个特征);根据是否是线性模型,可以分为线性回归模型和非线性回归模型。
模型的步骤:
1.模型假设,假设模型的表现形式(如线性模型);
2.模型评估,设定合适的评价函数来评价模型的好坏(损失函数);
3.模型优化,通过评价函数找出最优的模型(如梯度下降算法)
梯度下降算法
在模型训练中,常常以损失函数作为目标函数,通过选择不同的模型参数,以使损失函数达到最小。
模型参数在不断迭代时,是沿着负梯度方向进行的(目的是使损失函数达到最小),原模型参数+负梯度,即模型更新后的参数,但往往会在梯度的基础上乘以一个学习率,即lr(learning rate),lr也是模型参数更新的步长,因此最终更新后的模型参数=原模型参数+负梯度*lr。
经过不断地更新迭代,最终使模型找到满意的模型参数,即最终学到的function。
但是,梯度下降算法在实践过程中,仍面临诸多挑战,如:
1.容易陷入局部最优点,而无法跳出,以寻找全局最优点;
2.在损失函数变化缓慢处,其梯度接近于0,导致模型参数更新缓慢,甚至于不更新;
3.在损失函数的鞍点处,梯度为零,模型参数无法更新,梯度下降法失效。
回归模型的优化
在讲回归模型优化前,必须提到在机器学习中盛行的概念,即过拟合(overfitting)和欠拟合(underfitting)。前者是指模型过度拟合训练集,虽然在训练集的训练误差小,而模型泛化能力弱,在测试集上误差较大;后者是指,模型未能很好地学习到真正的function,使function在训练集和测试集的误差都较大。
1)在回归模型中,可以增加变量的幂次,如平方、立方等,使用更为复杂的模型来代替原来的线性回归模型,从而解决可能欠拟合的问题。
2)但是模型若过于复杂,则容易使模型过拟合,这时较好的方式是采用正则化,即在原损失函数的基础上增加模型参数的损失,并乘以一个系数λ,通过λ来调控模型复杂度和原损失函数的某种平衡。当λ取0时,模型只考虑原损失函数,这时模型有过拟合的风险;当λ逐渐增大时,模型复杂度在损失函数中所在的比重越来越大,为使总损失函数最小,模型势必会选择简单的模型参数,从而降低模型的复杂度,使模型更加简单化,这时模型有欠拟合的风险。通过调整λ,使模型在过拟合和欠拟合达到最佳平衡,由此选出更优的模型。
参考文献及视频链接
B站19版视频链接: https://www.bilibili.com/video/BV1Ht411g7Ef.
datawhale学习文档: https://datawhalechina.github.io/leeml-notes/#/chapter3/chapter3.