"graphbolt/git@developer.sourcefind.cn:OpenDAS/dgl.git" did not exist on "2595fa98423e70acaeee5dc54f954c0974bb6820"
Commit 8c03fbd6 authored by Davis King's avatar Davis King
Browse files

Added things to docs and also moved the structural svm stuff into the ML page.

parent 53e9e7d9
...@@ -133,7 +133,7 @@ ...@@ -133,7 +133,7 @@
<li>General purpose <a href="ml.html#one_vs_one_trainer">multiclass classification</a> tools</li> <li>General purpose <a href="ml.html#one_vs_one_trainer">multiclass classification</a> tools</li>
<li>A <a href="ml.html#svm_multiclass_linear_trainer">Multiclass SVM</a></li> <li>A <a href="ml.html#svm_multiclass_linear_trainer">Multiclass SVM</a></li>
<li>A tool for solving the optimization problem associated with <li>A tool for solving the optimization problem associated with
<a href="optimization.html#structural_svm_problem">structural support vector machines</a>. </li> <a href="ml.html#structural_svm_problem">structural support vector machines</a>. </li>
<li>An online <a href="ml.html#krls">kernel RLS regression</a> algorithm</li> <li>An online <a href="ml.html#krls">kernel RLS regression</a> algorithm</li>
<li>An online <a href="ml.html#svm_pegasos">SVM classification</a> algorithm</li> <li>An online <a href="ml.html#svm_pegasos">SVM classification</a> algorithm</li>
<li>An online kernelized <a href="ml.html#kcentroid">centroid estimator</a>/novelty detector</li> and <li>An online kernelized <a href="ml.html#kcentroid">centroid estimator</a>/novelty detector</li> and
......
...@@ -89,6 +89,13 @@ Davis E. King. <a href="http://www.jmlr.org/papers/volume10/king09a/king09a.pdf" ...@@ -89,6 +89,13 @@ Davis E. King. <a href="http://www.jmlr.org/papers/volume10/king09a/king09a.pdf"
<item>rvm_regression_trainer</item> <item>rvm_regression_trainer</item>
<item>rbf_network_trainer</item> <item>rbf_network_trainer</item>
</section> </section>
<section>
<name>Structured Prediction</name>
<item>structural_svm_problem</item>
<item>structural_svm_problem_threaded</item>
<item>svm_struct_controller_node</item>
<item>svm_struct_processing_node</item>
</section>
<section> <section>
<name>Unsupervised</name> <name>Unsupervised</name>
<item>kcentroid</item> <item>kcentroid</item>
...@@ -2023,6 +2030,93 @@ Davis E. King. <a href="http://www.jmlr.org/papers/volume10/king09a/king09a.pdf" ...@@ -2023,6 +2030,93 @@ Davis E. King. <a href="http://www.jmlr.org/papers/volume10/king09a/king09a.pdf"
</component> </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 outputs as complex
as entire parse trees. 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).
<p>
If you want to see example code that uses this object then take a look at
the implementation of the
<a href="dlib/svm/svm_multiclass_linear_trainer.h.html">svm_multiclass_linear_trainer</a>
object.
</p>
<br/>
For an introduction to structured support vector machines you should consult
the following paper:
<blockquote>
Predicting Structured Objects with Support Vector Machines by
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.
</description>
</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.
</description>
</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> </components>
......
...@@ -44,8 +44,6 @@ ...@@ -44,8 +44,6 @@
<item>solve_qp2_using_smo</item> <item>solve_qp2_using_smo</item>
<item>solve_qp3_using_smo</item> <item>solve_qp3_using_smo</item>
<item>oca</item> <item>oca</item>
<item>structural_svm_problem</item>
<item>structural_svm_problem_threaded</item>
<item>solve_least_squares</item> <item>solve_least_squares</item>
<item>solve_least_squares_lm</item> <item>solve_least_squares_lm</item>
<item>solve_trust_region_subproblem</item> <item>solve_trust_region_subproblem</item>
...@@ -683,67 +681,6 @@ subject to the following constraint: ...@@ -683,67 +681,6 @@ subject to the following constraint:
<!-- ************************************************************************* --> <!-- ************************************************************************* -->
<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="#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 outputs as complex
as entire parse trees. 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).
<p>
If you want to see example code that uses this object then take a look at
the implementation of the
<a href="dlib/svm/svm_multiclass_linear_trainer.h.html">svm_multiclass_linear_trainer</a>
object.
</p>
<br/>
For an introduction to structured support vector machines you should consult
the following paper:
<blockquote>
Predicting Structured Objects with Support Vector Machines by
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.
</description>
</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.
</description>
</component>
<!-- ************************************************************************* -->
</components> </components>
......
...@@ -32,8 +32,10 @@ ...@@ -32,8 +32,10 @@
<term file="dlib/optimization/optimization_line_search_abstract.h.html" name="optimize_single_variable_failure"/> <term file="dlib/optimization/optimization_line_search_abstract.h.html" name="optimize_single_variable_failure"/>
<term file="dlib/optimization/optimization_bobyqa_abstract.h.html" name="bobyqa_failure"/> <term file="dlib/optimization/optimization_bobyqa_abstract.h.html" name="bobyqa_failure"/>
<term file="dlib/optimization/optimization_oca_abstract.h.html" name="oca_problem"/> <term file="dlib/optimization/optimization_oca_abstract.h.html" name="oca_problem"/>
<term file="optimization.html" name="structural_svm_problem"/> <term file="ml.html" name="structural_svm_problem"/>
<term file="optimization.html" name="structural_svm_problem_threaded"/> <term file="ml.html" name="structural_svm_problem_threaded"/>
<term file="ml.html" name="svm_struct_controller_node"/>
<term file="ml.html" name="svm_struct_processing_node"/>
<term file="dlib/optimization/optimization_solve_qp2_using_smo_abstract.h.html" name="invalid_nu_error"/> <term file="dlib/optimization/optimization_solve_qp2_using_smo_abstract.h.html" name="invalid_nu_error"/>
<term file="dlib/optimization/optimization_solve_qp2_using_smo_abstract.h.html" name="maximum_nu"/> <term file="dlib/optimization/optimization_solve_qp2_using_smo_abstract.h.html" name="maximum_nu"/>
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment