根据模型的数学原理进行简单的代码自我复现以及使用测试,仅作自我学习用。模型原理此处不作过多赘述,仅罗列自己将要使用到的部分公式。代码框架部分参照了以下视频中的内容。清华博士爆肝300小时录制!!机器学习入门必备的10个经典算法(原理+复现+实验)被他讲得如此清晰!_哔哩哔哩_bilibili
如文中或代码有错误或是不足之处,还望能不吝指正。
线性回归,主要任务是寻找一个或多个因变量与自变量之间的关系,拟合出形式的回归方程。
求解线性回归时,根据最小二乘法,要找到使得误差平方和的最小
,针对
求偏导,可以得到
。针对于存在的求逆操作,使用梯度下降法求解。
其中α为学习率,m为每次梯度下降时传入的样本数量。
岭回归在原本的误差平方和的基础上加入了L2惩罚项,牺牲无偏性,增大偏差以减少方差,在出现多重共线性(自变量并不独立,而是互相之间存在关系)以及数据中有离群点时效果较好;用“机器学习”一点的话就是“模型更加稳定”。在实际的梯度下降中只需要再加入一个关于L2惩罚项偏导方向上的更新
即可。
Lasso回归则是加入了L1惩罚项,以此来剔除无关变量。但是由于L1惩罚项在0点处不是可微的,故而使用坐标下降法(每次只更新一个
)求解。
其中

本文介绍了一个线性回归模型的实现过程,包括数据预处理、梯度下降法等关键步骤,并通过自建数据集验证了多项式回归、不同梯度下降方式及岭回归、Lasso回归的效果。
最低0.47元/天 解锁文章
1793

被折叠的 条评论
为什么被折叠?



