diff --git a/Modules/Applications/AppClassification/app/otbTrainImagesClustering.cxx b/Modules/Applications/AppClassification/app/otbTrainImagesClustering.cxx
index 9d819e01ecab06ce4b268110bc6bb53edd974198..5b9dae25ba0c25eb30ce7b00b6b249c9cfad3bd0 100644
--- a/Modules/Applications/AppClassification/app/otbTrainImagesClustering.cxx
+++ b/Modules/Applications/AppClassification/app/otbTrainImagesClustering.cxx
@@ -22,10 +22,19 @@ public:
 
     // Documentation
     SetDocName( "Train a classifier from multiple images" );
-    SetDocLongDescription( "TODO" );
+    SetDocLongDescription(
+            "This application performs a classifier training from multiple pairs of input images and optional training vector data. "
+                    "Samples are composed of pixel values in each band optionally centered and reduced using an XML statistics file produced by "
+                    "the ComputeImagesStatistics application.\n If provided the training vector data must contain polygons with a positive integer field "
+                    "representing the class label. The name of this field can be set using the \"Class label field\" parameter. Training and validation "
+                    "sample lists could be built such that each class is equally represented in both lists if input training vector data is provided."
+                    "Otherwise a percent of the number of available pixel in the image is used. One parameter allows controlling the ratio "
+                    "between the number of samples in training and validation sets. Two parameters allow managing the size of the training and "
+                    "validation sets per class and per image.\n Several classifier parameters can be set depending on the chosen classifier. "
+                    "\n This application is based on Shark Machine Learning " );
     SetDocLimitations( "None" );
     SetDocAuthors( "OTB-Team" );
-    SetDocSeeAlso( "OpenCV documentation for machine learning http://docs.opencv.org/modules/ml/doc/ml.html " );
+    SetDocSeeAlso( "otbTrainImagesClassifier" );
 
     AddDocTag( Tags::Learning );
 
diff --git a/Modules/Applications/AppClassification/include/otbTrainImagesBase.h b/Modules/Applications/AppClassification/include/otbTrainImagesBase.h
index 0921696cbb615e6afec3dc01ca6c4b5b46c1a20f..7580596f86d290e37ee5ed05dc018c08260ddfc0 100644
--- a/Modules/Applications/AppClassification/include/otbTrainImagesBase.h
+++ b/Modules/Applications/AppClassification/include/otbTrainImagesBase.h
@@ -32,6 +32,15 @@ namespace otb
 namespace Wrapper
 {
 
+/** \class TrainImagesBase
+ * \brief Base class for the TrainImagesBaseClassifier and Clustering
+ *
+ * This class intends to hold common input/output parameters and
+ * composite application connection for both supervised and unsupervised
+ * model training.
+ *
+ * \ingroup OTBAppClassification
+ */
 class TrainImagesBase : public CompositeApplication
 {
 public:
@@ -473,6 +482,7 @@ protected:
    * \class TrainFileNamesHandler
    * This class is used to store file names requires for the application's input and output.
    * And to clear temporary files generated by the applications
+   * \ingroup OTBAppClassification
    */
   class TrainFileNamesHandler
   {
diff --git a/Modules/Learning/LearningBase/include/otbMachineLearningModel.h b/Modules/Learning/LearningBase/include/otbMachineLearningModel.h
index ee84468521b5fc0db1c9d0ac3dcd0d81404b0367..e47a3ca5e0a6c5f4d39f3c84e19a5e8a6f9236e1 100644
--- a/Modules/Learning/LearningBase/include/otbMachineLearningModel.h
+++ b/Modules/Learning/LearningBase/include/otbMachineLearningModel.h
@@ -61,7 +61,7 @@ namespace otb
  * \sa ImageClassificationFilter
  *
  *
- * \ingroup OTBSupervised
+ * \ingroup OTBLearningBase
  */
 template <class TInputValue, class TTargetValue, class TConfidenceValue = double >
 class ITK_EXPORT MachineLearningModel
diff --git a/Modules/Learning/LearningBase/include/otbMachineLearningModelFactoryBase.h b/Modules/Learning/LearningBase/include/otbMachineLearningModelFactoryBase.h
index 81f771ac5304e7eb58f8f4cc33c49f40f7a550ed..a89e190a4569e5a7bb152329e09dc57fbf49bfb9 100644
--- a/Modules/Learning/LearningBase/include/otbMachineLearningModelFactoryBase.h
+++ b/Modules/Learning/LearningBase/include/otbMachineLearningModelFactoryBase.h
@@ -29,7 +29,7 @@ namespace otb
  * This class intends to hold the static attributes that can not be
  * part of a template class (ld error).
  *
- *
+ * \ingroup OTBLearningBase
  */
 class OTBSupervised_EXPORT MachineLearningModelFactoryBase : public itk::Object
 {