⾃变量相对重要性的判别过程中,我们其实可以考虑采⽤向前逐步回归的⽅法,作为Lasso的替代解
决⽅案。相⽐于Lasso,向前逐步回归⽅法原理更加简洁易懂,其建模思路也与机器学习算法⼀致,
更重要的是向前逐步回归从本质上来说是采⽤了梯度下降的⽅法来求得最优解,可伸缩性强,最终所
得结果与Lasso较为⼀致,且在⽬标函数为凸函数的时候,最终结果和最⼩⼆乘法求得结果⼀致。因
此,我们接下来简单讨论向前逐步回归⽅法的⼀般建模过程,然后⼿动构建⼀个向前逐步回归法,并
测试其回归效能。
总的来说,向前逐步回归也属于贪⼼算法,⾸先预设每个⾃变量系数均为0,然后执⾏循环,每次循
环过程中都对其中某个变量进⾏相同步⻓的增加或者减少,同时对⽐改变之后⽬标函数的下降速度,
并选取⽬标函数下降速度最快的更改⽅案,然后对系数进⾏永久性质的更改,接着执⾏下⼀次迭代,
直⾄抵达收敛条件为⽌,其基本执⾏过程如下伪代码所示。
向前回归法伪代码如下:
若有必要,⾸先将数据进⾏归⼀化处理;
设置迭代收敛条件,然后进⾏迭代:
设置当前最⼩误差lowestError为正⽆穷
对于每个特征:
按步⻓增⼤或缩⼩:
改变⼀个系数得到⼀个新的w
计算新w下的误差
若误差Error⼩⾬当前最⼩误差lowestError:设置wbest为当前的w
将w设置为新的wbest
然后,根据上述伪代码,即可编写向前逐步回归执⾏函数,同时,为了加快收敛速度,此处统⼀对数
据集进⾏归⼀化处理,因此⾸先定义针对矩阵的归⼀化函数
代码内容参加附录