Commit 22b57240 authored by Davis King's avatar Davis King

Added some comments that document how the tolerance parameters relate to

projection error as given by the empirical_kernel_map.

--HG--
extra : convert_revision : svn%3Afdd8eb12-d10e-0410-9acb-85c331704f74/trunk%403408
parent 2b0ae8ad
......@@ -147,6 +147,14 @@ namespace dlib
estimate but also in less dictionary vectors. (Note that in any case,
the max_dictionary_size() limits the number of dictionary vectors no
matter the setting of the tolerance)
- The exact meaning of the tolerance parameter is the following:
Imagine that we have an empirical_kernel_map that contains all
the current dictionary vectors. Then the tolerance is the minimum
projection error (as given by empirical_kernel_map::project()) required
to cause us to include a new vector in the dictionary. So each time
you call train() the kcentroid basically just computes the projection
error for that new sample and if it is larger than the tolerance
then that new sample becomes part of the dictionary.
!*/
void clear_dictionary (
......
......@@ -75,6 +75,14 @@ namespace dlib
estimate while also resulting in a bigger set of dictionary vectors in
the learned decision function. Bigger tolerances values result in a
less accurate decision function but also in less dictionary vectors.
- The exact meaning of the tolerance parameter is the following:
Imagine that we have an empirical_kernel_map that contains all
the current dictionary vectors. Then the tolerance is the minimum
projection error (as given by empirical_kernel_map::project()) required
to cause us to include a new vector in the dictionary. So each time
you call train() the krls object basically just computes the projection
error for that new sample and if it is larger than the tolerance
then that new sample becomes part of the dictionary.
!*/
const kernel_type& get_kernel (
......
......@@ -95,6 +95,14 @@ namespace dlib
a sample must be for it to even be considered for addition to the dictionary.
Moreover, bigger values of this field will make the algorithm run faster but
might give less accurate results.
- The exact meaning of the tolerance parameter is the following:
Imagine that we have an empirical_kernel_map that contains all the current
dictionary vectors. Then the tolerance is the minimum projection error
(as given by empirical_kernel_map::project()) required to cause us to
include a new vector in the dictionary. So each time you call add() this
object basically just computes the projection error for that new sample
and if it is larger than the tolerance then that new sample becomes part
of the dictionary.
!*/
void clear_dictionary (
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment