全栈工程师开发手册 (作者:栾鹏)
Lasso
The Lasso 是估计稀疏系数的线性模型。 它在一些情况下是有用的,因为它倾向于使用具有较少参数值的情况,有效地减少给定解决方案所依赖变量的数量。 因此,Lasso 及其变体是压缩感知领域的基础。 在一定条件下,它可以恢复一组非零权重的精确集。
在数学公式表达上,它由一个带有ℓ1ℓ1先验的正则项的线性模型组成。 其最小化的目标函数是:
minw12nsamples||Xw−y||22+α||w||1minw12nsamples||Xw−y||22+α||w||1
lasso 估计解决了加上罚项α||w||1α||w||1的最小二乘法的最小化,其中,αα 是一个常数,||w||1||w||1是参数向量的 ℓ1−normℓ1−norm 范数。
Lasso 类的实现使用了 coordinate descent (坐标下降算法)来拟合系数。
设置正则化参数
scikit-learn 通过交叉验证来公开设置 Lasso中αα 参数的对象: LassoCV 和 LassoLarsCV。 LassoLarsCV 是基于下面解释的 最小角回归 算法。
对于具有许多线性回归的高维数据集, LassoCV 最常见。 然而,LassoLarsCV 在寻找 αα 参数值上更具有优势,而且如果样本数量与特征数量相比非常小时,通常 LassoLarsCV 比 LassoCV 要快。
与 SVM 的正则化参数的比较
αα 和 SVM 的正则化参数CC之间的等式关系是 α=1/Cα=1/C 或者 α=1/(nsamples∗C)α=1/(nsamples∗C),并依赖于估计器和模型优化的确切的目标函数。
主参数设置