PLearn 0.1
|
#include <ConstantRegressor.h>
Public Member Functions | |
ConstantRegressor () | |
virtual void | build () |
simply calls inherited::build() then build_() | |
virtual void | makeDeepCopyFromShallowCopy (CopiesMap &copies) |
Transforms a shallow copy into a deep copy. | |
virtual string | classname () const |
virtual OptionList & | getOptionList () const |
virtual OptionMap & | getOptionMap () const |
virtual RemoteMethodMap & | getRemoteMethodMap () const |
virtual ConstantRegressor * | deepCopy (CopiesMap &copies) const |
virtual int | outputsize () const |
returns the size of this learner's output, (which typically may depend on its inputsize(), targetsize() and set options) | |
virtual void | forget () |
(Re-)initializes the PLearner in its fresh state (that state may depend on the 'seed' option) And sets 'stage' back to 0 (this is the stage of a fresh learner!) | |
virtual void | train () |
The role of the train method is to bring the learner up to stage==nstages, updating the train_stats collector with training costs measured on-line in the process. | |
virtual void | computeOutput (const Vec &input, Vec &output) const |
Computes the output from the input. | |
virtual void | computeCostsFromOutputs (const Vec &input, const Vec &output, const Vec &target, Vec &costs) const |
Computes the costs from already computed output. | |
virtual TVec< string > | getTestCostNames () const |
Returns the names of the costs computed by computeCostsFromOutpus (and thus the test method) | |
virtual TVec< string > | getTrainCostNames () const |
Returns the names of the objective costs that the train method computes and for which it updates the VecStatsCollector train_stats. | |
Static Public Member Functions | |
static string | _classname_ () |
static OptionList & | _getOptionList_ () |
static RemoteMethodMap & | _getRemoteMethodMap_ () |
static Object * | _new_instance_for_typemap_ () |
static bool | _isa_ (const Object *o) |
static void | _static_initialize_ () |
static const PPath & | declaringFile () |
Public Attributes | |
real | weight_decay |
Weight decay; not usually useful but... | |
Static Public Attributes | |
static StaticInitializer | _static_initializer_ |
Static Protected Member Functions | |
static void | declareOptions (OptionList &ol) |
Declares this class' options. | |
Protected Attributes | |
Vec | constant_output |
Private Types | |
typedef PLearner | inherited |
Private Member Functions | |
void | build_ () |
This does the actual building. |
Definition at line 49 of file ConstantRegressor.h.
typedef PLearner PLearn::ConstantRegressor::inherited [private] |
Reimplemented from PLearn::PLearner.
Definition at line 52 of file ConstantRegressor.h.
PLearn::ConstantRegressor::ConstantRegressor | ( | ) |
Definition at line 46 of file ConstantRegressor.cc.
: weight_decay(0.0) { }
string PLearn::ConstantRegressor::_classname_ | ( | ) | [static] |
Reimplemented from PLearn::PLearner.
Definition at line 65 of file ConstantRegressor.cc.
OptionList & PLearn::ConstantRegressor::_getOptionList_ | ( | ) | [static] |
Reimplemented from PLearn::PLearner.
Definition at line 65 of file ConstantRegressor.cc.
RemoteMethodMap & PLearn::ConstantRegressor::_getRemoteMethodMap_ | ( | ) | [static] |
Reimplemented from PLearn::PLearner.
Definition at line 65 of file ConstantRegressor.cc.
Reimplemented from PLearn::PLearner.
Definition at line 65 of file ConstantRegressor.cc.
Object * PLearn::ConstantRegressor::_new_instance_for_typemap_ | ( | ) | [static] |
Reimplemented from PLearn::Object.
Definition at line 65 of file ConstantRegressor.cc.
StaticInitializer ConstantRegressor::_static_initializer_ & PLearn::ConstantRegressor::_static_initialize_ | ( | ) | [static] |
Reimplemented from PLearn::PLearner.
Definition at line 65 of file ConstantRegressor.cc.
void PLearn::ConstantRegressor::build | ( | ) | [virtual] |
simply calls inherited::build() then build_()
Reimplemented from PLearn::PLearner.
Definition at line 95 of file ConstantRegressor.cc.
References PLearn::PLearner::build(), and build_().
{ inherited::build(); build_(); }
void PLearn::ConstantRegressor::build_ | ( | ) | [private] |
This does the actual building.
Reimplemented from PLearn::PLearner.
Definition at line 90 of file ConstantRegressor.cc.
Referenced by build().
{ }
string PLearn::ConstantRegressor::classname | ( | ) | const [virtual] |
Reimplemented from PLearn::Object.
Definition at line 65 of file ConstantRegressor.cc.
void PLearn::ConstantRegressor::computeCostsFromOutputs | ( | const Vec & | input, |
const Vec & | output, | ||
const Vec & | target, | ||
Vec & | costs | ||
) | const [virtual] |
Computes the costs from already computed output.
Implements PLearn::PLearner.
Definition at line 168 of file ConstantRegressor.cc.
References PLearn::powdistance(), and PLearn::TVec< T >::resize().
{ // Compute the costs from *already* computed output. costs.resize(1); costs[0] = powdistance(output,target); }
Computes the output from the input.
Reimplemented from PLearn::PLearner.
Definition at line 161 of file ConstantRegressor.cc.
References constant_output, outputsize(), and PLearn::TVec< T >::resize().
{ // Compute the output from the input output.resize(outputsize()); output << constant_output; }
void PLearn::ConstantRegressor::declareOptions | ( | OptionList & | ol | ) | [static, protected] |
Declares this class' options.
Reimplemented from PLearn::PLearner.
Definition at line 67 of file ConstantRegressor.cc.
References PLearn::OptionBase::buildoption, constant_output, PLearn::declareOption(), PLearn::PLearner::declareOptions(), PLearn::OptionBase::learntoption, and weight_decay.
{ // ### Declare all of this object's options here // ### For the "flags" of each option, you should typically specify // ### one of OptionBase::buildoption, OptionBase::learntoption or // ### OptionBase::tuningoption. Another possible flag to be combined with // ### is OptionBase::nosave declareOption(ol, "weight_decay", &ConstantRegressor::weight_decay, OptionBase::buildoption, "Weight decay parameter. Default=0. NOT CURRENTLY TAKEN INTO ACCOUNT!"); // ### ex: declareOption(ol, "constant_output", &ConstantRegressor::constant_output, OptionBase::learntoption, "This is the learnt parameter, the constant output. During training\n" "It is set to the (possibly weighted) average of the targets.\n" ); // Now call the parent class' declareOptions inherited::declareOptions(ol); }
static const PPath& PLearn::ConstantRegressor::declaringFile | ( | ) | [inline, static] |
Reimplemented from PLearn::PLearner.
Definition at line 112 of file ConstantRegressor.h.
ConstantRegressor * PLearn::ConstantRegressor::deepCopy | ( | CopiesMap & | copies | ) | const [virtual] |
Reimplemented from PLearn::PLearner.
Definition at line 65 of file ConstantRegressor.cc.
void PLearn::ConstantRegressor::forget | ( | ) | [virtual] |
(Re-)initializes the PLearner in its fresh state (that state may depend on the 'seed' option) And sets 'stage' back to 0 (this is the stage of a fresh learner!)
Reimplemented from PLearn::PLearner.
Definition at line 113 of file ConstantRegressor.cc.
{
// Since this is a one-shot learner, there is nothing to forget.
}
OptionList & PLearn::ConstantRegressor::getOptionList | ( | ) | const [virtual] |
Reimplemented from PLearn::Object.
Definition at line 65 of file ConstantRegressor.cc.
OptionMap & PLearn::ConstantRegressor::getOptionMap | ( | ) | const [virtual] |
Reimplemented from PLearn::Object.
Definition at line 65 of file ConstantRegressor.cc.
RemoteMethodMap & PLearn::ConstantRegressor::getRemoteMethodMap | ( | ) | const [virtual] |
Reimplemented from PLearn::Object.
Definition at line 65 of file ConstantRegressor.cc.
TVec< string > PLearn::ConstantRegressor::getTestCostNames | ( | ) | const [virtual] |
Returns the names of the costs computed by computeCostsFromOutpus (and thus the test method)
Implements PLearn::PLearner.
Definition at line 176 of file ConstantRegressor.cc.
References getTrainCostNames().
{ // Return the names of the costs computed by computeCostsFromOutpus return getTrainCostNames(); }
TVec< string > PLearn::ConstantRegressor::getTrainCostNames | ( | ) | const [virtual] |
Returns the names of the objective costs that the train method computes and for which it updates the VecStatsCollector train_stats.
Implements PLearn::PLearner.
Definition at line 182 of file ConstantRegressor.cc.
Referenced by getTestCostNames().
{ // Return the names of the objective costs that the train method computes and // for which it updates the VecStatsCollector train_stats return TVec<string>(1,"mse"); }
void PLearn::ConstantRegressor::makeDeepCopyFromShallowCopy | ( | CopiesMap & | copies | ) | [virtual] |
Transforms a shallow copy into a deep copy.
Reimplemented from PLearn::PLearner.
Definition at line 102 of file ConstantRegressor.cc.
References PLearn::PLearner::makeDeepCopyFromShallowCopy().
{ inherited::makeDeepCopyFromShallowCopy(copies); }
int PLearn::ConstantRegressor::outputsize | ( | ) | const [virtual] |
returns the size of this learner's output, (which typically may depend on its inputsize(), targetsize() and set options)
Implements PLearn::PLearner.
Definition at line 108 of file ConstantRegressor.cc.
References PLearn::PLearner::targetsize().
Referenced by computeOutput().
{ return targetsize(); }
void PLearn::ConstantRegressor::train | ( | ) | [virtual] |
The role of the train method is to bring the learner up to stage==nstages, updating the train_stats collector with training costs measured on-line in the process.
Implements PLearn::PLearner.
Definition at line 118 of file ConstantRegressor.cc.
References PLearn::TVec< T >::clear(), constant_output, PLearn::VMat::getExample(), PLearn::TVec< T >::hasMissing(), i, PLearn::PLearner::inputsize(), PLearn::VMat::length(), PLearn::multiply(), PLearn::multiplyAdd(), PLearn::PLearner::n_examples, PLearn::powdistance(), PLearn::TVec< T >::resize(), PLearn::PLearner::targetsize(), PLearn::PLearner::train_set, and PLearn::PLearner::train_stats.
{ // The role of the train method is to bring the learner up to stage==nstages, // updating train_stats with training costs measured on-line in the process. Vec input; // Not static because God knows who may be using a ConstantRegressor. Vec target; Vec train_costs; Vec sum_of_weighted_targets; real weight; train_costs.resize(1); input.resize(inputsize()); // the train_set's inputsize() target.resize(targetsize()); // the train_set's targetsize() sum_of_weighted_targets.resize(targetsize()); // the running sum of weighted targets constant_output.resize(targetsize()); if(!train_stats) // make a default stats collector, in case there's none train_stats = new VecStatsCollector(); real sum_of_weights = 0; sum_of_weighted_targets.clear(); int n_examples = train_set->length(); for (int i=0;i<n_examples;i++) { train_set->getExample(i, input, target, weight); // Skip the observation if it has any missings... (for now, next // version should only skip the components that have a missing value) if (target.hasMissing()) continue; multiplyAdd(sum_of_weighted_targets,target,weight,sum_of_weighted_targets); sum_of_weights += weight; multiply(sum_of_weighted_targets,real(1.0/sum_of_weights),constant_output); train_costs[0] = weight*powdistance(constant_output,target); train_stats->update(train_costs); } train_stats->finalize(); // finalize statistics for this one and only epoch }
Reimplemented from PLearn::PLearner.
Definition at line 112 of file ConstantRegressor.h.
Vec PLearn::ConstantRegressor::constant_output [protected] |
Definition at line 60 of file ConstantRegressor.h.
Referenced by computeOutput(), declareOptions(), and train().
Weight decay; not usually useful but...
Definition at line 65 of file ConstantRegressor.h.
Referenced by declareOptions().