Implementation of accelerated gradient algorithm with strong rules for (high-dimensional) nonconvex sparse learning problems. Restarting, memory-mapping, and multiprocessing are now available. Developed by Kai Yang, [GPG Public key Fingerprint: CC02CF153594774CF956691492B2600D18170329](https://keys.openpgp.org/vks/v1/by-fingerprint/CC02CF153594774CF956691492B2600D18170329)
Project description
nonconvexAG
<kai.yang2 "at" mail.mcgill.ca>
License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)
GPG Public key Fingerprint: CC02CF153594774CF956691492B2600D18170329
This is an implementation of restarting accelerated gradient algorithm with strong rules for (high-dimensional) nonconvex sparse learning problems. The corresponding paper can be found at arXiv.
The available functions are:
-
UAG_LM_SCAD_MCP,UAG_logistic_SCAD_MCP: these functions find a local minizer for the SCAD/MCP penalized linear models/logistic models. The arguments are: *design_matrix: the design matrix input, should be a two-dimensional numpy array; *outcome: the outcome, should be one dimensional numpy array, continuous for linear model, binary for logistic model; *beta_0: starting value; optional, if not declared, it will be calculated based on the Gauss-Markov theory estimators of $\beta$; *tol: tolerance parameter; the tolerance parameter is set to be the uniform norm of two iterations; *maxit: maximum number of iteratios allowed; *_lambda: _lambda value; *penalty: could be"SCAD"or"MCP"; *a=3.7,gamma=2:afor SCAD andgammafor MCP; it is recommended forato be set as $3.7$; *L_convex: the L-smoothness constant for the convex component, if not declared, it will be calculated by itself *add_intercept_column: boolean, should the fucntion add an intercept column? -
solution_path_LM,solution_path_logistic: calculate the solution path for linear/logistic models; the only difference from above is thatlambda_is now a one-dimensional numpy array for the values of $\lambda$ to be used. -
UAG_LM_SCAD_MCP_strongrule,UAG_logistic_SCAD_MCP_strongrulework just likeUAG_LM_SCAD_MCP,UAG_logistic_SCAD_MCP-- except they use strong rule to filter out many covariates before carrying out the optimization step. Same forsolution_path_LM_strongruleandsolution_path_logistic_strongrule. Strong rule increases the computational speed dramatically. -
The package also offers implementation of certain features using memory mapping.
memmap_lambda_max_LMandmemmap_lambda_max_logisticcalculate the least values for \lambda to vanish all penalized coefficients.memmap_UAG_LM_SCAD_MCP,memmap_UAG_logisitc_SCAD_MCP, andmemmap_solution_path_LM,memmap_solution_path_LMwork similar to the non-memorymapping version of the function. For memory mapping versions of the functions, thedesign_matrixorXparameter should declare the path of the memorymapped file, and_dtype='float32'declares the data type,_orderdeclares the order of the memorymapped files ("F" for Fortran or "C" for C++). Multiprocess with memory mapping is also available asmemmap_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-- for these functions, an extra argumentcore_numcan be used to declare the cores to be used -- if not decalred, it will use all the cores.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file nonconvexAG-1.1.6.tar.gz.
File metadata
- Download URL: nonconvexAG-1.1.6.tar.gz
- Upload date:
- Size: 51.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
064fc225eaf9560d016199a32e0a0a5fbf25135525f54606b55855245a03168a
|
|
| MD5 |
092354fdf51cbfcbaa77c52e64a70e98
|
|
| BLAKE2b-256 |
ea421cc45ada062d20869666d54ef7d34fd0c15747be963169b81f82d75646ce
|
File details
Details for the file nonconvexAG-1.1.6-py3-none-any.whl.
File metadata
- Download URL: nonconvexAG-1.1.6-py3-none-any.whl
- Upload date:
- Size: 37.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
541885928d79943fe6584fe0c8efe8045c9c32217d48d836e98f1cfd6ce9b018
|
|
| MD5 |
4631d31b32521986d9c6f4b9345d665b
|
|
| BLAKE2b-256 |
276d47fe851b0cb0c3f84e2dba2205f9c840033ecec578ea906bf79b27e36fef
|