|
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.