Turi Create
4.0
|
#include <ml/optimization/regularizer_interface.hpp>
Public Member Functions | |
virtual | ~regularizer_interface () |
bool | is_smooth () |
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 which are separable but not smooth.
Definition at line 42 of file regularizer_interface.hpp.
|
inlinevirtual |
Default desctuctor.
Definition at line 49 of file regularizer_interface.hpp.
|
pure virtual |
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 virtual |
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 virtual |
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.
|
inline |
Function to determine if the regularizer is smooth.
Definition at line 56 of file regularizer_interface.hpp.