classias::train::truncated_gradient_multi< error_tmpl > Class Template Reference

Inheritance diagram for classias::train::truncated_gradient_multi< error_tmpl >:

classias::train::truncated_gradient_base< error_tmpl >

Detailed Description

template<class error_tmpl>
class classias::train::truncated_gradient_multi< error_tmpl >

Truncated gradient for multi-class classification.

Parameters:
error_tmpl The type of the error (loss) function.


Public Types

typedef error_tmpl error_type
 The type implementing an error function.
typedef error_type::model_type model_type
 The type implementing a model (weight vector for features).
typedef model_type::value_type value_type
 The type representing a value.
typedef truncated_gradient_base<
error_tmpl > 
base_class
 A synonym of the base class.
typedef truncated_gradient_multi<
error_tmpl > 
this_class
 A synonym of this class.

Public Member Functions

template<class iterator_type, class feature_generator_type>
void update (iterator_type it, feature_generator_type &fgen)
 Receives a training instance and updates feature weights.
template<class iterator_type>
void update (iterator_type first, iterator_type last)
 Receives multiple training instances and updates feature weights.

Protected Member Functions

template<class feature_generator_type, class iterator_type>
void update_weights (int l, feature_generator_type &fgen, iterator_type first, iterator_type last, value_type delta)
 Adds a value to weights associated with a feature vector.
template<class feature_generator_type, class iterator_type>
void apply_penalty (int l, feature_generator_type &fgen, iterator_type first, iterator_type last)
 Applies L1 penalties to the feature weights.


Member Function Documentation

template<class error_tmpl>
template<class iterator_type, class feature_generator_type>
void classias::train::truncated_gradient_multi< error_tmpl >::update ( iterator_type  it,
feature_generator_type &  fgen 
) [inline]

Receives a training instance and updates feature weights.

Parameters:
it An interator for the training instance.
fgen The feature generator.
Returns:
value_type The loss computed for the instance.

template<class error_tmpl>
template<class iterator_type>
void classias::train::truncated_gradient_multi< error_tmpl >::update ( iterator_type  first,
iterator_type  last 
) [inline]

Receives multiple training instances and updates feature weights.

Parameters:
first The iterator pointing to the first instance.
last The iterator pointing just beyond the last instance.
Returns:
value_type The loss computed for the instances.

template<class error_tmpl>
template<class feature_generator_type, class iterator_type>
void classias::train::truncated_gradient_multi< error_tmpl >::update_weights ( int  l,
feature_generator_type &  fgen,
iterator_type  first,
iterator_type  last,
value_type  delta 
) [inline, protected]

Adds a value to weights associated with a feature vector.

Parameters:
l The candidate index.
fgen The feature generator.
first The iterator pointing to the first element of the feature vector.
last The iterator pointing just beyond the last element of the feature vector.
delta The value to be added to the weights.

template<class error_tmpl>
template<class feature_generator_type, class iterator_type>
void classias::train::truncated_gradient_multi< error_tmpl >::apply_penalty ( int  l,
feature_generator_type &  fgen,
iterator_type  first,
iterator_type  last 
) [inline, protected]

Applies L1 penalties to the feature weights.

This function applies L1 penalties to the weights in a feature vector.

Parameters:
l The candidate index.
fgen The feature generator.
first The iterator pointing to the first element of the feature vector.
last The iterator pointing just beyond the last element of the feature vector.


Copyright (c) 2002-2009 by Naoaki Okazaki
Mon Dec 28 23:41:08 2009