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

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中的else if语句返回语法错误   http如何解析从表单到REST Java/Webservice的post请求   java如何在SpringBoot中为RestTemplate编写JUnit测试   java动态检查实例是否实现接口   java在Android中使用ArrayAdaptor时,数据不会显示   根据前序遍历返回二进制树的java方法   Arquillian测试类中的java注入始终为空   用户界面Java Swing自定义控件   java使用CompletableFutures递归地从同一函数的多个调用构建列表   在Java中将“.00”添加到整数BigDecimal   卡夫卡java未知\u主题\u或\u部分错误间歇性   java为什么我的getString()方法总是返回null?   java renameTo无法重命名文件   java为什么我可以强制转换对象?可以用其他对象来完成吗?   带有回写条件的java多根记录器   关于stackoverflow错误的java帮助?   java Websphere消息队列多线程   Java图形窗口/画布未垂直显示完整的六边形网格   java Sakai未在Tomcat服务器中启动