diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-03-21 17:19:04 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-03-21 17:19:04 +0000 |
commit | 310edf444908b09ea6d00c03baceb7925f3bb7a2 (patch) | |
tree | 7064577c7fa7a851e2e930beb606ea8237b0bbd2 /ml/dlib/docs/docs/ml.xml | |
parent | Releasing debian version 1.44.3-2. (diff) | |
download | netdata-310edf444908b09ea6d00c03baceb7925f3bb7a2.tar.xz netdata-310edf444908b09ea6d00c03baceb7925f3bb7a2.zip |
Merging upstream version 1.45.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'ml/dlib/docs/docs/ml.xml')
-rw-r--r-- | ml/dlib/docs/docs/ml.xml | 3957 |
1 files changed, 0 insertions, 3957 deletions
diff --git a/ml/dlib/docs/docs/ml.xml b/ml/dlib/docs/docs/ml.xml deleted file mode 100644 index f97e7da57..000000000 --- a/ml/dlib/docs/docs/ml.xml +++ /dev/null @@ -1,3957 +0,0 @@ -<?xml version="1.0" encoding="ISO-8859-1"?> -<?xml-stylesheet type="text/xsl" href="stylesheet.xsl"?> - -<doc> - <title>Machine Learning</title> - - <!-- ************************************************************************* --> - - <body> - - <a href="ml_guide.svg"><img src="ml_guide.svg" width="100%"/></a> - <br/> - <br/> - <p><font style='font-size:1.4em;line-height:1.1em'> - Dlib contains a wide range of machine learning algorithms. All - designed to be highly modular, quick to execute, and simple to use - via a clean and modern C++ API. It is used in a wide range of - applications including robotics, embedded devices, mobile phones, and large - high performance computing environments. If you use dlib in your - research please cite: - </font></p> - <pre> -Davis E. King. <a href="http://jmlr.csail.mit.edu/papers/volume10/king09a/king09a.pdf">Dlib-ml: A Machine Learning Toolkit</a>. - <i>Journal of Machine Learning Research</i>, 2009 - -@Article{dlib09, - author = {Davis E. King}, - title = {Dlib-ml: A Machine Learning Toolkit}, - journal = {Journal of Machine Learning Research}, - year = {2009}, - volume = {10}, - pages = {1755-1758}, -} - </pre> - - </body> - - <!-- ************************************************************************* --> - - <menu width="150"> - <top> - - <center><h2><u>Primary Algorithms</u></h2></center> - <section> - <name>Binary Classification</name> - <item>svm_nu_trainer</item> - <item>svm_c_trainer</item> - <item>svm_c_linear_trainer</item> - <item>svm_c_linear_dcd_trainer</item> - <item>svm_c_ekm_trainer</item> - <item>rvm_trainer</item> - <item>svm_pegasos</item> - <item>train_probabilistic_decision_function</item> - </section> - <section> - <name>Multiclass Classification</name> - <item>one_vs_one_trainer</item> - <item>one_vs_all_trainer</item> - <item>svm_multiclass_linear_trainer</item> - </section> - <section> - <name>Regression</name> - <item>mlp</item> - <item>krls</item> - <item>rls</item> - <item>krr_trainer</item> - <item>rr_trainer</item> - <item>svr_trainer</item> - <item>svr_linear_trainer</item> - <item>rvm_regression_trainer</item> - <item>rbf_network_trainer</item> - <item>random_forest_regression_trainer</item> - </section> - <section> - <name>Structured Prediction</name> - <item nolink="true"> - <name>Problem Instances</name> - <sub> - <item>structural_svm_sequence_labeling_problem</item> - <item>structural_svm_object_detection_problem</item> - <item>structural_svm_assignment_problem</item> - <item>structural_svm_graph_labeling_problem</item> - </sub> - </item> - <item nolink="true"> - <name>Core Tools</name> - <sub> - <item>structural_svm_problem</item> - <item>structural_svm_problem_threaded</item> - <item>svm_struct_controller_node</item> - <item>svm_struct_processing_node</item> - </sub> - </item> - <item>structural_object_detection_trainer</item> - <item>structural_sequence_labeling_trainer</item> - <item>structural_sequence_segmentation_trainer</item> - <item>structural_assignment_trainer</item> - <item>structural_track_association_trainer</item> - <item>structural_graph_labeling_trainer</item> - <item>svm_rank_trainer</item> - <item>shape_predictor_trainer</item> - </section> - <section> - <name>Deep Learning</name> - - <item nolink="true"> - <name>Core Tools</name> - <sub> - <item>dnn_trainer</item> - <item>add_layer</item> - <item>add_loss_layer</item> - <item>repeat</item> - <item>add_tag_layer</item> - <item>add_skip_layer</item> - <item>layer</item> - <item>test_layer</item> - <item>resizable_tensor</item> - <item>alias_tensor</item> - </sub> - </item> - <item nolink="true"> - <name>Input Layers</name> - <sub> - <item>input</item> - <item>input_rgb_image</item> - <item>input_rgb_image_sized</item> - <item>input_rgb_image_pyramid</item> - <item> - <name>EXAMPLE_INPUT_LAYER</name> - <link>dlib/dnn/input_abstract.h.html#EXAMPLE_INPUT_LAYER</link> - </item> - </sub> - </item> - <item nolink="true"> - <name>Computational Layers</name> - <sub> - <item> - <name>EXAMPLE_COMPUTATIONAL_LAYER</name> - <link>dlib/dnn/layers_abstract.h.html#EXAMPLE_COMPUTATIONAL_LAYER_</link> - </item> - <item> - <name>fc</name> - <link>dlib/dnn/layers_abstract.h.html#fc_</link> - </item> - <item> - <name>con</name> - <link>dlib/dnn/layers_abstract.h.html#con_</link> - </item> - <item> - <name>cont</name> - <link>dlib/dnn/layers_abstract.h.html#cont_</link> - </item> - <item> - <name>scale</name> - <link>dlib/dnn/layers_abstract.h.html#scale_</link> - </item> - <item> - <name>extract</name> - <link>dlib/dnn/layers_abstract.h.html#extract_</link> - </item> - <item> - <name>mult_prev</name> - <link>dlib/dnn/layers_abstract.h.html#mult_prev_</link> - </item> - <item> - <name>upsample</name> - <link>dlib/dnn/layers_abstract.h.html#upsample_</link> - </item> - <item> - <name>l2normalize</name> - <link>dlib/dnn/layers_abstract.h.html#l2normalize_</link> - </item> - <item> - <name>dropout</name> - <link>dlib/dnn/layers_abstract.h.html#dropout_</link> - </item> - <item> - <name>multiply</name> - <link>dlib/dnn/layers_abstract.h.html#multiply_</link> - </item> - <item> - <name>bn</name> - <link>dlib/dnn/layers_abstract.h.html#bn_</link> - </item> - <item> - <name>affine</name> - <link>dlib/dnn/layers_abstract.h.html#affine_</link> - </item> - <item> - <name>max_pool</name> - <link>dlib/dnn/layers_abstract.h.html#max_pool_</link> - </item> - <item> - <name>avg_pool</name> - <link>dlib/dnn/layers_abstract.h.html#avg_pool_</link> - </item> - <item> - <name>relu</name> - <link>dlib/dnn/layers_abstract.h.html#relu_</link> - </item> - <item> - <name>concat</name> - <link>dlib/dnn/layers_abstract.h.html#concat_</link> - </item> - <item> - <name>prelu</name> - <link>dlib/dnn/layers_abstract.h.html#prelu_</link> - </item> - <item> - <name>sig</name> - <link>dlib/dnn/layers_abstract.h.html#sig_</link> - </item> - <item> - <name>htan</name> - <link>dlib/dnn/layers_abstract.h.html#htan_</link> - </item> - <item> - <name>softmax_all</name> - <link>dlib/dnn/layers_abstract.h.html#softmax_all_</link> - </item> - <item> - <name>softmax</name> - <link>dlib/dnn/layers_abstract.h.html#softmax_</link> - </item> - <item> - <name>add_prev</name> - <link>dlib/dnn/layers_abstract.h.html#add_prev_</link> - </item> - <item> - <name>inception</name> - <link>dlib/dnn/layers_abstract.h.html#inception</link> - </item> - </sub> - </item> - <item nolink="true"> - <name>Loss Layers</name> - <sub> - <item> - <name>EXAMPLE_LOSS_LAYER</name> - <link>dlib/dnn/loss_abstract.h.html#EXAMPLE_LOSS_LAYER_</link> - </item> - <item> - <name>loss_dot</name> - <link>dlib/dnn/loss_abstract.h.html#loss_dot_</link> - </item> - <item> - <name>loss_epsilon_insensitive</name> - <link>dlib/dnn/loss_abstract.h.html#loss_epsilon_insensitive_</link> - </item> - <item> - <name>loss_ranking</name> - <link>dlib/dnn/loss_abstract.h.html#loss_ranking_</link> - </item> - <item> - <name>loss_binary_hinge</name> - <link>dlib/dnn/loss_abstract.h.html#loss_binary_hinge_</link> - </item> - <item> - <name>loss_binary_log</name> - <link>dlib/dnn/loss_abstract.h.html#loss_binary_log_</link> - </item> - <item> - <name>loss_multimulticlass_log</name> - <link>dlib/dnn/loss_abstract.h.html#loss_multimulticlass_log_</link> - </item> - <item> - <name>loss_multiclass_log</name> - <link>dlib/dnn/loss_abstract.h.html#loss_multiclass_log_</link> - </item> - <item> - <name>loss_multiclass_log_per_pixel</name> - <link>dlib/dnn/loss_abstract.h.html#loss_multiclass_log_per_pixel_</link> - </item> - <item> - <name>loss_multiclass_log_per_pixel_weighted</name> - <link>dlib/dnn/loss_abstract.h.html#loss_multiclass_log_per_pixel_weighted_</link> - </item> - <item> - <name>loss_mmod</name> - <link>#loss_mmod_</link> - </item> - <item> - <name>loss_metric</name> - <link>#loss_metric_</link> - </item> - <item> - <name>loss_mean_squared</name> - <link>#loss_mean_squared_</link> - </item> - <item> - <name>loss_mean_squared_per_pixel</name> - <link>dlib/dnn/loss_abstract.h.html#loss_mean_squared_per_pixel_</link> - </item> - <item> - <name>loss_mean_squared_multioutput</name> - <link>dlib/dnn/loss_abstract.h.html#loss_mean_squared_multioutput_</link> - </item> - </sub> - </item> - <item nolink="true"> - <name>Solvers</name> - <sub> - <item> - <name>EXAMPLE_SOLVER</name> - <link>dlib/dnn/solvers_abstract.h.html#EXAMPLE_SOLVER</link> - </item> - <item> - <name>sgd</name> - <link>dlib/dnn/solvers_abstract.h.html#sgd</link> - </item> - <item> - <name>adam</name> - <link>dlib/dnn/solvers_abstract.h.html#adam</link> - </item> - </sub> - </item> - </section> - - <section> - <name>Clustering</name> - <item>pick_initial_centers</item> - <item>kkmeans</item> - <item>find_clusters_using_kmeans</item> - <item>find_clusters_using_angular_kmeans</item> - <item>nearest_center</item> - <item>newman_cluster</item> - <item>spectral_cluster</item> - <item>chinese_whispers</item> - <item>bottom_up_cluster</item> - <item>segment_number_line</item> - <item>modularity</item> - </section> - <section> - <name>Unsupervised</name> - <item>kcentroid</item> - <item>linearly_independent_subset_finder</item> - <item>empirical_kernel_map</item> - <item>svm_one_class_trainer</item> - <item>vector_normalizer</item> - <item>vector_normalizer_pca</item> - <item>sammon_projection</item> - <item>cca</item> - </section> - <section> - <name>Semi-Supervised/Metric Learning</name> - <item>linear_manifold_regularizer</item> - <item>discriminant_pca</item> - <item>vector_normalizer_frobmetric</item> - <item>compute_lda_transform</item> - </section> - <section> - <name>Reinforcement Learning</name> - <item>lspi</item> - </section> - <section> - <name>Feature Selection</name> - <item>rank_features</item> - <item>sort_basis_vectors</item> - <item>rank_unlabeled_training_samples</item> - </section> - - <center><h2><u>Other Tools</u></h2></center> - <section> - <name>Validation</name> - <item>cross_validate_trainer</item> - <item>cross_validate_object_detection_trainer</item> - <item>cross_validate_trainer_threaded</item> - <item>cross_validate_multiclass_trainer</item> - <item>cross_validate_regression_trainer</item> - <item>cross_validate_sequence_labeler</item> - <item>cross_validate_sequence_segmenter</item> - <item>cross_validate_assignment_trainer</item> - <item>cross_validate_track_association_trainer</item> - <item>cross_validate_graph_labeling_trainer</item> - <item>cross_validate_ranking_trainer</item> - <item>test_binary_decision_function</item> - <item>test_multiclass_decision_function</item> - <item>test_regression_function</item> - <item>test_object_detection_function</item> - <item>test_sequence_labeler</item> - <item>test_sequence_segmenter</item> - <item>test_assignment_function</item> - <item>test_track_association_function</item> - <item>test_graph_labeling_function</item> - <item>test_ranking_function</item> - <item>test_shape_predictor</item> - <item>average_precision</item> - <item>equal_error_rate</item> - <item>compute_roc_curve</item> - </section> - - <section> - <name>Trainer Adapters</name> - <item>reduced</item> - <item>reduced2</item> - <item>batch</item> - <item>probabilistic</item> - <item>verbose_batch</item> - <item>batch_cached</item> - <item>verbose_batch_cached</item> - <item>null_trainer</item> - <item>roc_c1_trainer</item> - <item>roc_c2_trainer</item> - </section> - - <section> - <name>Kernels</name> - <item>radial_basis_kernel</item> - <item>polynomial_kernel</item> - <item>sigmoid_kernel</item> - <item>linear_kernel</item> - <item>histogram_intersection_kernel</item> - <item>offset_kernel</item> - - <item>sparse_radial_basis_kernel</item> - <item>sparse_polynomial_kernel</item> - <item>sparse_sigmoid_kernel</item> - <item>sparse_linear_kernel</item> - <item>sparse_histogram_intersection_kernel</item> - - </section> - - <section> - <name>Function Objects</name> - <item>random_forest_regression_function</item> - <item>decision_function</item> - <item>projection_function</item> - <item>distance_function</item> - <item>probabilistic_decision_function</item> - <item>probabilistic_function</item> - <item>normalized_function</item> - <item>one_vs_one_decision_function</item> - <item>multiclass_linear_decision_function</item> - <item>one_vs_all_decision_function</item> - <item>sequence_labeler</item> - <item>sequence_segmenter</item> - <item>assignment_function</item> - <item>track_association_function</item> - <item>graph_labeler</item> - <item>policy</item> - </section> - - <section> - <name>Data IO</name> - <item>load_image_dataset_metadata</item> - <item>load_image_dataset</item> - <item>save_image_dataset_metadata</item> - <item>load_libsvm_formatted_data</item> - <item>save_libsvm_formatted_data</item> - <item>fix_nonzero_indexing</item> - <item>make_bounding_box_regression_training_data</item> - </section> - - <section> - <name>Miscellaneous</name> - <item>simplify_linear_decision_function</item> - <item>fill_lisf</item> - <item>randomize_samples</item> - <item>is_binary_classification_problem</item> - <item>is_sequence_labeling_problem</item> - <item>is_sequence_segmentation_problem</item> - <item>is_graph_labeling_problem</item> - <item>is_assignment_problem</item> - <item>is_track_association_problem</item> - <item>is_forced_assignment_problem</item> - <item>approximate_distance_function</item> - <item>is_learning_problem</item> - <item>select_all_distinct_labels</item> - <item>find_gamma_with_big_centroid_gap</item> - <item>compute_mean_squared_distance</item> - <item>kernel_matrix</item> - <item>ranking_pair</item> - <item>is_ranking_problem</item> - <item>count_ranking_inversions</item> - <item>learn_platt_scaling</item> - <item>process_sample</item> - - - - </section> - - </top> - </menu> - - <!-- ************************************************************************* --> - <!-- ************************************************************************* --> - <!-- ************************************************************************* --> - - <components> - - - <!-- ************************************************************************* --> - - <component> - <name>add_layer</name> - <file>dlib/dnn.h</file> - <spec_file link="true">dlib/dnn/core_abstract.h</spec_file> - <description> - In dlib, a deep neural network is composed of 3 main parts. An - <a href="dlib/dnn/input_abstract.h.html#EXAMPLE_INPUT_LAYER">input layer</a>, a bunch of - <a href="dlib/dnn/layers_abstract.h.html#EXAMPLE_COMPUTATIONAL_LAYER_">computational layers</a>, - and optionally a - <a href="dlib/dnn/loss_abstract.h.html#EXAMPLE_LOSS_LAYER_">loss layer</a>. The add_layer - class is the central object which adds a computational layer onto an - input layer or an entire network. Therefore, deep neural networks are created - by stacking many layers on top of each other using the add_layer class. - <p> - For a tutorial showing how this is accomplished read - the <a href="dnn_introduction_ex.cpp.html">DNN Introduction part 1</a> and - <a href="dnn_introduction2_ex.cpp.html">DNN Introduction part 2</a>. - </p> - </description> - <examples> - <example>dnn_introduction_ex.cpp.html</example> - <example>dnn_introduction2_ex.cpp.html</example> - <example>dnn_inception_ex.cpp.html</example> - <example>dnn_imagenet_ex.cpp.html</example> - <example>dnn_imagenet_train_ex.cpp.html</example> - <example>dnn_mmod_ex.cpp.html</example> - <example>dnn_mmod_find_cars_ex.cpp.html</example> - <example>dnn_mmod_find_cars2_ex.cpp.html</example> - <example>dnn_mmod_train_find_cars_ex.cpp.html</example> - <example>dnn_mmod_face_detection_ex.cpp.html</example> - <example>dnn_mmod_dog_hipsterizer.cpp.html</example> - <example>dnn_metric_learning_ex.cpp.html</example> - <example>dnn_metric_learning_on_images_ex.cpp.html</example> - <example>dnn_face_recognition_ex.cpp.html</example> - <example>dnn_semantic_segmentation_ex.cpp.html</example> - <example>dnn_semantic_segmentation_train_ex.cpp.html</example> - </examples> - </component> - - <!-- ************************************************************************* --> - - <component> - <name>dnn_trainer</name> - <file>dlib/dnn.h</file> - <spec_file link="true">dlib/dnn/trainer_abstract.h</spec_file> - <description> - This object is a tool training a deep neural network. - <p> - For a tutorial showing how this is accomplished read - the <a href="dnn_introduction_ex.cpp.html">DNN Introduction part 1</a> and - <a href="dnn_introduction2_ex.cpp.html">DNN Introduction part 2</a>. - </p> - </description> - <examples> - <example>dnn_introduction_ex.cpp.html</example> - <example>dnn_introduction2_ex.cpp.html</example> - <example>dnn_inception_ex.cpp.html</example> - <example>dnn_imagenet_ex.cpp.html</example> - <example>dnn_imagenet_train_ex.cpp.html</example> - <example>dnn_mmod_ex.cpp.html</example> - <example>dnn_mmod_train_find_cars_ex.cpp.html</example> - <example>dnn_metric_learning_ex.cpp.html</example> - <example>dnn_metric_learning_on_images_ex.cpp.html</example> - <example>dnn_semantic_segmentation_train_ex.cpp.html</example> - </examples> - </component> - - <!-- ************************************************************************* --> - - <component> - <name>add_loss_layer</name> - <file>dlib/dnn.h</file> - <spec_file link="true">dlib/dnn/core_abstract.h</spec_file> - <description> - This object is a tool for stacking a <a href="dlib/dnn/loss_abstract.h.html#EXAMPLE_LOSS_LAYER_">loss layer</a> - on the top of a deep neural network. - </description> - <examples> - <example>dnn_introduction_ex.cpp.html</example> - <example>dnn_introduction2_ex.cpp.html</example> - <example>dnn_inception_ex.cpp.html</example> - <example>dnn_imagenet_ex.cpp.html</example> - <example>dnn_imagenet_train_ex.cpp.html</example> - <example>dnn_mmod_ex.cpp.html</example> - <example>dnn_mmod_find_cars_ex.cpp.html</example> - <example>dnn_mmod_train_find_cars_ex.cpp.html</example> - <example>dnn_metric_learning_ex.cpp.html</example> - <example>dnn_metric_learning_on_images_ex.cpp.html</example> - <example>dnn_face_recognition_ex.cpp.html</example> - <example>dnn_mmod_face_detection_ex.cpp.html</example> - <example>dnn_mmod_dog_hipsterizer.cpp.html</example> - <example>dnn_semantic_segmentation_train_ex.cpp.html</example> - </examples> - </component> - - <!-- ************************************************************************* --> - - <component> - <name>repeat</name> - <file>dlib/dnn.h</file> - <spec_file link="true">dlib/dnn/core_abstract.h</spec_file> - <description> - This object adds N copies of a computational layer onto a deep neural network. - It is essentially the same as using <a href="#add_layer">add_layer</a> N times, - except that it involves less typing, and for large N, will compile much faster. - </description> - <examples> - <example>dnn_introduction2_ex.cpp.html</example> - </examples> - </component> - - <!-- ************************************************************************* --> - - <component> - <name>add_tag_layer</name> - <file>dlib/dnn.h</file> - <spec_file link="true">dlib/dnn/core_abstract.h</spec_file> - <description> - This object is a tool for tagging layers in a deep neural network. These tags make it - easy to refer to the tagged layer in other parts of your code. - Specifically, this object adds a new layer onto a deep neural network. - However, this layer simply performs the identity transform. - This means it is a no-op and its presence does not change the - behavior of the network. It exists solely to be used by <a - href="#add_skip_layer">add_skip_layer</a> or <a href="#layer">layer()</a> to reference a - particular part of a network. - - <p> - For a tutorial showing how to use tagging see the - <a href="dnn_introduction2_ex.cpp.html">dnn_introduction2_ex.cpp</a> - example program. - </p> - </description> - <examples> - <example>dnn_introduction2_ex.cpp.html</example> - </examples> - </component> - - <!-- ************************************************************************* --> - - <component> - <name>add_skip_layer</name> - <file>dlib/dnn.h</file> - <spec_file link="true">dlib/dnn/core_abstract.h</spec_file> - <description> - This object adds a new layer to a deep neural network which draws its input - from a <a href="#add_tag_layer">tagged layer</a> rather than from - the immediate predecessor layer as is normally done. - - <p> - For a tutorial showing how to use tagging see the - <a href="dnn_introduction2_ex.cpp.html">dnn_introduction2_ex.cpp</a> - example program. - </p> - </description> - </component> - - <!-- ************************************************************************* --> - - <component> - <name>layer</name> - <file>dlib/dnn.h</file> - <spec_file link="true">dlib/dnn/core_abstract.h</spec_file> - <description> - This global function references a <a href="#add_tag_layer">tagged layer</a> - inside a deep neural network object. - - <p> - For a tutorial showing how to use tagging see the - <a href="dnn_introduction2_ex.cpp.html">dnn_introduction2_ex.cpp</a> - example program. - </p> - </description> - <examples> - <example>dnn_introduction2_ex.cpp.html</example> - </examples> - </component> - - <!-- ************************************************************************* --> - - <component> - <name>input</name> - <file>dlib/dnn.h</file> - <spec_file link="true">dlib/dnn/input_abstract.h</spec_file> - <description> - This is a simple input layer type for use in a deep neural network which - takes some kind of image as input and loads it into a network. - </description> - <examples> - <example>dnn_introduction_ex.cpp.html</example> - <example>dnn_introduction2_ex.cpp.html</example> - <example>dnn_inception_ex.cpp.html</example> - <example>dnn_imagenet_ex.cpp.html</example> - <example>dnn_imagenet_train_ex.cpp.html</example> - </examples> - </component> - - <!-- ************************************************************************* --> - - <component> - <name>input_rgb_image</name> - <file>dlib/dnn.h</file> - <spec_file link="true">dlib/dnn/input_abstract.h</spec_file> - <description> - This is a simple input layer type for use in a deep neural network - which takes an RGB image as input and loads it into a network. It - is very similar to the <a href="#input">input layer</a> except that - it allows you to subtract the average color value from each color - channel when converting an image to a tensor. - </description> - </component> - - <!-- ************************************************************************* --> - - <component> - <name>input_rgb_image_sized</name> - <file>dlib/dnn.h</file> - <spec_file link="true">dlib/dnn/input_abstract.h</spec_file> - <description> - This layer has an interface and behavior identical to <a href="#input_rgb_image">input_rgb_image</a> - except that it requires input images to have a particular size. - </description> - </component> - - <!-- ************************************************************************* --> - - <component> - <name>input_rgb_image_pyramid</name> - <file>dlib/dnn.h</file> - <spec_file link="true">dlib/dnn/input_abstract.h</spec_file> - <description> - This input layer works with RGB images of type <tt>matrix<rgb_pixel></tt>. It is - identical to <a href="#input_rgb_image">input_rgb_image</a> except that it - outputs a tensor containing a <a href="imaging.html#create_tiled_pyramid">tiled image pyramid</a> - of each input image rather than a simple copy of each image. - This input layer is meant to be used with a loss layer such as the <a href="#loss_mmod_">MMOD loss layer</a>. - </description> - <examples> - <example>dnn_mmod_ex.cpp.html</example> - <example>dnn_mmod_find_cars_ex.cpp.html</example> - <example>dnn_mmod_find_cars2_ex.cpp.html</example> - <example>dnn_mmod_train_find_cars_ex.cpp.html</example> - <example>dnn_mmod_face_detection_ex.cpp.html</example> - <example>dnn_mmod_dog_hipsterizer.cpp.html</example> - </examples> - </component> - - <!-- ************************************************************************* --> - - <component> - <name>loss_mmod_</name> - <file>dlib/dnn.h</file> - <spec_file link="true">dlib/dnn/loss_abstract.h</spec_file> - <description> - This object is a <a href="dlib/dnn/loss_abstract.h.html#EXAMPLE_LOSS_LAYER_">loss layer</a> - for a deep neural network. In particular, it implements the Max Margin Object Detection - loss defined in the paper: - <blockquote><a href="http://arxiv.org/abs/1502.00046">Max-Margin Object Detection</a> by Davis E. King.</blockquote> - - This means you use this loss if you want to detect the locations of objects - in images. For example, here are some videos that uses loss_mmod to find cars: - - <center><youtube src="https://www.youtube.com/embed/4B3bzmxMAZU"/></center> - <br/> - <center><youtube src="https://www.youtube.com/embed/OHbJ7HhbG74"/></center> - - </description> - <examples> - <example>dnn_mmod_ex.cpp.html</example> - <example>dnn_mmod_find_cars_ex.cpp.html</example> - <example>dnn_mmod_find_cars2_ex.cpp.html</example> - <example>dnn_mmod_train_find_cars_ex.cpp.html</example> - <example>dnn_mmod_face_detection_ex.cpp.html</example> - <example>dnn_mmod_dog_hipsterizer.cpp.html</example> - <example>cnn_face_detector.py.html</example> - </examples> - </component> - - <!-- ************************************************************************* --> - - <component> - <name>loss_metric_</name> - <file>dlib/dnn.h</file> - <spec_file link="true">dlib/dnn/loss_abstract.h</spec_file> - <description> - This object is a <a href="dlib/dnn/loss_abstract.h.html#EXAMPLE_LOSS_LAYER_">loss layer</a> - for a deep neural network. In particular, it allows you to learn to map objects - into a vector space where objects sharing the same class label are close to - each other, while objects with different labels are far apart. - </description> - <examples> - <example>dnn_metric_learning_ex.cpp.html</example> - <example>dnn_metric_learning_on_images_ex.cpp.html</example> - <example>dnn_face_recognition_ex.cpp.html</example> - <example>face_recognition.py.html</example> - <example>face_clustering.py.html</example> - </examples> - </component> - - <!-- ************************************************************************* --> - - <component> - <name>loss_mean_squared_</name> - <file>dlib/dnn.h</file> - <spec_file link="true">dlib/dnn/loss_abstract.h</spec_file> - <description> - This object is a <a href="dlib/dnn/loss_abstract.h.html#EXAMPLE_LOSS_LAYER_">loss layer</a> - for a deep neural network. In particular, it implements the mean squared loss, which is - appropriate for regression problems. - </description> - </component> - - <!-- ************************************************************************* --> - - <component> - <name>loss_mean_squared_multioutput_</name> - <file>dlib/dnn.h</file> - <spec_file link="true">dlib/dnn/loss_abstract.h</spec_file> - <description> - This object is a <a href="dlib/dnn/loss_abstract.h.html#EXAMPLE_LOSS_LAYER_">loss layer</a> - for a deep neural network. In particular, it implements the mean squared loss, which is - appropriate for regression problems. It is identical to the <a href="#loss_mean_squared_">loss_mean_squared_</a> - loss except this version supports multiple output values. - </description> - </component> - - <!-- ************************************************************************* --> - - <component> - <name>test_layer</name> - <file>dlib/dnn.h</file> - <spec_file link="true">dlib/dnn/core_abstract.h</spec_file> - <description> - This is a function which tests if a layer object correctly implements - the <a href="dlib/dnn/layers_abstract.h.html#EXAMPLE_COMPUTATIONAL_LAYER_">documented contract</a> - for a computational layer in a deep neural network. - </description> - </component> - - <!-- ************************************************************************* --> - - <component> - <name>resizable_tensor</name> - <file>dlib/dnn.h</file> - <spec_file link="true">dlib/dnn/tensor_abstract.h</spec_file> - <description> - This object represents a 4D array of float values, all stored contiguously - in memory. Importantly, it keeps two copies of the floats, one on the host - CPU side and another on the GPU device side. It automatically performs the - necessary host/device transfers to keep these two copies of the data in - sync. - - <p> - All transfers to the device happen asynchronously with respect to the - default CUDA stream so that CUDA kernel computations can overlap with data - transfers. However, any transfers from the device to the host happen - synchronously in the default CUDA stream. Therefore, you should perform - all your CUDA kernel launches on the default stream so that transfers back - to the host do not happen before the relevant computations have completed. - </p> - - <p> - If DLIB_USE_CUDA is not #defined then this object will not use CUDA at all. - Instead, it will simply store one host side memory block of floats. - </p> - - <p> - Finally, the convention in dlib code is to interpret the tensor as a set of - num_samples() 3D arrays, each of dimension k() by nr() by nc(). Also, - while this class does not specify a memory layout, the convention is to - assume that indexing into an element at coordinates (sample,k,nr,nc) can be - accomplished via: - <tt>host()[((sample*t.k() + k)*t.nr() + nr)*t.nc() + nc]</tt> - </p> - - </description> - </component> - - <!-- ************************************************************************* --> - - <component> - <name>alias_tensor</name> - <file>dlib/dnn.h</file> - <spec_file link="true">dlib/dnn/tensor_abstract.h</spec_file> - <description> - This object is a <a href="#resizable_tensor">tensor</a> that - aliases another tensor. That is, it doesn't have its own block of - memory but instead simply holds pointers to the memory of another - tensor object. It therefore allows you to efficiently break a tensor - into pieces and pass those pieces into functions. - </description> - </component> - - <!-- ************************************************************************* --> - - <component> - <name>modularity</name> - <file>dlib/clustering.h</file> - <spec_file link="true">dlib/clustering/modularity_clustering_abstract.h</spec_file> - <description> - This function computes the modularity of a particular graph clustering. This - is a number that tells you how good the clustering is. In particular, it - is the measure optimized by the <a href="#newman_cluster">newman_cluster</a> - routine. - </description> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>newman_cluster</name> - <file>dlib/clustering.h</file> - <spec_file link="true">dlib/clustering/modularity_clustering_abstract.h</spec_file> - <description> - This function performs the clustering algorithm described in the paper - <blockquote>Modularity and community structure in networks by M. E. J. Newman.</blockquote> - In particular, this is a method for automatically clustering the nodes in a - graph into groups. The method is able to automatically determine the number - of clusters and does not have any parameters. In general, it is a very good - clustering technique. - </description> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>spectral_cluster</name> - <file>dlib/clustering.h</file> - <spec_file link="true">dlib/clustering/spectral_cluster_abstract.h</spec_file> - <description> - This function performs the clustering algorithm described in the paper - <blockquote>On spectral clustering: Analysis and an algorithm by Ng, Jordan, and Weiss.</blockquote> - </description> - <examples> - <example>kkmeans_ex.cpp.html</example> - </examples> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>bottom_up_cluster</name> - <file>dlib/clustering.h</file> - <spec_file link="true">dlib/clustering/bottom_up_cluster_abstract.h</spec_file> - <description> - This function runs a bottom up agglomerative clustering algorithm. - </description> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>segment_number_line</name> - <file>dlib/clustering.h</file> - <spec_file link="true">dlib/clustering/bottom_up_cluster_abstract.h</spec_file> - <description> - This routine clusters real valued scalars in essentially linear time. - It uses a combination of bottom up clustering and a simple greedy scan - to try and find the most compact set of ranges that contain all - given scalar values. - </description> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>chinese_whispers</name> - <file>dlib/clustering.h</file> - <spec_file link="true">dlib/clustering/chinese_whispers_abstract.h</spec_file> - <description> - This function performs the clustering algorithm described in the paper - <blockquote>Chinese Whispers - an Efficient Graph Clustering Algorithm and its - Application to Natural Language Processing Problems by Chris Biemann.</blockquote> - In particular, this is a method for automatically clustering the nodes in a - graph into groups. The method is able to automatically determine the number - of clusters. - </description> - <examples> - <example>dnn_face_recognition_ex.cpp.html</example> - <example>face_clustering.py.html</example> - </examples> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>find_clusters_using_kmeans</name> - <file>dlib/clustering.h</file> - <spec_file link="true">dlib/svm/kkmeans_abstract.h</spec_file> - <description> - This is a simple linear kmeans clustering implementation. - It uses Euclidean distance to compare samples. - </description> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>find_clusters_using_angular_kmeans</name> - <file>dlib/clustering.h</file> - <spec_file link="true">dlib/svm/kkmeans_abstract.h</spec_file> - <description> - This is a simple linear kmeans clustering implementation. - To compare a sample to a cluster, it measures the angle between them - with respect to the origin. Therefore, it tries to find clusters - of points that all have small angles between each cluster member. - </description> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>nearest_center</name> - <file>dlib/clustering.h</file> - <spec_file link="true">dlib/svm/kkmeans_abstract.h</spec_file> - <description> - This function takes a list of cluster centers and a query vector - and identifies which cluster center is nearest to the query vector. - </description> - </component> - - <!-- ************************************************************************* --> - - <component> - <name>pick_initial_centers</name> - <file>dlib/clustering.h</file> - <spec_file link="true">dlib/svm/kkmeans_abstract.h</spec_file> - <description> - This is a function that you can use to seed data clustering algorithms - like the <a href="#kkmeans">kkmeans</a> clustering method. What it - does is pick reasonable starting points for clustering by basically - trying to find a set of points that are all far away from each other. - </description> - <examples> - <example>kkmeans_ex.cpp.html</example> - </examples> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>ranking_pair</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/ranking_tools_abstract.h</spec_file> - <description> - This object is used to contain a ranking example. Therefore, ranking_pair - objects are used to represent training examples for learning-to-rank tasks, - such as those used by the <a href="#svm_rank_trainer">svm_rank_trainer</a>. - </description> - <examples> - <example>svm_rank_ex.cpp.html</example> - <example>svm_rank.py.html</example> - </examples> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>kernel_matrix</name> - <file>dlib/svm.h</file> - <spec_file>dlib/svm/kernel_matrix_abstract.h</spec_file> - <description> - This is a simple set of functions that makes it easy to turn a kernel - object and a set of samples into a kernel matrix. It takes these two - things and returns a <a href="dlib/matrix/matrix_exp_abstract.h.html#matrix_exp">matrix expression</a> - that represents the kernel matrix. - </description> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>is_ranking_problem</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/ranking_tools_abstract.h</spec_file> - <description> - This function takes a set of training data for a learning-to-rank problem - and reports back if it could possibly be a well formed problem. - </description> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>count_ranking_inversions</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/ranking_tools_abstract.h</spec_file> - <description> - Given two sets of objects, X and Y, and an ordering relationship defined - between their elements, this function counts how many times we see an element - in the set Y ordered before an element in the set X. Additionally, this - routine executes efficiently in O(n*log(n)) time via the use of quick sort. - </description> - - </component> - - <!-- ************************************************************************* --> - - <component checked="true"> - <name>mlp</name> - <file>dlib/mlp.h</file> - <spec_file>dlib/mlp/mlp_kernel_abstract.h</spec_file> - <description> - <p> - This object represents a multilayer layer perceptron network that is - trained using the back propagation algorithm. The training algorithm also - incorporates the momentum method. That is, each round of back propagation - training also adds a fraction of the previous update. This fraction - is controlled by the momentum term set in the constructor. - </p> - <p> - It is worth noting that a MLP is, in general, very inferior to modern - kernel algorithms such as the support vector machine. So if you haven't - tried any other techniques with your data you really should. - </p> - </description> - - <examples> - <example>mlp_ex.cpp.html</example> - </examples> - - <implementations> - <implementation> - <name>mlp_kernel_1</name> - <file>dlib/mlp/mlp_kernel_1.h</file> - <description> - This is implemented in the obvious way. - </description> - - <typedefs> - <typedef> - <name>kernel_1a</name> - <description>is a typedef for mlp_kernel_1</description> - </typedef> - </typedefs> - - </implementation> - - </implementations> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>krls</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/krls_abstract.h</spec_file> - <description> - This is an implementation of the kernel recursive least squares algorithm - described in the paper The Kernel Recursive Least Squares Algorithm by Yaakov Engel. - <p> - The long and short of this algorithm is that it is an online kernel based - regression algorithm. You give it samples (x,y) and it learns the function - f(x) == y. For a detailed description of the algorithm read the above paper. - </p> - <p> - Note that if you want to use the linear kernel then you would - be better off using the <a href="#rls">rls</a> object as it - is optimized for this case. - </p> - </description> - - <examples> - <example>krls_ex.cpp.html</example> - <example>krls_filter_ex.cpp.html</example> - </examples> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>rls</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/rls_abstract.h</spec_file> - <description> - This is an implementation of the linear version of the recursive least - squares algorithm. It accepts training points incrementally and, at - each step, maintains the solution to the following optimization problem: - <blockquote> - find w minimizing: 0.5*dot(w,w) + C*sum_i(y_i - trans(x_i)*w)^2 - </blockquote> - Where (x_i,y_i) are training pairs. x_i is some vector and y_i is a target - scalar value. - </description> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>svm_pegasos</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/pegasos_abstract.h</spec_file> - <description> - This object implements an online algorithm for training a support - vector machine for solving binary classification problems. - - <p> - The implementation of the Pegasos algorithm used by this object is based - on the following excellent paper: - <blockquote> - Pegasos: Primal estimated sub-gradient solver for SVM (2007) - by Shai Shalev-Shwartz, Yoram Singer, Nathan Srebro - In ICML - </blockquote> - </p> - <p> - This SVM training algorithm has two interesting properties. First, the - pegasos algorithm itself converges to the solution in an amount of time - unrelated to the size of the training set (in addition to being quite fast - to begin with). This makes it an appropriate algorithm for learning from - very large datasets. Second, this object uses the <a href="#kcentroid">kcentroid</a> object - to maintain a sparse approximation of the learned decision function. - This means that the number of support vectors in the resulting decision - function is also unrelated to the size of the dataset (in normal SVM - training algorithms, the number of support vectors grows approximately - linearly with the size of the training set). - </p> - <p> - However, if you are considering using svm_pegasos, you should also try the - <a href="#svm_c_linear_trainer">svm_c_linear_trainer</a> for linear - kernels or <a href="#svm_c_ekm_trainer">svm_c_ekm_trainer</a> for non-linear - kernels since these other trainers are, usually, faster and easier to use - than svm_pegasos. - </p> - </description> - - <examples> - <example>svm_pegasos_ex.cpp.html</example> - <example>svm_sparse_ex.cpp.html</example> - <example>svm_binary_classifier.py.html</example> - </examples> - </component> - - - <!-- ************************************************************************* --> - - <component> - <name>kkmeans</name> - <file>dlib/clustering.h</file> - <spec_file link="true">dlib/svm/kkmeans_abstract.h</spec_file> - <description> - This is an implementation of a kernelized k-means clustering algorithm. - It performs k-means clustering by using the <a href="#kcentroid">kcentroid</a> object. - <p> - If you want to use the linear kernel (i.e. do a normal k-means clustering) then you - should use the <a href="#find_clusters_using_kmeans">find_clusters_using_kmeans</a> routine. - </p> - </description> - - <examples> - <example>kkmeans_ex.cpp.html</example> - </examples> - - </component> - - - <!-- ************************************************************************* --> - - <component> - <name>vector_normalizer</name> - <file>dlib/statistics.h</file> - <spec_file link="true">dlib/statistics/statistics_abstract.h</spec_file> - <description> - This object represents something that can learn to normalize a set - of column vectors. In particular, normalized column vectors should - have zero mean and a variance of one. - </description> - - <examples> - <example>svm_ex.cpp.html</example> - </examples> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>vector_normalizer_frobmetric</name> - <file>dlib/statistics.h</file> - <spec_file link="true">dlib/statistics/vector_normalizer_frobmetric_abstract.h</spec_file> - <description> - This object is a tool for performing the FrobMetric distance metric - learning algorithm described in the following paper: - <blockquote> - A Scalable Dual Approach to Semidefinite Metric Learning - By Chunhua Shen, Junae Kim, Lei Wang, in CVPR 2011 - </blockquote> - Therefore, this object is a tool that takes as input training triplets - (anchor, near, far) of vectors and attempts to learn a linear - transformation T such that: - <blockquote> <tt>length(T*anchor-T*near) + 1 < length(T*anchor - T*far)</tt> </blockquote> - That is, you give a bunch of anchor vectors and for each anchor vector you - specify some vectors which should be near to it and some that should be far - form it. This object then tries to find a transformation matrix that makes - the "near" vectors close to their anchors while the "far" vectors are - farther away. - </description> - </component> - - <!-- ************************************************************************* --> - - <component> - <name>compute_lda_transform</name> - <file>dlib/statistics.h</file> - <spec_file link="true">dlib/statistics/lda_abstract.h</spec_file> - <description> - This function performs the dimensionality reducing version of linear - discriminant analysis. That is, you give it a set of labeled vectors and it - returns a linear transform that maps the input vectors into a new space that - is good for distinguishing between the different classes. - </description> - </component> - - <!-- ************************************************************************* --> - - <component> - <name>discriminant_pca</name> - <file>dlib/statistics.h</file> - <spec_file link="true">dlib/statistics/dpca_abstract.h</spec_file> - <description> - This object implements the Discriminant PCA technique described in the paper: - <blockquote> - A New Discriminant Principal Component Analysis Method with Partial Supervision (2009) - by Dan Sun and Daoqiang Zhang - </blockquote> - This algorithm is basically a straightforward generalization of the classical PCA - technique to handle partially labeled data. It is useful if you want to learn a linear - dimensionality reduction rule using a bunch of data that is partially labeled. - </description> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>sammon_projection</name> - <file>dlib/statistics.h</file> - <spec_file link="true">dlib/statistics/sammon_abstract.h</spec_file> - <description> - This is a function object that computes the Sammon projection of a set - of N points in a L-dimensional vector space onto a d-dimensional space - (d < L), according to the paper: - <blockquote> - A Nonlinear Mapping for Data Structure Analysis (1969) by J.W. Sammon - </blockquote> - </description> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>cca</name> - <file>dlib/statistics.h</file> - <spec_file link="true">dlib/statistics/cca_abstract.h</spec_file> - <description> - This function performs a canonical correlation analysis between two sets - of vectors. Additionally, it is designed to be very fast, even for large - datasets of over a million high dimensional vectors. - </description> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>vector_normalizer_pca</name> - <file>dlib/statistics.h</file> - <spec_file link="true">dlib/statistics/statistics_abstract.h</spec_file> - <description> - This object represents something that can learn to normalize a set - of column vectors. In particular, normalized column vectors should - have zero mean and a variance of one. - - This object also uses principal component analysis for the purposes - of reducing the number of elements in a vector. - </description> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>linearly_independent_subset_finder</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/linearly_independent_subset_finder_abstract.h</spec_file> - <description> - <p> - This is an implementation of an online algorithm for recursively finding a - set (aka dictionary) of linearly independent vectors in a kernel induced - feature space. To use it you decide how large you would like the dictionary - to be and then you feed it sample points. - </p> - <p> - The implementation uses the Approximately Linearly Dependent metric described - in the paper The Kernel Recursive Least Squares Algorithm by Yaakov Engel to - decide which points are more linearly independent than others. The metric is - simply the squared distance between a test point and the subspace spanned by - the set of dictionary vectors. - </p> - <p> - Each time you present this object with a new sample point - it calculates the projection distance and if it is sufficiently large then this - new point is included into the dictionary. Note that this object can be configured - to have a maximum size. Once the max dictionary size is reached each new point - kicks out a previous point. This is done by removing the dictionary vector that - has the smallest projection distance onto the others. That is, the "least linearly - independent" vector is removed to make room for the new one. - </p> - </description> - <examples> - <example>empirical_kernel_map_ex.cpp.html</example> - </examples> - - </component> - - - <!-- ************************************************************************* --> - - <component> - <name>fill_lisf</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/linearly_independent_subset_finder_abstract.h</spec_file> - <description> - This is a simple function for filling a - <a href="#linearly_independent_subset_finder">linearly_independent_subset_finder</a> - with data points by using random sampling. - </description> - <examples> - <example>empirical_kernel_map_ex.cpp.html</example> - </examples> - - </component> - - - <!-- ************************************************************************* --> - - <component> - <name>sort_basis_vectors</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/sort_basis_vectors_abstract.h</spec_file> - <description> - A kernel based learning method ultimately needs to select a set of basis functions - represented by a particular choice of kernel and a set of basis vectors. - sort_basis_vectors() is a function which attempts to perform supervised - basis set selection. In particular, you give it a candidate set of basis - vectors and it sorts them according to how useful they are for solving - a particular decision problem. - </description> - </component> - - - <!-- ************************************************************************* --> - - <component> - <name>rank_unlabeled_training_samples</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/active_learning_abstract.h</spec_file> - <description> - This routine implements an active learning method for selecting the most - informative data sample to label out of a set of unlabeled samples. - In particular, it implements the MaxMin Margin and Ratio Margin methods - described in the paper: - <blockquote> - Support Vector Machine Active Learning with Applications to Text Classification - by Simon Tong and Daphne Koller. - </blockquote> - </description> - </component> - - - <!-- ************************************************************************* --> - - <component> - <name>linear_manifold_regularizer</name> - <file>dlib/manifold_regularization.h</file> - <spec_file link="true">dlib/manifold_regularization/linear_manifold_regularizer_abstract.h</spec_file> - <description> - <p> - Many learning algorithms attempt to minimize a function that, at a high - level, looks like this: -<pre> - f(w) == complexity + training_set_error -</pre> - </p> - - <p> - The idea is to find the set of parameters, w, that gives low error on - your training data but also is not "complex" according to some particular - measure of complexity. This strategy of penalizing complexity is - usually called regularization. - </p> - - <p> - In the above setting, all the training data consists of labeled samples. - However, it would be nice to be able to benefit from unlabeled data. - The idea of manifold regularization is to extract useful information from - unlabeled data by first defining which data samples are "close" to each other - (perhaps by using their 3 <a href="graph_tools.html#find_k_nearest_neighbors">nearest neighbors</a>) - and then adding a term to - the above function that penalizes any decision rule which produces - different outputs on data samples which we have designated as being close. - </p> - - <p> - It turns out that it is possible to transform these manifold regularized learning - problems into the normal form shown above by applying a certain kind of - preprocessing to all our data samples. Once this is done we can use a - normal learning algorithm, such as the <a href="#svm_c_linear_trainer">svm_c_linear_trainer</a>, - on just the - labeled data samples and obtain the same output as the manifold regularized - learner would have produced. - </p> - - <p> - The linear_manifold_regularizer is a tool for creating this preprocessing - transformation. In particular, the transformation is linear. That is, it - is just a matrix you multiply with all your samples. For a more detailed - discussion of this topic you should consult the following paper. In - particular, see section 4.2. This object computes the inverse T matrix - described in that section. - <blockquote> - Linear Manifold Regularization for Large Scale Semi-supervised Learning - by Vikas Sindhwani, Partha Niyogi, and Mikhail Belkin - </blockquote> - </p> - - </description> - <examples> - <example>linear_manifold_regularizer_ex.cpp.html</example> - </examples> - </component> - - - <!-- ************************************************************************* --> - - <component> - <name>empirical_kernel_map</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/empirical_kernel_map_abstract.h</spec_file> - <description> - <p> - This object represents a map from objects of sample_type (the kind of object - a <a href="dlib/svm/kernel_abstract.h.html#Kernel_Function_Objects">kernel function</a> - operates on) to finite dimensional column vectors which - represent points in the kernel feature space defined by whatever kernel - is used with this object. - </p> - - <p> - To use the empirical_kernel_map you supply it with a particular kernel and a set of - basis samples. After that you can present it with new samples and it will project - them into the part of kernel feature space spanned by your basis samples. - </p> - - <p> - This means the empirical_kernel_map is a tool you can use to very easily kernelize - any algorithm that operates on column vectors. All you have to do is select a - set of basis samples and then use the empirical_kernel_map to project all your - data points into the part of kernel feature space spanned by those basis samples. - Then just run your normal algorithm on the output vectors and it will be effectively - kernelized. - </p> - - <p> - Regarding methods to select a set of basis samples, if you are working with only a - few thousand samples then you can just use all of them as basis samples. - Alternatively, the - <a href="#linearly_independent_subset_finder">linearly_independent_subset_finder</a> - often works well for selecting a basis set. I also find that picking a - <a href="algorithms.html#random_subset_selector">random subset</a> typically works well. - </p> - </description> - <examples> - <example>empirical_kernel_map_ex.cpp.html</example> - <example>linear_manifold_regularizer_ex.cpp.html</example> - </examples> - </component> - - - <!-- ************************************************************************* --> - - - <component> - <name>kcentroid</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/kcentroid_abstract.h</spec_file> - <description> - - This object represents a weighted sum of sample points in a kernel induced - feature space. It can be used to kernelize any algorithm that requires only - the ability to perform vector addition, subtraction, scalar multiplication, - and inner products. - - <p> - An example use of this object is as an online algorithm for recursively estimating - the centroid of a sequence of training points. This object then allows you to - compute the distance between the centroid and any test points. So you can use - this object to predict how similar a test point is to the data this object has - been trained on (larger distances from the centroid indicate dissimilarity/anomalous - points). - </p> - - <p> - The object internally keeps a set of "dictionary vectors" - that are used to represent the centroid. It manages these vectors using the - sparsification technique described in the paper The Kernel Recursive Least - Squares Algorithm by Yaakov Engel. This technique allows us to keep the - number of dictionary vectors down to a minimum. In fact, the object has a - user selectable tolerance parameter that controls the trade off between - accuracy and number of stored dictionary vectors. - </p> - - </description> - - <examples> - <example>kcentroid_ex.cpp.html</example> - </examples> - - </component> - - - <!-- ************************************************************************* --> - - <component> - <name>train_probabilistic_decision_function</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/svm_abstract.h</spec_file> - <description> - <p> - Trains a <a href="#probabilistic_function">probabilistic_function</a> using - some sort of binary classification trainer object such as the <a href="#svm_nu_trainer">svm_nu_trainer</a> or - <a href="#krr_trainer">krr_trainer</a>. - </p> - The probability model is created by using the technique described in the following papers: - <blockquote> - Probabilistic Outputs for Support Vector Machines and - Comparisons to Regularized Likelihood Methods by - John C. Platt. March 26, 1999 - </blockquote> - <blockquote> - A Note on Platt's Probabilistic Outputs for Support Vector Machines - by Hsuan-Tien Lin, Chih-Jen Lin, and Ruby C. Weng - </blockquote> - </description> - <examples> - <example>svm_ex.cpp.html</example> - </examples> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>learn_platt_scaling</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/svm_abstract.h</spec_file> - <description> - - <p> - This function is an implementation of the algorithm described in the following - papers: - <blockquote> - Probabilistic Outputs for Support Vector Machines and Comparisons to - Regularized Likelihood Methods by John C. Platt. March 26, 1999 - <br/> - <br/> - A Note on Platt's Probabilistic Outputs for Support Vector Machines - by Hsuan-Tien Lin, Chih-Jen Lin, and Ruby C. Weng - </blockquote> - </p> - <p> - This function is the tool used to implement the - <a href="#train_probabilistic_decision_function">train_probabilistic_decision_function</a> routine. - </p> - - </description> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>probabilistic</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/svm_abstract.h</spec_file> - <description> - This is a trainer adapter which simply runs the trainer it is given though the - <a href="#train_probabilistic_decision_function">train_probabilistic_decision_function</a> - function. - </description> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>rbf_network_trainer</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/rbf_network_abstract.h</spec_file> - <description> - Trains a radial basis function network and outputs a <a href="#decision_function">decision_function</a>. - This object can be used for either regression or binary classification problems. - It's worth pointing out that this object is essentially an unregularized version - of <a href="#krr_trainer">kernel ridge regression</a>. This means - you should really prefer to use kernel ridge regression instead. - </description> - </component> - - <!-- ************************************************************************* --> - - <component> - <name>random_forest_regression_trainer</name> - <file>dlib/random_forest.h</file> - <spec_file link="true">dlib/random_forest/random_forest_regression_abstract.h</spec_file> - <description> - This object implements Breiman's classic random forest regression - algorithm. - </description> - </component> - - <!-- ************************************************************************* --> - - <component> - <name>random_forest_regression_function</name> - <file>dlib/random_forest.h</file> - <spec_file link="true">dlib/random_forest/random_forest_regression_abstract.h</spec_file> - <description> - This object represents a random forest that maps objects to real numbers. You - can learn its parameters using the <a href="#random_forest_regression_trainer">random_forest_regression_trainer</a>. - </description> - </component> - - <!-- ************************************************************************* --> - - <component> - <name>rvm_regression_trainer</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/rvm_abstract.h</spec_file> - <description> - <p> - Trains a relevance vector machine for solving regression problems. - Outputs a <a href="#decision_function">decision_function</a> that represents the learned - regression function. - </p> - The implementation of the RVM training algorithm used by this library is based - on the following paper: - <blockquote> - Tipping, M. E. and A. C. Faul (2003). Fast marginal likelihood maximisation - for sparse Bayesian models. In C. M. Bishop and B. J. Frey (Eds.), Proceedings - of the Ninth International Workshop on Artificial Intelligence and Statistics, - Key West, FL, Jan 3-6. - </blockquote> - </description> - <examples> - <example>rvm_regression_ex.cpp.html</example> - </examples> - - </component> - - <!-- ************************************************************************* --> - - - <component> - <name>rvm_trainer</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/rvm_abstract.h</spec_file> - <description> - <p> - Trains a relevance vector machine for solving binary classification problems. - Outputs a <a href="#decision_function">decision_function</a> that represents the learned classifier. - </p> - The implementation of the RVM training algorithm used by this library is based - on the following paper: - <blockquote> - Tipping, M. E. and A. C. Faul (2003). Fast marginal likelihood maximisation - for sparse Bayesian models. In C. M. Bishop and B. J. Frey (Eds.), Proceedings - of the Ninth International Workshop on Artificial Intelligence and Statistics, - Key West, FL, Jan 3-6. - </blockquote> - </description> - <examples> - <example>rvm_ex.cpp.html</example> - </examples> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>krr_trainer</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/krr_trainer_abstract.h</spec_file> - <description> - <p> - Performs kernel ridge regression and outputs a <a href="#decision_function">decision_function</a> that - represents the learned function. - </p> - The implementation is done using the <a href="#empirical_kernel_map">empirical_kernel_map</a> and - <a href="#linearly_independent_subset_finder">linearly_independent_subset_finder</a> to kernelize - the <a href="#rr_trainer">rr_trainer</a> object. Thus it allows you to run the algorithm on large - datasets and obtain sparse outputs. It is also capable of automatically estimating its - regularization parameter using leave-one-out cross-validation. - </description> - <examples> - <example>krr_regression_ex.cpp.html</example> - <example>krr_classification_ex.cpp.html</example> - </examples> - - </component> - - - <!-- ************************************************************************* --> - - <component> - <name>rr_trainer</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/rr_trainer_abstract.h</spec_file> - <description> - <p> - Performs linear ridge regression and outputs a <a href="#decision_function">decision_function</a> that - represents the learned function. In particular, this object can only be used with - the <a href="#linear_kernel">linear_kernel</a>. It is optimized for the linear case where - the number of features in each sample vector is small (i.e. on the order of 1000 or less since the - algorithm is cubic in the number of features.). - If you want to use a nonlinear kernel then you should use the <a href="#krr_trainer">krr_trainer</a>. - </p> - This object is capable of automatically estimating its regularization parameter using - leave-one-out cross-validation. - </description> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>svr_trainer</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/svr_trainer_abstract.h</spec_file> - <description> - <p> - This object implements a trainer for performing epsilon-insensitive support - vector regression. It is implemented using the <a href="optimization.html#solve_qp3_using_smo">SMO</a> algorithm, - allowing the use of non-linear kernels. - If you are interested in performing support vector regression with a linear kernel and you - have a lot of training data then you should use the <a href="#svr_linear_trainer">svr_linear_trainer</a> - which is highly optimized for this case. - </p> - The implementation of the eps-SVR training algorithm used by this object is based - on the following paper: - <ul> - <li>Chih-Chung Chang and Chih-Jen Lin, LIBSVM : a library for support vector - machines, 2001. Software available at - <a href="http://www.csie.ntu.edu.tw/~cjlin/libsvm">http://www.csie.ntu.edu.tw/~cjlin/libsvm</a></li> - </ul> - </description> - <examples> - <example>svr_ex.cpp.html</example> - </examples> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>svr_linear_trainer</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/svr_linear_trainer_abstract.h</spec_file> - <description> - This object implements a trainer for performing epsilon-insensitive support - vector regression. It uses the <a href="optimization.html#oca">oca</a> - optimizer so it is very efficient at solving this problem when - linear kernels are used, making it suitable for use with large - datasets. - </description> - </component> - - <!-- ************************************************************************* --> - - <component> - <name>svm_nu_trainer</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/svm_nu_trainer_abstract.h</spec_file> - <description> - <p> - Trains a nu support vector machine for solving binary classification problems and - outputs a <a href="#decision_function">decision_function</a>. - It is implemented using the <a href="optimization.html#solve_qp2_using_smo">SMO</a> algorithm. - </p> - The implementation of the nu-svm training algorithm used by this library is based - on the following excellent papers: - <ul> - <li>Chang and Lin, Training {nu}-Support Vector Classifiers: Theory and Algorithms</li> - <li>Chih-Chung Chang and Chih-Jen Lin, LIBSVM : a library for support vector - machines, 2001. Software available at - <a href="http://www.csie.ntu.edu.tw/~cjlin/libsvm">http://www.csie.ntu.edu.tw/~cjlin/libsvm</a></li> - </ul> - </description> - <examples> - <example>svm_ex.cpp.html</example> - <example>model_selection_ex.cpp.html</example> - </examples> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>svm_one_class_trainer</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/svm_one_class_trainer_abstract.h</spec_file> - <description> - <p> - Trains a one-class support vector classifier and outputs a <a href="#decision_function">decision_function</a>. - It is implemented using the <a href="optimization.html#solve_qp3_using_smo">SMO</a> algorithm. - </p> - The implementation of the one-class training algorithm used by this library is based - on the following paper: - <ul> - <li>Chih-Chung Chang and Chih-Jen Lin, LIBSVM : a library for support vector - machines, 2001. Software available at - <a href="http://www.csie.ntu.edu.tw/~cjlin/libsvm">http://www.csie.ntu.edu.tw/~cjlin/libsvm</a></li> - </ul> - </description> - <examples> - <example>one_class_classifiers_ex.cpp.html</example> - </examples> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>svm_c_trainer</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/svm_c_trainer_abstract.h</spec_file> - <description> - <p> - Trains a C support vector machine for solving binary classification problems - and outputs a <a href="#decision_function">decision_function</a>. - It is implemented using the <a href="optimization.html#solve_qp3_using_smo">SMO</a> algorithm. - </p> - The implementation of the C-SVM training algorithm used by this library is based - on the following paper: - <ul> - <li>Chih-Chung Chang and Chih-Jen Lin, LIBSVM : a library for support vector - machines, 2001. Software available at - <a href="http://www.csie.ntu.edu.tw/~cjlin/libsvm">http://www.csie.ntu.edu.tw/~cjlin/libsvm</a></li> - </ul> - </description> - <examples> - <example>svm_c_ex.cpp.html</example> - </examples> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>svm_c_linear_dcd_trainer</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/svm_c_linear_dcd_trainer_abstract.h</spec_file> - <description> - This object represents a tool for training the C formulation of - a support vector machine to solve binary classification problems. - It is optimized for the case where linear kernels are used and - is implemented using the method described in the - following paper: - <blockquote> - A Dual Coordinate Descent Method for Large-scale Linear SVM - by Cho-Jui Hsieh, Kai-Wei Chang, and Chih-Jen Lin - </blockquote> - - This trainer has the ability to disable the bias term and also - to force the last element of the learned weight vector to be 1. - Additionally, it can be warm-started from the solution to a previous - training run. - </description> - <examples> - <example>one_class_classifiers_ex.cpp.html</example> - </examples> - </component> - - <!-- ************************************************************************* --> - - <component> - <name>svm_c_linear_trainer</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/svm_c_linear_trainer_abstract.h</spec_file> - <description> - This object represents a tool for training the C formulation of - a support vector machine to solve binary classification problems. - It is optimized for the case where linear kernels are used and - is implemented using the <a href="optimization.html#oca">oca</a> - optimizer and uses the exact line search described in the - following paper: - <blockquote> - Optimized Cutting Plane Algorithm for Large-Scale Risk Minimization - by Vojtech Franc, Soren Sonnenburg; Journal of Machine Learning - Research, 10(Oct):2157--2192, 2009. - </blockquote> - - This trainer has the ability to restrict the learned weights to non-negative - values. - </description> - <examples> - <example>svm_sparse_ex.cpp.html</example> - </examples> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>svm_rank_trainer</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/svm_rank_trainer_abstract.h</spec_file> - <description> - This object represents a tool for training a ranking support vector machine - using linear kernels. In particular, this object is a tool for training - the Ranking SVM described in the paper: - <blockquote> - Optimizing Search Engines using Clickthrough Data by Thorsten Joachims - </blockquote> - Finally, note that the implementation of this object is done using the - <a href="optimization.html#oca">oca</a> optimizer and - <a href="#count_ranking_inversions">count_ranking_inversions</a> method. - This means that it runs in O(n*log(n)) time, making it suitable for use - with large datasets. - </description> - <examples> - <example>svm_rank_ex.cpp.html</example> - <example>svm_rank.py.html</example> - </examples> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>shape_predictor_trainer</name> - <file>dlib/image_processing.h</file> - <spec_file link="true">dlib/image_processing/shape_predictor_trainer_abstract.h</spec_file> - <description> - This object is a tool for training <a href="imaging.html#shape_predictor">shape_predictors</a> - based on annotated training images. Its implementation uses the algorithm described in: - <blockquote> - One Millisecond Face Alignment with an Ensemble of Regression Trees - by Vahid Kazemi and Josephine Sullivan, CVPR 2014 - </blockquote> - It is capable of learning high quality shape models. For example, this is an example output - for one of the faces in the HELEN face dataset: <br/><br/> - <img src='face_landmarking_example.png'/> - - </description> - <examples> - <example>train_shape_predictor_ex.cpp.html</example> - <example>train_shape_predictor.py.html</example> - </examples> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>svm_c_ekm_trainer</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/svm_c_ekm_trainer_abstract.h</spec_file> - <description> - This object represents a tool for training the C formulation of - a support vector machine for solving binary classification problems. - It is implemented using the <a href="#empirical_kernel_map">empirical_kernel_map</a> - to kernelize the <a href="#svm_c_linear_trainer">svm_c_linear_trainer</a>. This makes it a very fast algorithm - capable of learning from very large datasets. - - </description> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>normalized_function</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/function_abstract.h</spec_file> - <description> - This object represents a container for another function - object and an instance of the <a href="#vector_normalizer">vector_normalizer</a> object. - - It automatically normalizes all inputs before passing them - off to the contained function object. - </description> - <examples> - <example>svm_ex.cpp.html</example> - </examples> - - </component> - - <!-- ************************************************************************* --> - - - <component> - <name>probabilistic_decision_function</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/function_abstract.h</spec_file> - <description> - This object represents a binary decision function for use with - kernel-based learning-machines. It returns an - estimate of the probability that a given sample is in the +1 class. - </description> - <examples> - <example>svm_ex.cpp.html</example> - </examples> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>probabilistic_function</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/function_abstract.h</spec_file> - <description> - This object represents a binary decision function for use with - any kind of binary classifier. It returns an - estimate of the probability that a given sample is in the +1 class. - </description> - </component> - - <!-- ************************************************************************* --> - - <component> - <name>distance_function</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/function_abstract.h</spec_file> - <description> - This object represents a point in kernel induced feature space. - You may use this object to find the distance from the point it - represents to points in input space as well as other points - represented by distance_functions. - </description> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>decision_function</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/function_abstract.h</spec_file> - <description> - This object represents a classification or regression function that was - learned by a kernel based learning algorithm. Therefore, it is a function - object that takes a sample object and returns a scalar value. - </description> - <examples> - <example>svm_ex.cpp.html</example> - </examples> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>one_vs_one_decision_function</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/one_vs_one_decision_function_abstract.h</spec_file> - <description> - This object represents a multiclass classifier built out - of a set of binary classifiers. Each binary classifier - is used to vote for the correct multiclass label using a - one vs. one strategy. Therefore, if you have N classes then - there will be N*(N-1)/2 binary classifiers inside this object. - </description> - <examples> - <example>multiclass_classification_ex.cpp.html</example> - <example>custom_trainer_ex.cpp.html</example> - </examples> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>one_vs_one_trainer</name> - <file>dlib/svm_threaded.h</file> - <spec_file link="true">dlib/svm/one_vs_one_trainer_abstract.h</spec_file> - <description> - This object is a tool for turning a bunch of binary classifiers - into a multiclass classifier. It does this by training the binary - classifiers in a one vs. one fashion. That is, if you have N possible - classes then it trains N*(N-1)/2 binary classifiers which are then used - to vote on the identity of a test sample. - </description> - <examples> - <example>multiclass_classification_ex.cpp.html</example> - <example>custom_trainer_ex.cpp.html</example> - </examples> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>one_vs_all_decision_function</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/one_vs_all_decision_function_abstract.h</spec_file> - <description> - This object represents a multiclass classifier built out - of a set of binary classifiers. Each binary classifier - is used to vote for the correct multiclass label using a - one vs. all strategy. Therefore, if you have N classes then - there will be N binary classifiers inside this object. - </description> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>sequence_labeler</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/sequence_labeler_abstract.h</spec_file> - <description> - This object is a tool for doing sequence labeling. In particular, - it is capable of representing sequence labeling models such as - those produced by Hidden Markov SVMs or Conditional Random fields. - See the following papers for an introduction to these techniques: - <blockquote> - Hidden Markov Support Vector Machines by - Y. Altun, I. Tsochantaridis, T. Hofmann - <br/> - Shallow Parsing with Conditional Random Fields by - Fei Sha and Fernando Pereira - </blockquote> - </description> - <examples> - <example>sequence_labeler_ex.cpp.html</example> - </examples> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>sequence_segmenter</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/sequence_segmenter_abstract.h</spec_file> - <description> - This object is a tool for segmenting a sequence of objects into a set of - non-overlapping chunks. An example sequence segmentation task is to take - English sentences and identify all the named entities. In this example, - you would be using a sequence_segmenter to find all the chunks of - contiguous words which refer to proper names. - - <p> - Internally, the sequence_segmenter uses the BIO (Begin, Inside, Outside) or - BILOU (Begin, Inside, Last, Outside, Unit) sequence tagging model. - Moreover, it is implemented using a <a href="#sequence_labeler">sequence_labeler</a> - object and therefore sequence_segmenter objects are examples of - chain structured conditional random field style sequence - taggers. - </p> - </description> - <examples> - <example>sequence_segmenter.py.html</example> - <example>sequence_segmenter_ex.cpp.html</example> - </examples> - </component> - - <!-- ************************************************************************* --> - - <component> - <name>assignment_function</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/assignment_function_abstract.h</spec_file> - <description> - This object is a tool for solving the optimal assignment problem given a - user defined method for computing the quality of any particular assignment. - </description> - <examples> - <example>assignment_learning_ex.cpp.html</example> - </examples> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>track_association_function</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/track_association_function_abstract.h</spec_file> - <description> - This object is a tool that helps you implement an object tracker. So for - example, if you wanted to track people moving around in a video then this - object can help. In particular, imagine you have a tool for detecting the - positions of each person in an image. Then you can run this person - detector on the video and at each time step, i.e. at each frame, you get a - set of person detections. However, that by itself doesn't tell you how - many people there are in the video and where they are moving to and from. - To get that information you need to figure out which detections match each - other from frame to frame. This is where the track_association_function - comes in. It performs the detection to track association. It will also do - some of the track management tasks like creating a new track when a - detection doesn't match any of the existing tracks. - - <p> - Internally, this object is implemented using the - <a href="#assignment_function">assignment_function</a> object. - In fact, it's really just a thin wrapper around assignment_function and - exists just to provide a more convenient interface to users doing detection - to track association. - </p> - </description> - <examples> - <example>learning_to_track_ex.cpp.html</example> - </examples> - </component> - - <!-- ************************************************************************* --> - - <component> - <name>lspi</name> - <file>dlib/control.h</file> - <spec_file link="true">dlib/control/lspi_abstract.h</spec_file> - <description> - This object is an implementation of the reinforcement learning algorithm - described in the following paper: - <blockquote> - Lagoudakis, Michail G., and Ronald Parr. "Least-squares policy - iteration." The Journal of Machine Learning Research 4 (2003): - 1107-1149. - </blockquote> - - </description> - </component> - - <!-- ************************************************************************* --> - - <component> - <name>policy</name> - <file>dlib/control.h</file> - <spec_file link="true">dlib/control/approximate_linear_models_abstract.h</spec_file> - <description> - This is a policy (i.e. a control law) based on a linear function approximator. - You can use a tool like <a href="#lspi">lspi</a> to learn the parameters - of a policy. - </description> - </component> - - <!-- ************************************************************************* --> - - <component> - <name>process_sample</name> - <file>dlib/control.h</file> - <spec_file link="true">dlib/control/approximate_linear_models_abstract.h</spec_file> - <description> - This object holds a training sample for a reinforcement learning algorithm - (e.g. <a href="#lspi">lspi</a>). - In particular, it contains a state, action, reward, next state sample from - some process. - </description> - </component> - - <!-- ************************************************************************* --> - - <component> - <name>graph_labeler</name> - <file>dlib/graph_cuts.h</file> - <spec_file link="true">dlib/graph_cuts/graph_labeler_abstract.h</spec_file> - <description> - This object is a tool for labeling each node in a <a href="containers.html#graph">graph</a> - with a value of true or false, subject to a labeling consistency constraint between - nodes that share an edge. In particular, this object is useful for - representing a graph labeling model learned via some machine learning - method, such as the <a href="#structural_graph_labeling_trainer">structural_graph_labeling_trainer</a>. - </description> - <examples> - <example>graph_labeling_ex.cpp.html</example> - </examples> - </component> - - <!-- ************************************************************************* --> - - <component> - <name>multiclass_linear_decision_function</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/function_abstract.h</spec_file> - <description> - This object represents a multiclass classifier built out of a set of - binary classifiers. Each binary classifier is used to vote for the - correct multiclass label using a one vs. all strategy. Therefore, - if you have N classes then there will be N binary classifiers inside - this object. Additionally, this object is linear in the sense that - each of these binary classifiers is a simple linear plane. - </description> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>one_vs_all_trainer</name> - <file>dlib/svm_threaded.h</file> - <spec_file link="true">dlib/svm/one_vs_all_trainer_abstract.h</spec_file> - <description> - This object is a tool for turning a bunch of binary classifiers - into a multiclass classifier. It does this by training the binary - classifiers in a one vs. all fashion. That is, if you have N possible - classes then it trains N binary classifiers which are then used - to vote on the identity of a test sample. - </description> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>svm_multiclass_linear_trainer</name> - <file>dlib/svm_threaded.h</file> - <spec_file link="true">dlib/svm/svm_multiclass_linear_trainer_abstract.h</spec_file> - <description> - This object represents a tool for training a multiclass support - vector machine. It is optimized for the case where linear kernels - are used and implemented using the <a href="#structural_svm_problem">structural_svm_problem</a> - object. - </description> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>projection_function</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/function_abstract.h</spec_file> - <description> - This object represents a function that takes a data sample and projects - it into kernel feature space. The result is a real valued column vector that - represents a point in a kernel feature space. Instances of - this object are created using the - <a href="#empirical_kernel_map">empirical_kernel_map</a>. - </description> - <examples> - <example>linear_manifold_regularizer_ex.cpp.html</example> - </examples> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>offset_kernel</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/kernel_abstract.h</spec_file> - <description> - This object represents a kernel with a fixed value offset - added to it. - </description> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>linear_kernel</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/kernel_abstract.h</spec_file> - <description> - This object represents a linear function kernel for use with - kernel learning machines. - </description> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>histogram_intersection_kernel</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/kernel_abstract.h</spec_file> - <description> - This object represents a histogram intersection kernel for use with - kernel learning machines. - </description> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>sigmoid_kernel</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/kernel_abstract.h</spec_file> - <description> - This object represents a sigmoid kernel for use with - kernel learning machines. - </description> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>polynomial_kernel</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/kernel_abstract.h</spec_file> - <description> - This object represents a polynomial kernel for use with - kernel learning machines. - </description> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>radial_basis_kernel</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/kernel_abstract.h</spec_file> - <description> - This object represents a radial basis function kernel for use with - kernel learning machines. - </description> - <examples> - <example>svm_ex.cpp.html</example> - </examples> - - </component> - - - <!-- ************************************************************************* --> - - <component> - <name>sparse_histogram_intersection_kernel</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/sparse_kernel_abstract.h</spec_file> - <description> - This object represents a histogram intersection kernel kernel for use with - kernel learning machines that operate on - <a href="dlib/svm/sparse_vector_abstract.h.html#sparse_vectors">sparse vectors</a>. - </description> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>sparse_sigmoid_kernel</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/sparse_kernel_abstract.h</spec_file> - <description> - This object represents a sigmoid kernel for use with - kernel learning machines that operate on - <a href="dlib/svm/sparse_vector_abstract.h.html#sparse_vectors">sparse vectors</a>. - </description> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>sparse_linear_kernel</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/sparse_kernel_abstract.h</spec_file> - <description> - This object represents a linear kernel for use with - kernel learning machines that operate on - <a href="dlib/svm/sparse_vector_abstract.h.html#sparse_vectors">sparse vectors</a>. - </description> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>sparse_polynomial_kernel</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/sparse_kernel_abstract.h</spec_file> - <description> - This object represents a polynomial kernel for use with - kernel learning machines that operate on - <a href="dlib/svm/sparse_vector_abstract.h.html#sparse_vectors">sparse vectors</a>. - </description> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>sparse_radial_basis_kernel</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/sparse_kernel_abstract.h</spec_file> - <description> - This object represents a radial basis function kernel for use with - kernel learning machines that operate on - <a href="dlib/svm/sparse_vector_abstract.h.html#sparse_vectors">sparse vectors</a>. - </description> - - </component> - - - <!-- ************************************************************************* --> - - <component> - <name>is_binary_classification_problem</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/svm_abstract.h</spec_file> - <description> - This function simply takes two vectors, the first containing feature vectors and - the second containing labels, and reports back if the two could possibly - contain data for a well formed classification problem. - </description> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>is_sequence_labeling_problem</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/svm_abstract.h</spec_file> - <description> - This function takes a set of training data for a sequence labeling problem - and reports back if it could possibly be a well formed sequence labeling problem. - </description> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>is_sequence_segmentation_problem</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/svm_abstract.h</spec_file> - <description> - This function takes a set of training data for a sequence segmentation problem - and reports back if it could possibly be a well formed sequence segmentation problem. - </description> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>is_assignment_problem</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/svm_abstract.h</spec_file> - <description> - This function takes a set of training data for an assignment problem - and reports back if it could possibly be a well formed assignment problem. - </description> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>is_track_association_problem</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/svm_abstract.h</spec_file> - <description> - This function takes a set of training data for a track association learning problem - and reports back if it could possibly be a well formed track association problem. - </description> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>is_graph_labeling_problem</name> - <file>dlib/svm_threaded.h</file> - <spec_file link="true">dlib/svm/structural_svm_graph_labeling_problem_abstract.h</spec_file> - <description> - This function takes a set of training data for a graph labeling problem - and reports back if it could possibly be a well formed problem. - </description> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>is_forced_assignment_problem</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/svm_abstract.h</spec_file> - <description> - This function takes a set of training data for a forced assignment problem - and reports back if it could possibly be a well formed forced assignment problem. - </description> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>is_learning_problem</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/svm_abstract.h</spec_file> - <description> - This function simply takes two vectors, the first containing feature vectors and - the second containing labels, and reports back if the two could possibly - contain data for a well formed learning problem. In this case it just means - that the two vectors have the same length and aren't empty. - </description> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>select_all_distinct_labels</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/multiclass_tools_abstract.h</spec_file> - <description> - This is a function which determines all distinct values present in a - std::vector and returns the result. - </description> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>simplify_linear_decision_function</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/simplify_linear_decision_function_abstract.h</spec_file> - <description> - This is a set of functions that takes various forms of linear <a href="#decision_function">decision functions</a> - and collapses them down so that they only compute a single dot product when invoked. - </description> - </component> - - <!-- ************************************************************************* --> - - <component> - <name>randomize_samples</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/svm_abstract.h</spec_file> - <description> - Randomizes the order of samples in a column vector containing sample data. - </description> - <examples> - <example>svm_ex.cpp.html</example> - </examples> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>rank_features</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/feature_ranking_abstract.h</spec_file> - <description> - Finds a ranking of the top N (a user supplied parameter) features in a set of data - from a two class classification problem. It - does this by computing the distance between the centroids of both classes in kernel defined - feature space. Good features are then ones that result in the biggest separation between - the two centroids. - </description> - <examples> - <example>rank_features_ex.cpp.html</example> - </examples> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>load_mnist_dataset</name> - <file>dlib/data_io.h</file> - <spec_file>dlib/data_io/mnist_abstract.h</spec_file> - <description> - Loads the <a href="http://yann.lecun.com/exdb/mnist/">MNIST dataset</a> from disk. - </description> - </component> - - <!-- ************************************************************************* --> - - <component> - <name>load_image_dataset</name> - <file>dlib/data_io.h</file> - <spec_file link="true">dlib/data_io/load_image_dataset_abstract.h</spec_file> - <description> - This is a function which loads the list of images indicated by an - <a href="#load_image_dataset_metadata">image dataset metadata file</a> - as well as the box locations for each image. It makes loading the - data necessary to train an <a href="imaging.html#object_detector">object_detector</a> - a little more convenient. - </description> - <examples> - <example>fhog_object_detector_ex.cpp.html</example> - <example>train_object_detector.cpp.html</example> - </examples> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>load_image_dataset_metadata</name> - <file>dlib/data_io.h</file> - <spec_file link="true">dlib/data_io/image_dataset_metadata.h</spec_file> - <description> - dlib comes with a graphical tool for annotating images with - labeled rectangles. The tool produces an XML file containing these - annotations. Therefore, load_image_dataset_metadata() is a routine - for parsing these XML files. Note also that this is the metadata - format used by the image labeling tool included with dlib in the - tools/imglab folder. - </description> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>save_image_dataset_metadata</name> - <file>dlib/data_io.h</file> - <spec_file link="true">dlib/data_io/image_dataset_metadata.h</spec_file> - <description> - This routine is a tool for saving labeled image metadata to an - XML file. In particular, this routine saves the metadata into a - form which can be read by the <a href="#load_image_dataset_metadata">load_image_dataset_metadata</a> - routine. Note also that this is the metadata - format used by the image labeling tool included with dlib in the - tools/imglab folder. - </description> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>load_libsvm_formatted_data</name> - <file>dlib/data_io.h</file> - <spec_file link="true">dlib/data_io/libsvm_io_abstract.h</spec_file> - <description> - This is a function that loads the data from a file that uses - the LIBSVM format. It loads the data into a std::vector of - <a href="dlib/svm/sparse_vector_abstract.h.html#sparse_vectors">sparse vectors</a>. - If you want to load data into dense vectors (i.e. - dlib::matrix objects) then you can use the <a href="linear_algebra.html#sparse_to_dense">sparse_to_dense</a> - function to perform the conversion. Also, some LIBSVM formatted files number - their features beginning with 1 rather than 0. If this bothers you, then you - can fix it by using the <a href="#fix_nonzero_indexing">fix_nonzero_indexing</a> function - on the data after it is loaded. - </description> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>save_libsvm_formatted_data</name> - <file>dlib/data_io.h</file> - <spec_file link="true">dlib/data_io/libsvm_io_abstract.h</spec_file> - <description> - This is actually a pair of overloaded functions. Between the two of them - they let you save <a href="dlib/svm/sparse_vector_abstract.h.html#sparse_vectors">sparse</a> - or dense data vectors to file using the LIBSVM format. - </description> - </component> - - <!-- ************************************************************************* --> - - <component> - <name>make_bounding_box_regression_training_data</name> - <file>dlib/image_processing.h</file> - <spec_file link="true">dlib/image_processing/shape_predictor_trainer_abstract.h</spec_file> - <description> - Suppose you have an object detector that can roughly locate objects in an - image. This means your detector draws boxes around objects, but these are - <i>rough</i> boxes in the sense that they aren't positioned super accurately. For - instance, HOG based detectors usually have a stride of 8 pixels. So the - positional accuracy is going to be, at best, +/-8 pixels. - - <p> - If you want to get better positional accuracy one easy thing to do is train a - <a href="#shape_predictor_trainer">shape_predictor</a> to give you the location - of the object's box. The make_bounding_box_regression_training_data() routine - helps you do this by creating an appropriate training dataset. - </p> - </description> - </component> - - <!-- ************************************************************************* --> - - <component> - <name>fix_nonzero_indexing</name> - <file>dlib/data_io.h</file> - <spec_file link="true">dlib/data_io/libsvm_io_abstract.h</spec_file> - <description> - This is a simple function that takes a std::vector of - <a href="dlib/svm/sparse_vector_abstract.h.html#sparse_vectors">sparse vectors</a> - and makes sure they are zero-indexed (e.g. makes sure the first index value is zero). - </description> - </component> - - <!-- ************************************************************************* --> - - <component> - <name>find_gamma_with_big_centroid_gap</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/feature_ranking_abstract.h</spec_file> - <description> - This is a function that tries to pick a reasonable default value for the - gamma parameter of the <a href="#radial_basis_kernel">radial_basis_kernel</a>. It - picks the parameter that gives the largest separation between the centroids, in - kernel feature space, of two classes of data. - </description> - <examples> - <example>rank_features_ex.cpp.html</example> - </examples> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>compute_mean_squared_distance</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/feature_ranking_abstract.h</spec_file> - <description> - This is a function that simply finds the average squared distance between all - pairs of a set of data samples. It is often convenient to use the reciprocal - of this value as the estimate of the gamma parameter of the - <a href="#radial_basis_kernel">radial_basis_kernel</a>. - </description> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>batch</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/pegasos_abstract.h</spec_file> - <description> - This is a convenience function for creating - <a href="#batch_trainer">batch_trainer</a> objects. - </description> - <examples> - <example>svm_pegasos_ex.cpp.html</example> - </examples> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>verbose_batch</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/pegasos_abstract.h</spec_file> - <description> - This is a convenience function for creating - <a href="#batch_trainer">batch_trainer</a> objects. This function - generates a batch_trainer that will print status messages to standard - output so that you can observe the progress of a training algorithm. - </description> - <examples> - <example>svm_pegasos_ex.cpp.html</example> - </examples> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>batch_cached</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/pegasos_abstract.h</spec_file> - <description> - This is a convenience function for creating - <a href="#batch_trainer">batch_trainer</a> objects that are setup - to use a kernel matrix cache. - </description> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>verbose_batch_cached</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/pegasos_abstract.h</spec_file> - <description> - This is a convenience function for creating - <a href="#batch_trainer">batch_trainer</a> objects. This function - generates a batch_trainer that will print status messages to standard - output so that you can observe the progress of a training algorithm. - It will also be configured to use a kernel matrix cache. - </description> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>batch_trainer</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/pegasos_abstract.h</spec_file> - <description> - This is a batch trainer object that is meant to wrap online trainer objects - that create <a href="#decision_function">decision_functions</a>. It - turns an online learning algorithm such as <a href="#svm_pegasos">svm_pegasos</a> - into a batch learning object. This allows you to use objects like - svm_pegasos with functions (e.g. <a href="#cross_validate_trainer">cross_validate_trainer</a>) - that expect batch mode training objects. - </description> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>null_trainer_type</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/null_trainer_abstract.h</spec_file> - <description> - This object is a simple tool for turning a <a href="#decision_function">decision_function</a> - (or any object with an interface compatible with decision_function) - into a trainer object that always returns the original decision - function when you try to train with it. - - <p> - dlib contains a few "training post processing" algorithms (e.g. - <a href="#reduced">reduced</a> and <a href="#reduced2">reduced2</a>). These tools - take in a trainer object, - tell it to perform training, and then they take the output decision - function and do some kind of post processing to it. The null_trainer_type - object is useful because you can use it to run an already - learned decision function through the training post processing - algorithms by turning a decision function into a null_trainer_type - and then giving it to a post processor. - </p> - </description> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>null_trainer</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/null_trainer_abstract.h</spec_file> - <description> - This is a convenience function for creating - <a href="#null_trainer_type">null_trainer_type</a> - objects. - </description> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>roc_c1_trainer</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/roc_trainer_abstract.h</spec_file> - <description> - This is a convenience function for creating - <a href="#roc_trainer_type">roc_trainer_type</a> objects that are - setup to pick a point on the ROC curve with respect to the +1 class. - </description> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>roc_c2_trainer</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/roc_trainer_abstract.h</spec_file> - <description> - This is a convenience function for creating - <a href="#roc_trainer_type">roc_trainer_type</a> objects that are - setup to pick a point on the ROC curve with respect to the -1 class. - </description> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>roc_trainer_type</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/roc_trainer_abstract.h</spec_file> - <description> - This object is a simple trainer post processor that allows you to - easily adjust the bias term in a trained decision_function object. - That is, this object lets you pick a point on the ROC curve and - it will adjust the bias term appropriately. - - <p> - So for example, suppose you wanted to set the bias term so that - the accuracy of your decision function on +1 labeled samples was 99%. - To do this you would use an instance of this object declared as follows: - <tt>roc_trainer_type<trainer_type>(your_trainer, 0.99, +1);</tt> - </p> - </description> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>reduced_decision_function_trainer</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/reduced_abstract.h</spec_file> - <description> - This is a batch trainer object that is meant to wrap other batch trainer objects - that create <a href="#decision_function">decision_function</a> objects. - It performs post processing on the output decision_function objects - with the intent of representing the decision_function with fewer - basis vectors. - </description> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>reduced</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/reduced_abstract.h</spec_file> - <description> - This is a convenience function for creating - <a href="#reduced_decision_function_trainer">reduced_decision_function_trainer</a> - objects. - </description> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>reduced2</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/reduced_abstract.h</spec_file> - <description> - This is a convenience function for creating - <a href="#reduced_decision_function_trainer2">reduced_decision_function_trainer2</a> - objects. - </description> - <examples> - <example>svm_ex.cpp.html</example> - </examples> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>reduced_decision_function_trainer2</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/reduced_abstract.h</spec_file> - <description> - <p> - This is a batch trainer object that is meant to wrap other batch trainer objects - that create <a href="#decision_function">decision_function</a> objects. - It performs post processing on the output decision_function objects - with the intent of representing the decision_function with fewer - basis vectors. - </p> - <p> - It begins by performing the same post processing as - the <a href="#reduced_decision_function_trainer">reduced_decision_function_trainer</a> - object but it also performs a global gradient based optimization - to further improve the results. The gradient based optimization is - implemented using the <a href="#approximate_distance_function">approximate_distance_function</a> routine. - </p> - </description> - <examples> - <example>svm_ex.cpp.html</example> - </examples> - - </component> - - - <!-- ************************************************************************* --> - - <component> - <name>approximate_distance_function</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/reduced_abstract.h</spec_file> - <description> - This function attempts to find a <a href="#distance_function">distance_function</a> object which is close - to a target distance_function. That is, it searches for an X such that target(X) is - minimized. Critically, X may be set to use fewer basis vectors than the target. - - <p>The optimization begins with an initial guess supplied by the user - and searches for an X which locally minimizes target(X). Since - this problem can have many local minima the quality of the starting point - can significantly influence the results. </p> - </description> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>test_binary_decision_function</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/svm_abstract.h</spec_file> - <description> - Tests a <a href="#decision_function">decision_function</a> that represents a binary decision function and - returns the test accuracy. - - </description> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>test_multiclass_decision_function</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/cross_validate_multiclass_trainer_abstract.h</spec_file> - <description> - Tests a multiclass decision function (e.g. <a href="#one_vs_one_decision_function">one_vs_one_decision_function</a>) - and returns a confusion matrix describing the results. - </description> - <examples> - <example>multiclass_classification_ex.cpp.html</example> - <example>custom_trainer_ex.cpp.html</example> - </examples> - - </component> - - <!-- ************************************************************************* --> - - - <component> - <name>cross_validate_trainer_threaded</name> - <file>dlib/svm_threaded.h</file> - <spec_file link="true">dlib/svm/svm_threaded_abstract.h</spec_file> - <description> - Performs k-fold cross validation on a user supplied binary classification trainer object such - as the <a href="#svm_nu_trainer">svm_nu_trainer</a> or <a href="#rbf_network_trainer">rbf_network_trainer</a>. - This function does the same thing as <a href="#cross_validate_trainer">cross_validate_trainer</a> - except this function also allows you to specify how many threads of execution to use. - So you can use this function to take advantage of a multi-core system to perform - cross validation faster. - </description> - </component> - - <!-- ************************************************************************* --> - - <component> - <name>cross_validate_trainer</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/svm_abstract.h</spec_file> - <description> - Performs k-fold cross validation on a user supplied binary classification trainer object such - as the <a href="#svm_nu_trainer">svm_nu_trainer</a> or <a href="#rbf_network_trainer">rbf_network_trainer</a>. - </description> - <examples> - <example>svm_ex.cpp.html</example> - <example>model_selection_ex.cpp.html</example> - </examples> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>cross_validate_multiclass_trainer</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/cross_validate_multiclass_trainer_abstract.h</spec_file> - <description> - Performs k-fold cross validation on a user supplied multiclass classification trainer object such - as the <a href="#one_vs_one_trainer">one_vs_one_trainer</a>. The result is described by a - confusion matrix. - </description> - <examples> - <example>multiclass_classification_ex.cpp.html</example> - <example>custom_trainer_ex.cpp.html</example> - </examples> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>cross_validate_regression_trainer</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/cross_validate_regression_trainer_abstract.h</spec_file> - <description> - Performs k-fold cross validation on a user supplied regression trainer object such - as the <a href="#svr_trainer">svr_trainer</a> and returns the mean squared error - and R-squared value. - </description> - <examples> - <example>svr_ex.cpp.html</example> - </examples> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>cross_validate_sequence_labeler</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/cross_validate_sequence_labeler_abstract.h</spec_file> - <description> - Performs k-fold cross validation on a user supplied sequence labeling trainer object such - as the <a href="#structural_sequence_labeling_trainer">structural_sequence_labeling_trainer</a> - and returns a confusion matrix describing the results. - </description> - <examples> - <example>sequence_labeler_ex.cpp.html</example> - </examples> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>cross_validate_sequence_segmenter</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/cross_validate_sequence_segmenter_abstract.h</spec_file> - <description> - Performs k-fold cross validation on a user supplied sequence segmentation trainer object such - as the <a href="#structural_sequence_segmentation_trainer">structural_sequence_segmentation_trainer</a> - and returns the resulting precision, recall, and F1-score. - </description> - <examples> - <example>sequence_segmenter.py.html</example> - <example>sequence_segmenter_ex.cpp.html</example> - </examples> - </component> - - <!-- ************************************************************************* --> - - <component> - <name>cross_validate_assignment_trainer</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/cross_validate_assignment_trainer_abstract.h</spec_file> - <description> - Performs k-fold cross validation on a user supplied assignment trainer object such - as the <a href="#structural_assignment_trainer">structural_assignment_trainer</a> - and returns the fraction of assignments predicted correctly. - </description> - <examples> - <example>assignment_learning_ex.cpp.html</example> - </examples> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>cross_validate_track_association_trainer</name> - <file>dlib/svm_threaded.h</file> - <spec_file link="true">dlib/svm/cross_validate_track_association_trainer_abstract.h</spec_file> - <description> - Performs k-fold cross validation on a user supplied track association trainer object such - as the <a href="#structural_track_association_trainer">structural_track_association_trainer</a> - and returns the fraction of detections which were correctly associated to their tracks. - </description> - <examples> - <example>learning_to_track_ex.cpp.html</example> - </examples> - </component> - - <!-- ************************************************************************* --> - - <component> - <name>cross_validate_graph_labeling_trainer</name> - <file>dlib/svm_threaded.h</file> - <spec_file link="true">dlib/svm/cross_validate_graph_labeling_trainer_abstract.h</spec_file> - <description> - Performs k-fold cross validation on a user supplied graph labeling trainer object such - as the <a href="#structural_graph_labeling_trainer">structural_graph_labeling_trainer</a> - and returns the fraction of assignments predicted correctly. - </description> - <examples> - <example>graph_labeling_ex.cpp.html</example> - </examples> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>cross_validate_ranking_trainer</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/ranking_tools_abstract.h</spec_file> - <description> - Performs k-fold cross validation on a user supplied ranking trainer object such - as the <a href="#svm_rank_trainer">svm_rank_trainer</a> - and returns the fraction of ranking pairs ordered correctly as well as the mean - average precision. - </description> - <examples> - <example>svm_rank_ex.cpp.html</example> - <example>svm_rank.py.html</example> - </examples> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>test_sequence_labeler</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/cross_validate_sequence_labeler_abstract.h</spec_file> - <description> - Tests a <a href="#sequence_labeler">sequence_labeler</a> on a set of data - and returns a confusion matrix describing the results. - </description> - <examples> - <example>sequence_labeler_ex.cpp.html</example> - </examples> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>test_sequence_segmenter</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/cross_validate_sequence_segmenter_abstract.h</spec_file> - <description> - Tests a <a href="#sequence_segmenter">sequence_segmenter</a> on a set of data - and returns the resulting precision, recall, and F1-score. - </description> - <examples> - <example>sequence_segmenter.py.html</example> - <example>sequence_segmenter_ex.cpp.html</example> - </examples> - </component> - - <!-- ************************************************************************* --> - - <component> - <name>test_assignment_function</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/cross_validate_assignment_trainer_abstract.h</spec_file> - <description> - Tests an <a href="#assignment_function">assignment_function</a> on a set of data - and returns the fraction of assignments predicted correctly. - </description> - <examples> - <example>assignment_learning_ex.cpp.html</example> - </examples> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>test_track_association_function</name> - <file>dlib/svm_threaded.h</file> - <spec_file link="true">dlib/svm/cross_validate_track_association_trainer_abstract.h</spec_file> - <description> - Tests a <a href="#track_association_function">track_association_function</a> on a set of data - and returns the fraction of detections which were correctly associated to their tracks. - </description> - <examples> - <example>learning_to_track_ex.cpp.html</example> - </examples> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>test_graph_labeling_function</name> - <file>dlib/svm_threaded.h</file> - <spec_file link="true">dlib/svm/cross_validate_graph_labeling_trainer_abstract.h</spec_file> - <description> - Tests a <a href="#graph_labeler">graph_labeler</a> on a set of data - and returns the fraction of labels predicted correctly. - </description> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>average_precision</name> - <file>dlib/statistics.h</file> - <spec_file link="true">dlib/statistics/average_precision_abstract.h</spec_file> - <description> - This function computes the average precision of a ranking. - </description> - </component> - - <!-- ************************************************************************* --> - - <component> - <name>equal_error_rate</name> - <file>dlib/statistics.h</file> - <spec_file link="true">dlib/statistics/lda_abstract.h</spec_file> - <description> - This function finds a threshold that best separates the elements of two - vectors by selecting the threshold with equal error rate. It also reports - the value of the equal error rate. - </description> - </component> - - <!-- ************************************************************************* --> - - <component> - <name>compute_roc_curve</name> - <file>dlib/statistics.h</file> - <spec_file link="true">dlib/statistics/lda_abstract.h</spec_file> - <description> - This function computes a ROC curve (receiver operating characteristic curve). - </description> - </component> - - <!-- ************************************************************************* --> - - <component> - <name>test_ranking_function</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/ranking_tools_abstract.h</spec_file> - <description> - Tests a <a href="#decision_function">decision_function</a>'s ability to correctly - rank a dataset and returns the resulting ranking accuracy and mean average precision metrics. - </description> - <examples> - <example>svm_rank_ex.cpp.html</example> - <example>svm_rank.py.html</example> - </examples> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>test_shape_predictor</name> - <file>dlib/image_processing.h</file> - <spec_file link="true">dlib/image_processing/shape_predictor_abstract.h</spec_file> - <description> - Tests a <a href="imaging.html#shape_predictor">shape_predictor</a>'s ability to correctly - predict the part locations of objects. The output is the average distance (measured in pixels) between - each part and its true location. You can optionally normalize each distance using a - user supplied scale. For example, when performing face landmarking, you might want to - normalize the distances by the interocular distance. - </description> - <examples> - <example>train_shape_predictor_ex.cpp.html</example> - <example>train_shape_predictor.py.html</example> - </examples> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>cross_validate_object_detection_trainer</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/cross_validate_object_detection_trainer_abstract.h</spec_file> - <description> - Performs k-fold cross validation on a user supplied object detection trainer such - as the <a href="#structural_object_detection_trainer">structural_object_detection_trainer</a> - and returns the precision and recall. - </description> - <examples> - <example>object_detector_ex.cpp.html</example> - <example>object_detector_advanced_ex.cpp.html</example> - <example>train_object_detector.cpp.html</example> - </examples> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>test_object_detection_function</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/cross_validate_object_detection_trainer_abstract.h</spec_file> - <description> - Tests an object detector such - as the <a href="imaging.html#object_detector">object_detector</a> - and returns the precision and recall. - </description> - <examples> - <example>fhog_object_detector_ex.cpp.html</example> - <example>object_detector_ex.cpp.html</example> - <example>object_detector_advanced_ex.cpp.html</example> - <example>train_object_detector.cpp.html</example> - <example>dnn_mmod_ex.cpp.html</example> - <example>dnn_mmod_train_find_cars_ex.cpp.html</example> - </examples> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>test_regression_function</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/cross_validate_regression_trainer_abstract.h</spec_file> - <description> - Tests a regression function (e.g. <a href="#decision_function">decision_function</a>) - and returns the mean squared error and R-squared value. - </description> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>structural_svm_problem</name> - <file>dlib/svm.h</file> - <spec_file link="true">dlib/svm/structural_svm_problem_abstract.h</spec_file> - <description> - This object, when used with the <a href="optimization.html#oca">oca</a> optimizer, is a tool - for solving the optimization problem associated - with a structural support vector machine. A structural SVM is a supervised - machine learning method for learning to predict complex outputs. This is - contrasted with a binary classifier which makes only simple yes/no - predictions. A structural SVM, on the other hand, can learn to predict - complex outputs such as entire parse trees or DNA sequence alignments. To - do this, it learns a function F(x,y) which measures how well a particular - data sample x matches a label y. When used for prediction, the best label - for a new x is given by the y which maximizes F(x,y). - - <br/> - <br/> - - For an introduction to structured support vector machines you should consult - the following paper: - <blockquote> - Predicting Structured Objects with Support Vector Machines by - Thorsten Joachims, Thomas Hofmann, Yisong Yue, and Chun-nam Yu - </blockquote> - - For a more detailed discussion of the particular algorithm implemented by this - object see the following paper: - <blockquote> - T. Joachims, T. Finley, Chun-Nam Yu, Cutting-Plane Training of Structural SVMs, - Machine Learning, 77(1):27-59, 2009. - </blockquote> - Note that this object is essentially a tool for solving the 1-Slack structural - SVM with margin-rescaling. Specifically, see Algorithm 3 in the above referenced - paper. - - <br/><br/> - Finally, for a very detailed introduction to this subject, you should consider the book: - <blockquote> - <i><a href="http://www.nowozin.net/sebastian/papers/nowozin2011structured-tutorial.pdf">Structured - Prediction and Learning in Computer Vision</a></i> by Sebastian Nowozin and - Christoph H. Lampert - </blockquote> - - </description> - <examples> - <example>svm_struct.py.html</example> - <example>svm_struct_ex.cpp.html</example> - </examples> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>structural_svm_problem_threaded</name> - <file>dlib/svm_threaded.h</file> - <spec_file link="true">dlib/svm/structural_svm_problem_threaded_abstract.h</spec_file> - <description> - This is just a version of the <a href="#structural_svm_problem">structural_svm_problem</a> - which is capable of using multiple cores/threads at a time. You should use it if - you have a multi-core CPU and the separation oracle takes a long time to compute. Or even better, if you - have multiple computers then you can use the <a href="#svm_struct_controller_node">svm_struct_controller_node</a> - to distribute the work across many computers. - </description> - <examples> - <example>svm_struct_ex.cpp.html</example> - </examples> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>structural_svm_object_detection_problem</name> - <file>dlib/svm_threaded.h</file> - <spec_file link="true">dlib/svm/structural_svm_object_detection_problem_abstract.h</spec_file> - <description> - This object is a tool for learning the parameter vector needed to use - a <a href="imaging.html#scan_fhog_pyramid">scan_fhog_pyramid</a>, - <a href="imaging.html#scan_image_pyramid">scan_image_pyramid</a>, - <a href="imaging.html#scan_image_boxes">scan_image_boxes</a>, or - <a href="imaging.html#scan_image_custom">scan_image_custom</a> object. - - <p> - It learns the parameter vector by formulating the problem as a <a - href="#structural_svm_problem">structural SVM problem</a>. - The exact details of the method are described in the paper - <a href="http://arxiv.org/abs/1502.00046">Max-Margin Object Detection</a> by Davis E. King. - </p> - </description> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>structural_svm_sequence_labeling_problem</name> - <file>dlib/svm_threaded.h</file> - <spec_file link="true">dlib/svm/structural_svm_sequence_labeling_problem_abstract.h</spec_file> - <description> - This object is a tool for learning the weight vector needed to use - a <a href="#sequence_labeler">sequence_labeler</a> object. - - It learns the parameter vector by formulating the problem as a - <a href="#structural_svm_problem">structural SVM problem</a>. - The general approach is discussed in the paper: - <blockquote> - Hidden Markov Support Vector Machines by - Y. Altun, I. Tsochantaridis, T. Hofmann - </blockquote> - While the particular optimization strategy used is the method from: - <blockquote> - T. Joachims, T. Finley, Chun-Nam Yu, Cutting-Plane Training of - Structural SVMs, Machine Learning, 77(1):27-59, 2009. - </blockquote> - </description> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>structural_svm_assignment_problem</name> - <file>dlib/svm_threaded.h</file> - <spec_file link="true">dlib/svm/structural_svm_assignment_problem_abstract.h</spec_file> - <description> - This object is a tool for learning the parameters needed to use - an <a href="#assignment_function">assignment_function</a> object. - It learns the parameters by formulating the problem as a - <a href="#structural_svm_problem">structural SVM problem</a>. - </description> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>structural_svm_graph_labeling_problem</name> - <file>dlib/svm_threaded.h</file> - <spec_file link="true">dlib/svm/structural_svm_graph_labeling_problem_abstract.h</spec_file> - <description> - This object is a tool for learning the weight vectors needed to use - a <a href="#graph_labeler">graph_labeler</a> object. - It learns the parameter vectors by - formulating the problem as a <a href="#structural_svm_problem">structural SVM problem</a>. - </description> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>structural_object_detection_trainer</name> - <file>dlib/svm_threaded.h</file> - <spec_file link="true">dlib/svm/structural_object_detection_trainer_abstract.h</spec_file> - <description> - This object is a tool for learning to detect objects in images based on a set of labeled images. - The training procedure produces an <a href="imaging.html#object_detector">object_detector</a> which - can be used to predict the locations of objects in new images. - It learns the parameter vector by formulating the problem as a <a - href="#structural_svm_problem">structural SVM problem</a>. - The exact details of the method are described in the paper - <a href="http://arxiv.org/abs/1502.00046">Max-Margin Object Detection</a> by Davis E. King. - <p> - Note that this is just a convenience wrapper around the - <a href="#structural_svm_object_detection_problem">structural_svm_object_detection_problem</a> - to make it look similar to all the other trainers in dlib. - </p> - </description> - <examples> - <example>fhog_object_detector_ex.cpp.html</example> - <example>object_detector_ex.cpp.html</example> - <example>object_detector_advanced_ex.cpp.html</example> - <example>train_object_detector.cpp.html</example> - - <example>train_object_detector.py.html</example> - </examples> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>structural_sequence_labeling_trainer</name> - <file>dlib/svm_threaded.h</file> - <spec_file link="true">dlib/svm/structural_sequence_labeling_trainer_abstract.h</spec_file> - <description> - This object is a tool for learning to do sequence labeling based - on a set of training data. The training procedure produces a - <a href="#sequence_labeler">sequence_labeler</a> object which can - be use to predict the labels of new data sequences. - <p> - Note that this is just a convenience wrapper around the - <a href="#structural_svm_sequence_labeling_problem">structural_svm_sequence_labeling_problem</a> - to make it look similar to all the other trainers in dlib. - </p> - </description> - <examples> - <example>sequence_labeler_ex.cpp.html</example> - </examples> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>structural_sequence_segmentation_trainer</name> - <file>dlib/svm_threaded.h</file> - <spec_file link="true">dlib/svm/structural_sequence_segmentation_trainer_abstract.h</spec_file> - <description> - This object is a tool for learning to do sequence segmentation based on a - set of training data. The training procedure produces a <a href="#sequence_segmenter">sequence_segmenter</a> - object which can be used to identify the sub-segments of new data sequences. - <p> - This object internally uses the <a href="#structural_sequence_labeling_trainer">structural_sequence_labeling_trainer</a> - to solve the learning problem. - </p> - </description> - <examples> - <example>sequence_segmenter.py.html</example> - <example>sequence_segmenter_ex.cpp.html</example> - </examples> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>structural_graph_labeling_trainer</name> - <file>dlib/svm_threaded.h</file> - <spec_file link="true">dlib/svm/structural_graph_labeling_trainer_abstract.h</spec_file> - <description> - This object is a tool for learning to solve a graph labeling problem based - on a training dataset of example labeled <a href="containers.html#graph">graphs</a>. - The training procedure produces a <a href="#graph_labeler">graph_labeler</a> object - which can be used to predict the labelings of new graphs. - - <p> - To elaborate, a graph labeling problem is a task to learn a binary classifier which - predicts the label of each node in a graph. Additionally, we have information in - the form of edges between nodes where edges are present when we believe the - linked nodes are likely to have the same label. Therefore, part of a graph labeling - problem is to learn to score each edge in terms of how strongly the edge should enforce - labeling consistency between its two nodes. - </p> - - <p> - Note that this is just a convenience wrapper around the - <a href="#structural_svm_graph_labeling_problem">structural_svm_graph_labeling_problem</a> - to make it look similar to all the other trainers in dlib. You might also - consider reading the book - <i><a href="http://www.nowozin.net/sebastian/papers/nowozin2011structured-tutorial.pdf">Structured - Prediction and Learning in Computer Vision</a></i> by Sebastian - Nowozin and Christoph H. Lampert since it contains a good introduction to machine learning - methods such as the algorithm implemented by the structural_graph_labeling_trainer. - </p> - </description> - <examples> - <example>graph_labeling_ex.cpp.html</example> - </examples> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>structural_assignment_trainer</name> - <file>dlib/svm_threaded.h</file> - <spec_file link="true">dlib/svm/structural_assignment_trainer_abstract.h</spec_file> - <description> - This object is a tool for learning to solve an assignment problem based - on a training dataset of example assignments. The training procedure produces an - <a href="#assignment_function">assignment_function</a> object which can be used - to predict the assignments of new data. - - - Note that this is just a convenience wrapper around the - <a href="#structural_svm_assignment_problem">structural_svm_assignment_problem</a> - to make it look similar to all the other trainers in dlib. - </description> - <examples> - <example>assignment_learning_ex.cpp.html</example> - </examples> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>structural_track_association_trainer</name> - <file>dlib/svm_threaded.h</file> - <spec_file link="true">dlib/svm/structural_track_association_trainer_abstract.h</spec_file> - <description> - This object is a tool for learning to solve a track association problem. That - is, it takes in a set of training data and outputs a - <a href="#track_association_function">track_association_function</a> - you can use to do detection to track association. - </description> - <examples> - <example>learning_to_track_ex.cpp.html</example> - </examples> - </component> - - <!-- ************************************************************************* --> - - <component> - <name>svm_struct_controller_node</name> - <file>dlib/svm_threaded.h</file> - <spec_file link="true">dlib/svm/structural_svm_distributed_abstract.h</spec_file> - <description> - This object is a tool for distributing the work involved in solving a - <a href="#structural_svm_problem">structural_svm_problem</a> across many computers. - </description> - - </component> - - <!-- ************************************************************************* --> - - <component> - <name>svm_struct_processing_node</name> - <file>dlib/svm_threaded.h</file> - <spec_file link="true">dlib/svm/structural_svm_distributed_abstract.h</spec_file> - <description> - This object is a tool for distributing the work involved in solving a - <a href="#structural_svm_problem">structural_svm_problem</a> across many computers. - </description> - - </component> - - <!-- ************************************************************************* --> - - </components> - - <!-- ************************************************************************* --> - - -</doc> - - |