一个可扩展的软件包,用于拟合具有成对特征交互的稀疏线性回归模型,在强层次结构下。
hierScale的Python项目详细描述
等级
Hussein Hazimeh和Rahul Mazumder
麻省理工学院
简介
hierScale是一个可伸缩的工具包,用于拟合稀疏线性回归模型和成对的特征交互。优化是在strong hierarchy(SH)约束下完成的:交互系数只有在其相关联的主要特征系数非零时才是非零的。这个约束可以增强稀疏交互模型的可解释性,还可以降低未来的数据收集成本;请参见(Hazimeh and Mazumder, 2020)中的讨论。
更正式地说,给定一个主要特性的数据矩阵X和一个响应向量y,该工具箱适用于以下模型的凸松弛:
其中X_i表示X的第i列(特征),并且*表示元素乘法。L0范数使系数具有稀疏性,而约束则加强了SH。关于如何导出上述问题的凸松弛的详细信息,请参见(Hazimeh and Mazumder, 2020)。对正则化路径(即,在lambda_1和lambda_2的网格上)进行优化。我们使用近端梯度下降(PGD)进行优化,同时使用新的近端筛选和梯度筛选规则,使PGD的速度提高了4900倍以上
安装
层次结构是用python3编写的。它在内部使用Gurobi(用于解决检查最优性条件所需的LPs)。在安装hierScale之前,请确保安装了Gurobi及其Python接口(gurobiby)。
要安装hierScale,请运行以下命令:
pip install hierScale
快速入门
在Python中,假设将数据X和y存储为numpy数组,请运行以下命令以适应正则化路径:
^{pr2}$参考文献
Learning Hierarchical Interactions at Scale: A Convex Optimization Approach。
Bibtex引文如下:
@inproceedings{hazimeh_mazumder_2020,
author = {Hussein Hazimeh and
Rahul Mazumder},
title = {Learning Hierarchical Interactions at Scale: A Convex Optimization Approach},
booktitle = {The 23nd International Conference on Artificial Intelligence and Statistics,
{AISTATS} 2020, 3-5 June 2020, Palermo, Sicily, Italy},
series = {Proceedings of Machine Learning Research},
volume = {108},
publisher = {{PMLR}},
year = {2020},
url = {https://arxiv.org/abs/1902.01542},
}
- 项目
标签: