38  virtual double loss(
const Eigen::MatrixXd& eta, 
const Eigen::MatrixXd& y) = 0;
 
   51  virtual double dual(
const Eigen::MatrixXd& theta,
 
   52                      const Eigen::MatrixXd& y,
 
   53                      const Eigen::VectorXd& w) = 0;
 
   67  Eigen::MatrixXd 
residual(
const Eigen::MatrixXd& eta,
 
   68                           const Eigen::MatrixXd& y);
 
   96                                               const Eigen::MatrixXd& eta,
 
   97                                               const Eigen::MatrixXd& y);
 
  115                               const Eigen::MatrixXd& eta,
 
  116                               const Eigen::MatrixXd& y)
 
  119    beta0 -= 
residual.colwise().mean() / this->lipschitz_constant;
 
 
  130  virtual Eigen::MatrixXd 
link(
const Eigen::MatrixXd& mu) = 0;
 
  138  virtual Eigen::MatrixXd 
inverseLink(
const Eigen::MatrixXd& eta) = 0;
 
  145  virtual Eigen::MatrixXd 
predict(
const Eigen::MatrixXd& eta) = 0;
 
  154  virtual double deviance(
const Eigen::MatrixXd& eta, 
const Eigen::MatrixXd& y)
 
 
  167  explicit Loss(
double lipschitz_constant)
 
  168    : lipschitz_constant(lipschitz_constant)
 
 
  173  const double lipschitz_constant;
 
 
Loss(double lipschitz_constant)
Constructs an loss function with specified Lipschitz constant.
 
virtual double loss(const Eigen::MatrixXd &eta, const Eigen::MatrixXd &y)=0
Calculates the loss function.
 
virtual Eigen::MatrixXd preprocessResponse(const Eigen::MatrixXd &y)=0
Preprocess response.
 
virtual double deviance(const Eigen::MatrixXd &eta, const Eigen::MatrixXd &y)
Computes deviance, which is 2 times the difference between the loglikelihood of the model and the log...
 
virtual void updateIntercept(Eigen::VectorXd &beta0, const Eigen::MatrixXd &eta, const Eigen::MatrixXd &y)
Updates the intercept with a gradient descent update.
 
Eigen::MatrixXd residual(const Eigen::MatrixXd &eta, const Eigen::MatrixXd &y)
Calculates the generalized residual.
 
virtual void updateWeightsAndWorkingResponse(Eigen::MatrixXd &w, Eigen::MatrixXd &z, const Eigen::MatrixXd &eta, const Eigen::MatrixXd &y)
Updates weights and working response.
 
virtual Eigen::MatrixXd inverseLink(const Eigen::MatrixXd &eta)=0
The inverse link function, also known as the mean function.
 
virtual Eigen::MatrixXd predict(const Eigen::MatrixXd &eta)=0
Return predicted response.
 
virtual double dual(const Eigen::MatrixXd &theta, const Eigen::MatrixXd &y, const Eigen::VectorXd &w)=0
Calculates the dual loss.
 
virtual Eigen::MatrixXd hessianDiagonal(const Eigen::MatrixXd &eta)=0
Calculates the hessian diagonal of the loss function.
 
virtual ~Loss()=default
Destructor for the Loss class.
 
virtual Eigen::MatrixXd link(const Eigen::MatrixXd &mu)=0
The link function.
 
Namespace containing SLOPE regression implementation.