MgnBoost Class Reference

MgnBoost (margin maximizing boosting). More...

#include <mgnboost.h>

Inheritance diagram for MgnBoost:

Inheritance graph
[legend]
Collaboration diagram for MgnBoost:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 MgnBoost (bool cvx=false, const cost::Cost &c=cost::_cost)
 MgnBoost (std::istream &is)
virtual const id_tid () const
virtual MgnBoostcreate () const
 Create a new object using the default constructor.
virtual MgnBoostclone () const
 Create a new object by replicating itself.
virtual void train ()
 Train with preset data set and sample weight.

Protected Member Functions

virtual void train_gd ()
 Training using gradient-descent.

Friends

struct _mgn_gd

Detailed Description

MgnBoost (margin maximizing boosting).

MgnBoost is an implementation of the arc-gv boosting algorithm [1]. We add a proxy MgnCost to modify any cost function, though arc-gv only uses the exponential cost (which is the default). (Thus the use of other cost functions is just experimental.) The minimal margin is updated only before the gradient calculation, but not during the line-search step. This is exactly how arc-gv works. I've tried updating the minimal margin also in the line-search step, but it didn't work well (minimal margin remains very negative).

[1] L. Breiman. Prediction games and arcing algorithms. Neural Computation, 11(7):1493-1517, 1999.

Definition at line 51 of file mgnboost.h.


Constructor & Destructor Documentation

MgnBoost bool  cvx = false,
const cost::Cost c = cost::_cost
[inline, explicit]
 

Definition at line 58 of file mgnboost.h.

References Boosting::use_gradient_descent().

Referenced by MgnBoost::clone(), and MgnBoost::create().

MgnBoost std::istream &  is  )  [inline, explicit]
 

Definition at line 61 of file mgnboost.h.


Member Function Documentation

virtual MgnBoost* clone  )  const [inline, virtual]
 

Create a new object by replicating itself.

Returns:
A pointer to the new copy.
The code for a derived class Derived is always
 return new Derived(*this); 
Though seemingly redundant, it helps to copy an object without knowing the real type of the object.
See also:
C++ FAQ Lite 20.6

Reimplemented from Boosting.

Definition at line 65 of file mgnboost.h.

References MgnBoost::MgnBoost().

virtual MgnBoost* create  )  const [inline, virtual]
 

Create a new object using the default constructor.

The code for a derived class Derived is always

 return new Derived(); 

Reimplemented from Boosting.

Definition at line 64 of file mgnboost.h.

References MgnBoost::MgnBoost().

virtual const id_t& id  )  const [virtual]
 

Returns:
Class ID string (class name)

Reimplemented from Boosting.

void train  )  [virtual]
 

Train with preset data set and sample weight.

Reimplemented from Boosting.

Definition at line 13 of file mgnboost.cpp.

References Boosting::convex, Boosting::grad_desc_view, and Boosting::train().

void train_gd  )  [protected, virtual]
 

Training using gradient-descent.

Reimplemented from Boosting.

Definition at line 18 of file mgnboost.cpp.

References Boosting::convex, and lemga::iterative_optimize().


Friends And Related Function Documentation

friend struct _mgn_gd [friend]
 

Definition at line 52 of file mgnboost.h.


The documentation for this class was generated from the following files:
Generated on Wed Nov 8 08:17:03 2006 for LEMGA by  doxygen 1.4.6