31 #ifndef FIRSTORDERSTOCHASTICMINIMIZER_H
32 #define FIRSTORDERSTOCHASTICMINIMIZER_H
106 REQUIRE(gradient_updater,
"Gradient updater must set\n");
127 REQUIRE(num_passes>0,
"The number (%d) to go through data must be positive\n", num_passes);
138 REQUIRE(context,
"Context must set\n");
144 std::string key=
"FirstOrderStochasticMinimizer::m_iter_counter";
189 REQUIRE(context,
"Context must set\n");
195 std::string key=
"FirstOrderStochasticMinimizer::m_iter_counter";
206 REQUIRE(m_gradient_updater,
"Descend updater must set\n");
227 m_gradient_updater=NULL;
228 m_learning_rate=NULL;
virtual void set_number_passes(int32_t num_passes)
virtual void save_data(const std::string &key, SGVector< float64_t > value)
virtual void update_context(CMinimizerContext *context)
DescendUpdater * m_gradient_updater
virtual void set_gradient_updater(DescendUpdater *gradient_updater)
FirstOrderStochasticMinimizer(FirstOrderStochasticCostFunction *fun)
virtual void set_learning_rate(LearningRate *learning_rate)
The base class about learning rate for descent-based minimizers.
float64_t m_penalty_weight
The class is used to serialize and deserialize variables for the optimization framework.
FirstOrderCostFunction * m_fun
FirstOrderStochasticMinimizer()
virtual void init_minimization()
The base class for sparse penalty/regularization used in minimization.
The first order stochastic cost function base class.
The base class for sparse penalty/regularization used in minimization.
The base class for stochastic first-order gradient-based minimizers.
LearningRate * m_learning_rate
virtual float64_t minimize()=0
virtual void update_variable_for_proximity(SGVector< float64_t > variable, float64_t proximal_weight)=0
virtual void load_from_context(CMinimizerContext *context)=0
virtual bool supports_batch_update() const
This is a base class for descend update.
virtual void update_context(CMinimizerContext *context)=0
all of classes and functions are contained in the shogun namespace
virtual void update_context(CMinimizerContext *context)=0
virtual void load_from_context(CMinimizerContext *context)
virtual float64_t get_learning_rate(int32_t iter_counter)=0
virtual void update_context(CMinimizerContext *context)
virtual ~FirstOrderStochasticMinimizer()
virtual void load_from_context(CMinimizerContext *context)=0
virtual void do_proximal_operation(SGVector< float64_t >variable_reference)
virtual void load_from_context(CMinimizerContext *context)
virtual int32_t get_iteration_counter()
virtual int32_t get_data_int32(const std::string &key)
The first order minimizer base class.