Skip to main content

对(高维)非凸稀疏学习问题具有强规则的加速梯度算法的实现。现在可以使用重新启动、内存映射和多处理。

项目描述

nonconvex_restartingAG

这是针对(高维)非凸稀疏学习问题的具有强规则的重启加速梯度算法的实现。相应的论文可以在arXiv找到。

可用的功能有:

  • UAG_LM_SCAD_MCP, UAG_logistic_SCAD_MCP: 这些函数为 SCAD/MCP 惩罚线性模型/逻辑模型找到一个局部最小化器。参数是: * design_matrix:设计矩阵输入,应该是一个二维 numpy 数组;* outcome: 结果,应该是一维 numpy 数组,线性模型是连续的,逻辑模型是二进制的;* beta_0: 起始值;可选,如果不声明,将根据$\beta$的Gauss-Markov理论估计量计算;* tol:公差参数;容差参数设置为两次迭代的统一范数;* maxit: 允许的最大迭代次数;* _lambda: _lambda 值;* penalty: 可以是"SCAD""MCP"; * a=3.7, gamma=2:a用于 SCAD 和gammaMCP;建议用于a设为$3.7$;* L_convex: 凸分量的 L-smoothness 常数,如果不声明,它会自己计算 * add_intercept_column: 布尔值,函数是否应该添加截距列?

  • solution_path_LM, solution_path_logistic: 计算线性/逻辑模型的求解路径;与上面的唯一区别lambda_是现在是一个一维 numpy 数组,用于使用 $\lambda$ 的值。

  • UAG_LM_SCAD_MCP_strongrule,UAG_logistic_SCAD_MCP_strongrule工作就像UAG_LM_SCAD_MCP, UAG_logistic_SCAD_MCP-- 除了他们在执行优化步骤之前使用强规则过滤掉许多协变量。solution_path_LM_strongrule和相同solution_path_logistic_strongrule。强规则显着提高了计算速度。

  • 该软件包还提供使用内存映射的某些功能的实现。memmap_lambda_max_LMmemmap_lambda_max_logistic计算λ的最小值以消除所有惩罚系数。memmap_UAG_LM_SCAD_MCP, memmap_UAG_logisitc_SCAD_MCP, 和memmap_solution_path_LM,memmap_solution_path_LM与函数的非内存映射版本类似。对于函数的内存映射版本,design_matrixorX参数应声明内存映射文件的路径,并_dtype='float32'声明数据类型,_order声明内存映射文件的顺序(“F”代表 Fortran,“C”代表 C++)。具有内存映射的多进程也可用作memmap_lambda_max_LM_parallel, memmap_lambda_max_logistic_parallel, memmap_UAG_LM_SCAD_MCP_parallel, memmap_UAG_logistic_SCAD_MCP_parallel, memmap_solution_path_LM_parallel, memmap_solution_path_logistic_parallel-- 对于这些函数,一个额外的参数chunck_size可用于声明块大小。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

nonconvexAG-0.9.3.tar.gz (49.3 kB 查看哈希

已上传 source

内置分布

nonconvexAG-0.9.3-py3-none-any.whl (36.5 kB 查看哈希

已上传 py3