Source code for secure_learning.models.secure_ridge

"""
Implementation of Ridge regression model.
"""
from tno.mpc.mpyc.secure_learning.models.secure_linear import Linear
from tno.mpc.mpyc.secure_learning.models.secure_model import PenaltyTypes, SolverTypes


[docs] class Ridge(Linear): r""" Solver for Ridge regression. Optimizes a model with objective function $$\frac{1}{{2n}_{\textrm{samples}}} \times ||y - Xw||^2_2 + \frac{\alpha}{2} \times ||w||^2_2$$ """ name = "Ridge regression"
[docs] def __init__( self, solver_type: SolverTypes = SolverTypes.GD, alpha: float = 1, ) -> None: """ Constructor method. :param solver_type: Solver type to use (e.g. Gradient Descent aka GD) :param alpha: Regularization parameter """ super().__init__(solver_type, penalty=PenaltyTypes.L2, alpha=alpha)