Classifier using adaboost on combinations of simple 1D classifiers. More...
#include <clsfy_direct_boost.h>

Public Member Functions | |
| clsfy_direct_boost () | |
| Default constructor. | |
| clsfy_direct_boost (const clsfy_direct_boost &) | |
| Copy constructor. | |
| clsfy_direct_boost & | operator= (const clsfy_direct_boost &) |
| Copy operator. | |
| ~clsfy_direct_boost () | |
| Destructor. | |
| bool | operator== (const clsfy_direct_boost &x) const |
| Comparison. | |
| void | clear () |
| Clear all wts and classifiers. | |
| void | add_one_classifier (clsfy_classifier_1d *c1d, double wt, int index) |
| Add classifier and alpha value. | |
| void | set_n_clfrs_used (unsigned int x) |
| Set number of classifiers used (when applying strong classifier). | |
| int | n_clfrs_used () const |
| Access. | |
| void | add_one_threshold (double thresh) |
| Add one threshold. | |
| void | add_final_threshold (double thresh) |
| Add final threshold. | |
| virtual void | class_probabilities (vcl_vector< double > &outputs, const vnl_vector< double > &input) const |
| Find the posterior probability of the input being in the positive class. | |
| virtual unsigned | classify (const vnl_vector< double > &input) const |
| Classify the input vector. | |
| virtual double | log_l (const vnl_vector< double > &input) const |
| Log likelihood of being in the positive class. | |
| virtual unsigned | n_dims () const |
| The dimensionality of input vectors. | |
| void | set_n_dims (unsigned x) |
| Set number of classifiers used (when applying strong classifier). | |
| virtual unsigned | n_classes () const |
| The number of possible output classes. | |
| void | set_parameters (const vcl_vector< clsfy_classifier_1d * > &classifier, const vcl_vector< double > &threshes, const vcl_vector< double > &wts, const vcl_vector< int > &index) |
| Set parameters. Clones taken of *classifier[i]. | |
| const vcl_vector < clsfy_classifier_1d * > & | classifiers () const |
| Access functions. | |
| const vcl_vector< double > & | wts () const |
| const vcl_vector< int > & | index () const |
| const vcl_vector< double > & | threshes () const |
| short | version_no () const |
| Version number for I/O. | |
| virtual vcl_string | is_a () const |
| Name of the class. | |
| virtual bool | is_class (vcl_string const &s) const |
| Name of the class. | |
| virtual void | print_summary (vcl_ostream &os) const |
| Print class to os. | |
| virtual void | b_write (vsl_b_ostream &bfs) const |
| Save class to a binary File Stream. | |
| virtual clsfy_classifier_base * | clone () const |
| Create a deep copy. | |
| virtual void | b_read (vsl_b_istream &bfs) |
| Load the class from a Binary File Stream. | |
| virtual void | classify_many (vcl_vector< unsigned > &outputs, mbl_data_wrapper< vnl_vector< double > > &inputs) const |
| Classify many input vectors. | |
Protected Member Functions | |
| void | delete_stuff () |
| Delete objects on heap. | |
Protected Attributes | |
| vcl_vector< clsfy_classifier_1d * > | classifier_1d_ |
| The classifiers in order. | |
| vcl_vector< double > | wts_ |
| Coefficients applied to each classifier. | |
| vcl_vector< int > | index_ |
| Index of input vector appropriate for each classifier. | |
| vcl_vector< double > | threshes_ |
| Thresholds given variable number of weak classifiers. | |
| int | n_clfrs_used_ |
| number of classifiers used. | |
| int | n_dims_ |
| dimensionality of data. | |
Classifier using adaboost on combinations of simple 1D classifiers.
Uses a weighted combination of 1D classifiers applied to the elements of the input vector.
Definition at line 17 of file clsfy_direct_boost.h.
| clsfy_direct_boost::clsfy_direct_boost | ( | ) |
Default constructor.
Definition at line 22 of file clsfy_direct_boost.cxx.
| clsfy_direct_boost::clsfy_direct_boost | ( | const clsfy_direct_boost & | c | ) |
Copy constructor.
Definition at line 27 of file clsfy_direct_boost.cxx.
| clsfy_direct_boost::~clsfy_direct_boost | ( | ) |
Destructor.
Definition at line 64 of file clsfy_direct_boost.cxx.
| void clsfy_direct_boost::add_final_threshold | ( | double | thresh | ) |
Add final threshold.
Definition at line 133 of file clsfy_direct_boost.cxx.
| void clsfy_direct_boost::add_one_classifier | ( | clsfy_classifier_1d * | c1d, |
| double | wt, | ||
| int | index | ||
| ) |
Add classifier and alpha value.
Add weak classifier and alpha value.
nb also changes n_clfrs_used to use all current weak classifiers nb calc total threshold (ie threshes_ separately, see below)
Definition at line 114 of file clsfy_direct_boost.cxx.
| void clsfy_direct_boost::add_one_threshold | ( | double | thresh | ) |
Add one threshold.
Definition at line 126 of file clsfy_direct_boost.cxx.
| void clsfy_direct_boost::b_read | ( | vsl_b_istream & | bfs | ) | [virtual] |
Load the class from a Binary File Stream.
Implements clsfy_classifier_base.
Definition at line 242 of file clsfy_direct_boost.cxx.
| void clsfy_direct_boost::b_write | ( | vsl_b_ostream & | bfs | ) | const [virtual] |
Save class to a binary File Stream.
Implements clsfy_classifier_base.
Definition at line 231 of file clsfy_direct_boost.cxx.
| void clsfy_direct_boost::class_probabilities | ( | vcl_vector< double > & | outputs, |
| const vnl_vector< double > & | input | ||
| ) | const [virtual] |
Find the posterior probability of the input being in the positive class.
The result is outputs(0)
Implements clsfy_classifier_base.
Definition at line 165 of file clsfy_direct_boost.cxx.
| const vcl_vector<clsfy_classifier_1d*>& clsfy_direct_boost::classifiers | ( | ) | const [inline] |
Access functions.
Definition at line 110 of file clsfy_direct_boost.h.
| unsigned clsfy_direct_boost::classify | ( | const vnl_vector< double > & | v | ) | const [virtual] |
Classify the input vector.
Returns a number between 0 and nClasses-1 inclusive to represent the most likely class
Returns either 1 (for positive class) or 0 (for negative class)
Reimplemented from clsfy_classifier_base.
Definition at line 142 of file clsfy_direct_boost.cxx.
| void clsfy_classifier_base::classify_many | ( | vcl_vector< unsigned > & | outputs, |
| mbl_data_wrapper< vnl_vector< double > > & | inputs | ||
| ) | const [virtual, inherited] |
Classify many input vectors.
Definition at line 55 of file clsfy_classifier_base.cxx.
| void clsfy_direct_boost::clear | ( | ) |
Clear all wts and classifiers.
Definition at line 105 of file clsfy_direct_boost.cxx.
| virtual clsfy_classifier_base* clsfy_direct_boost::clone | ( | ) | const [inline, virtual] |
Create a deep copy.
Client is responsible for deleting returned object.
Implements clsfy_classifier_base.
Definition at line 137 of file clsfy_direct_boost.h.
| void clsfy_direct_boost::delete_stuff | ( | ) | [protected] |
Delete objects on heap.
Definition at line 50 of file clsfy_direct_boost.cxx.
| const vcl_vector<int>& clsfy_direct_boost::index | ( | ) | const [inline] |
Definition at line 115 of file clsfy_direct_boost.h.
| vcl_string clsfy_direct_boost::is_a | ( | ) | const [virtual] |
Name of the class.
Reimplemented from clsfy_classifier_base.
Definition at line 193 of file clsfy_direct_boost.cxx.
| bool clsfy_direct_boost::is_class | ( | vcl_string const & | s | ) | const [virtual] |
Name of the class.
Reimplemented from clsfy_classifier_base.
Definition at line 200 of file clsfy_direct_boost.cxx.
| double clsfy_direct_boost::log_l | ( | const vnl_vector< double > & | v | ) | const [virtual] |
Log likelihood of being in the positive class.
Class probability = 1 / (1+exp(-log_l))
Implements clsfy_classifier_base.
Definition at line 176 of file clsfy_direct_boost.cxx.
| virtual unsigned clsfy_direct_boost::n_classes | ( | ) | const [inline, virtual] |
The number of possible output classes.
1 indicates a binary classifier
Implements clsfy_classifier_base.
Definition at line 101 of file clsfy_direct_boost.h.
| int clsfy_direct_boost::n_clfrs_used | ( | ) | const [inline] |
Access.
Definition at line 73 of file clsfy_direct_boost.h.
| virtual unsigned clsfy_direct_boost::n_dims | ( | ) | const [inline, virtual] |
The dimensionality of input vectors.
Implements clsfy_classifier_base.
Definition at line 94 of file clsfy_direct_boost.h.
| clsfy_direct_boost & clsfy_direct_boost::operator= | ( | const clsfy_direct_boost & | c | ) |
Copy operator.
Definition at line 34 of file clsfy_direct_boost.cxx.
| bool clsfy_direct_boost::operator== | ( | const clsfy_direct_boost & | x | ) | const |
Comparison.
Definition at line 71 of file clsfy_direct_boost.cxx.
| void clsfy_direct_boost::print_summary | ( | vcl_ostream & | os | ) | const [virtual] |
Print class to os.
Implements clsfy_classifier_base.
Definition at line 208 of file clsfy_direct_boost.cxx.
| void clsfy_direct_boost::set_n_clfrs_used | ( | unsigned int | x | ) | [inline] |
Set number of classifiers used (when applying strong classifier).
Definition at line 70 of file clsfy_direct_boost.h.
| void clsfy_direct_boost::set_n_dims | ( | unsigned | x | ) | [inline] |
Set number of classifiers used (when applying strong classifier).
Definition at line 97 of file clsfy_direct_boost.h.
| void clsfy_direct_boost::set_parameters | ( | const vcl_vector< clsfy_classifier_1d * > & | classifier, |
| const vcl_vector< double > & | threshes, | ||
| const vcl_vector< double > & | wts, | ||
| const vcl_vector< int > & | index | ||
| ) |
Set parameters. Clones taken of *classifier[i].
Definition at line 85 of file clsfy_direct_boost.cxx.
| const vcl_vector<double>& clsfy_direct_boost::threshes | ( | ) | const [inline] |
Definition at line 117 of file clsfy_direct_boost.h.
| short clsfy_direct_boost::version_no | ( | ) | const |
Version number for I/O.
Definition at line 224 of file clsfy_direct_boost.cxx.
| const vcl_vector<double>& clsfy_direct_boost::wts | ( | ) | const [inline] |
Definition at line 113 of file clsfy_direct_boost.h.
vcl_vector<clsfy_classifier_1d*> clsfy_direct_boost::classifier_1d_ [protected] |
The classifiers in order.
Definition at line 22 of file clsfy_direct_boost.h.
vcl_vector<int> clsfy_direct_boost::index_ [protected] |
Index of input vector appropriate for each classifier.
Definition at line 28 of file clsfy_direct_boost.h.
int clsfy_direct_boost::n_clfrs_used_ [protected] |
number of classifiers used.
Definition at line 35 of file clsfy_direct_boost.h.
int clsfy_direct_boost::n_dims_ [protected] |
dimensionality of data.
(ie size of input vectors v, ie the total number of different features)
Definition at line 39 of file clsfy_direct_boost.h.
vcl_vector<double> clsfy_direct_boost::threshes_ [protected] |
Thresholds given variable number of weak classifiers.
ie threshes[nc-1] is the threshold when using nc weak classifiers
Definition at line 32 of file clsfy_direct_boost.h.
vcl_vector<double> clsfy_direct_boost::wts_ [protected] |
Coefficients applied to each classifier.
Definition at line 25 of file clsfy_direct_boost.h.
1.7.5.1