线性回归及正规方程和梯度下降求解及正则化
目录
线性回归是最为简单、易用的回归模型。从某种程度上限制了使用,尽管如此,在不知道特征之间关系的前提下,我们仍然使用线性回归器作为大多数系统的首要选择。
1.定义
回归:目标值是连续值;分类:目标值是离散值。
线性回归:通过一个或者多个自变量(特征)与因变量(目标值)之间进行建模的回归分析。其中特点为一个或多个称为回归系数的模型参数的线性组合。
一元线性回归:涉及到的变量(特征)只有一个
多元线性回归:涉及到的变量(特征)有两个或两个以上
2.求解
目的是求得模型当中的w和b,使得损失函数最小。
有两种解决办法:正规方程和梯度下降。
正规方程:当满秩时,可以求解。(参考西瓜书第三章线性模型)
梯度下降:批量梯度下降、小批量梯度下降、随机梯度下降。(有时间的话将求解过程贴出来)
2.正则化
其中,α是正则化系数,它控制正则化项的占比,这个值很关键。α的初始值建议设置为0,在确定了learning rate后再进一步确定α的值。首先粗调节(如每次增大或减少10倍)将预测准确率控制在一个较满意的水平后再进行α值的细调节(假设粗调节α确定在0.01到0.1之间,细调节则0.01, 0.02……如此细微调节)至预测最佳。目前,训练过程中使用梯度递减的学习率是一个很常见的方法。
1.2.1 岭回归
岭回归是在损失函数中加入L2范数惩罚项,控制模型复杂度,从而使模型稳健。
1.2.2 Lasso 回归
lasso回归和岭回归的区别在于惩罚项是基于L1范数。
1.2.3 ElasticNet回归
ElasticNet是对岭回归和Lasso回归的融合,在Elastic Net的公式中,参数ρ是Lasso回归在ElasticNet中的占比,1-ρ 则是岭回归在其中的占比。
3.回归性能评估
4.总结
小规模数据:正规方程 LinearRegression。正规方程可能会过拟合,可以用岭回归(Ridge)避免过拟合。
大规模数据:梯度下降 SGDRegressor
参考:1.****学院课程PPT
2.西瓜书第三章线性模型
3.https://blog.****.net/houyanhua1/article/details/88032588
4.https://www.cnblogs.com/pinard/p/6004041.html
5.https://blog.****.net/Jakob_Hu/article/details/88092123#121__13
6.岭回归等求解参见http://www.cnblogs.com/pinard/p/6018889.html