Skip to main content

Lockout: Sparse Regularization of Neural Networks

Project description

Lockout

Sparse Regularization of Neural Networks

Install

pip install lockout

Usage

PyTorch installation required.

1. Import Lockout (and PyTorch)

import torch
from lockout import Lockout

2. Define Neural Network Architecture

Paper

https://arxiv.org/abs/2107.07160

Abstract: Regularized regression and classification procedures attempt to fit a function f(x,ω) of multiple predictor variables x, to data {xi,yi}1N, based on some loss criterion L(y,f) but adding a constraint P(ω) ≤ t on the joint values of the parameters ω to improve accuracy. While there are efficient methods for finding solutions for all values of t ≥ 0 with some constraints P in the special case that f is a linear function, none exist for non linear functions such as Neural Networks (NN). Here we present a fast algorithm that provides all such solutions for any differentiable function f and loss L, and any constraint P that is an increasing monotone function of the absolute value of each parameter. Applications involving sparsity inducing regularization of arbitrary neural networks are discussed. Empirical results indicate that these sparse solutions are usually superior to their dense counterparts in both accuracy and interpretability. This improvement in accuracy can often make neural networks competitive with, and some times superior to, state of the art methods in the analysis of tabular data.

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

lockout-0.1.2.tar.gz (14.1 MB view details)

Uploaded Source

Built Distribution

lockout-0.1.2-py2.py3-none-any.whl (13.3 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file lockout-0.1.2.tar.gz.

File metadata

  • Download URL: lockout-0.1.2.tar.gz
  • Upload date:
  • Size: 14.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.26.0

File hashes

Hashes for lockout-0.1.2.tar.gz
Algorithm Hash digest
SHA256 8125b53911c53bb51b2f0324aacb6a12d94ef2680b770ae12b5a0375ae212fb6
MD5 dab8d27efd294dcdb313104d5b439739
BLAKE2b-256 ceab9b84abf3e528a769c17911908fc1ba5b27de6ca4ddcc4f1b78b38a3d80ee

See more details on using hashes here.

File details

Details for the file lockout-0.1.2-py2.py3-none-any.whl.

File metadata

  • Download URL: lockout-0.1.2-py2.py3-none-any.whl
  • Upload date:
  • Size: 13.3 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.26.0

File hashes

Hashes for lockout-0.1.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 a5823085c0c05ec4790ae284e50cb94e5194614672b0679b41bf53094f9a517c
MD5 68aa7340fc9e31ce4085a7a98a8afdb5
BLAKE2b-256 8d8effc145641d70f4d964ff599cda60abe055aca43d801c575354e3dda58255

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page