Turi Create
4.0
|
#include <ml/optimization/regularizer_interface.hpp>
Public Member Functions | |
bool | is_smooth () |
virtual | ~smooth_regularizer_interface () |
virtual void | compute_hessian (const DenseVector &point, DiagonalMatrix &hessian) const =0 |
virtual double | compute_function_value (const DenseVector &point) const =0 |
virtual void | compute_gradient (const DenseVector &point, DenseVector &gradient) const =0 |
virtual void | apply_proximal_operator (DenseVector &point, const double &_penalty=0) const =0 |
Interface for regularizers that separable and smooth.
Definition at line 105 of file regularizer_interface.hpp.
|
inlinevirtual |
Default desctuctor.
Definition at line 118 of file regularizer_interface.hpp.
|
pure virtualinherited |
Compute the proximal operator for the regularizer at a given point.
[in,out] | point | Point at which we are computing the gradient. |
[in] | penalty | Penalty parameters. |
References:
(1) Parikh, Neal, and Stephen Boyd. "Foundations and Trends in Optimization." (2014).
Implemented in turi::optimization::elastic_net, turi::optimization::l1_norm, and turi::optimization::l2_norm.
|
pure virtualinherited |
Compute the function value of the regularizer at a given point.
[in] | point | Point at which we are computing the gradient. |
Implemented in turi::optimization::elastic_net, turi::optimization::l1_norm, and turi::optimization::l2_norm.
|
pure virtualinherited |
Compute the gradient (or subgradient) at the given point.
[in] | point | Point at which we are computing the gradient. |
[out] | gradient | Dense gradient |
Implemented in turi::optimization::elastic_net, turi::optimization::l1_norm, and turi::optimization::l2_norm.
|
pure virtual |
Compute the hessian of the regularizer at a given point.
[in] | point | Point at which we are computing the gradient. |
[in,out] | hessian | Diagonal matrix as the hessian gradient. |
Implemented in turi::optimization::l2_norm.
|
inline |
Function to determine if the regularizer is smooth.
Definition at line 113 of file regularizer_interface.hpp.