一个可扩展的软件包,用于拟合具有成对特征交互的稀疏线性回归模型,在强层次结构下。

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},
}

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java检查整数是0还是检查变量是null更好?   java Android Kotlin(初学者)使用File(),并从ACTION\u GET\u内容返回Uri   java JavaFx在“内部场景”和根场景之间切换   spring将XMLBean配置转换为java配置   java JPA HIBERNATE映射列两次(embeddedID和POJO)   c#单态模式模型在什么情况下适用?   java请求。getRemoteUser在特定时间后返回null?   spring boot中PUT api控制器的java my单元测试用例失败   java在字符串中互换地解析和替换值   java Android JNI在应用程序中检测到错误:调用JNI GetMethodID时出现挂起异常   JavaSpringDataMongo:使用非简单键持久化映射   爪哇玻璃鱼连接被拒绝   java如何在用户注册时发送特定电子邮件id的自动回复?   Java列表:实例化时和之后的赋值之间的差异