Package parsimony :: Package functions :: Package nesterov :: Module gl :: Class GroupLassoOverlap
[hide private]
[frames] | no frames]

Class GroupLassoOverlap

source code

                            object --+        
                                     |        
                   properties.Gradient --+    
                                         |    
                            object --+   |    
                                     |   |    
properties.LipschitzContinuousGradient --+    
                                         |    
                            object --+   |    
                                     |   |    
                properties.Eigenvalues --+    
                                         |    
                            object --+   |    
                                     |   |    
           properties.ProximalOperator --+    
                                         |    
               properties.NesterovFunction --+
                                             |
                                object --+   |
                                         |   |
                        properties.Penalty --+
                                             |
                                object --+   |
                                         |   |
                     properties.Constraint --+
                                             |
                                            GroupLassoOverlap

Group L1-L2 function, with overlapping groups. Represents the
function

    GL(x) = l * (sum_{g=1}^G ||x_g||_2 - c),

where ||.||_2 is the L2-norm. The coinstrained version has the form

    GL(x) <= c.

Attributes
----------
l : Non-negative float. The Lagrange multiplier, or regularisation
        constant, of the function.

c : Float. The limit of the constraint. The function is feasible if
        GL(beta) <= c. The default value is c=0, i.e. the default is a
        regularised formulation.

mu : Float. The Nesterov function regularisation constant for the
        smoothing.

penalty_start : Non-negative integer. The number of columns, variables
        etc., to except from penalisation. Equivalently, the first index
        to be penalised. Default is 0, all columns are included.

Instance Methods [hide private]
 
__init__(self, l, c=0.0, A=None, mu=0.0, penalty_start=0)
Parameters ---------- l : Non-negative float.
source code
 
reset(self) source code
 
f(self, beta)
Function value.
source code
 
phi(self, alpha, beta)
Function value with known alpha.
source code
 
feasible(self, beta)
Feasibility of the constraint.
source code
 
L(self)
Lipschitz constant of the gradient.
source code
 
lambda_max(self)
Largest eigenvalue of the corresponding covariance matrix.
source code
 
project(self, a)
Projection onto the compact space of the Nesterov function.
source code
 
M(self)
The maximum value of the regularisation of the dual variable.
source code
 
estimate_mu(self, beta)
Compute a "good" value of mu with respect to the given beta.
source code

Inherited from properties.NesterovFunction: A, Aa, alpha, fmu, get_mu, grad, lA, prox, set_mu

Inherited from properties.Gradient: approx_grad

Inherited from properties.LipschitzContinuousGradient: approx_L

Inherited from properties.Eigenvalues: lambda_min

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __sizeof__, __str__, __subclasshook__

Class Variables [hide private]
  __abstractmethods__ = frozenset([])

Inherited from properties.NesterovFunction: __metaclass__

Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

__init__(self, l, c=0.0, A=None, mu=0.0, penalty_start=0)
(Constructor)

source code 

Parameters
----------
l : Non-negative float. The Lagrange multiplier, or regularisation
        constant, of the function.

c : Float. The limit of the constraint. The function is feasible if
        GL(beta) <= c. The default value is c=0, i.e. the default is
        a regularised formulation.

A : Numpy array. A (usually sparse) matrix. The linear operator for
        the Nesterov formulation. May not be None!

mu : Float. The Nesterov function regularisation constant for the
        smoothing.

penalty_start : Non-negative integer. The number of columns, variables
        etc., to exempt from penalisation. Equivalently, the first
        index to be penalised. Default is 0, all columns are included.

Overrides: object.__init__

phi(self, alpha, beta)

source code 

Function value with known alpha.

From the interface "NesterovFunction".

Overrides: properties.NesterovFunction.phi

feasible(self, beta)

source code 

Feasibility of the constraint.

From the interface "Constraint".

Overrides: properties.Constraint.feasible

L(self)

source code 

Lipschitz constant of the gradient.

From the interface "LipschitzContinuousGradient".

Overrides: properties.LipschitzContinuousGradient.L

lambda_max(self)

source code 

Largest eigenvalue of the corresponding covariance matrix.

From the interface "Eigenvalues".

Overrides: properties.Eigenvalues.lambda_max

project(self, a)

source code 
Projection onto the compact space of the Nesterov function.

From the interface "NesterovFunction".

Parameters
----------
alpha : List of numpy arrays (x-by-1). The not-yet-projected dual
        variable alpha.

Overrides: properties.NesterovFunction.project

M(self)

source code 
The maximum value of the regularisation of the dual variable. We
have

    M = max_{alpha in K} 0.5*||alpha||²_2.

Since each group may have at most L2-norm 1, M may not exceed the
number of groups, i.e. the number of groups divided by two is the
maximum.

From the interface "NesterovFunction".

Overrides: properties.NesterovFunction.M

estimate_mu(self, beta)

source code 
Compute a "good" value of mu with respect to the given beta.

Parameters
----------
beta : Numpy array (p-by-1). The primal variable at which to compute a
        feasible value of mu.

Overrides: properties.NesterovFunction.estimate_mu
(inherited documentation)