You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
/// Notice that it's not necessary to specify all entries in the training matrix, so matrix factorization can be used to fill <i>missing values</i>.
57
-
/// This behavior is very helpful when building recommender systems.</p>
58
-
/// <p>To provide a better understanding on practical uses of matrix factorization, let's consider music recommendation as an example.
59
+
/// <para> Notice that it's not necessary to specify all entries in the training matrix, so matrix factorization can be used to fill <i>missing values</i>.
60
+
/// This behavior is very helpful when building recommender systems.</para>
61
+
/// <para>To provide a better understanding on practical uses of matrix factorization, let's consider music recommendation as an example.
59
62
/// Assume that user IDs and music IDs are used as row and column indexes, respectively, and matrix's values are ratings provided by those users. That is,
60
63
/// rating <i>r</i> at row <i>r</i> and column <i>v</i> means that user <i>u</i> give <i>r</i> to item <i>v</i>.
61
64
/// An imcomplete matrix is very common because not all users may provide their feedbacks to all products (for example, no one can rate ten million songs).
62
65
/// Assume that<i>R</i> is a m-by-n rating matrix and the rank of the two factor matrices are<i>P</i> (m-by-k matrix) and <i>Q</i> (n-by-k matrix), where k is the approximation rank.
63
66
/// The predicted rating at the u-th row and the v-th column in <i>R</i> would be the inner product of the u-th row of P and the v-th row of Q; that is,
64
67
/// <i>R</i> is approximated by the product of <i>P</i>'s transpose and <i>Q</i>. This trainer implements
65
68
/// <a href='https://www.csie.ntu.edu.tw/~cjlin/papers/libmf/mf_adaptive_pakdd.pdf'>a stochastic gradient method</a> for finding <i>P</i>
66
-
/// and <i>Q</i> via minimizing the distance between<i> R</i> and the product of <i>P</i>'s transpose and Q.</p>.
67
-
/// <p>For users interested in the mathematical details, please see the references below.
68
-
/// <list type = 'bullet'>
69
-
/// <item>
70
-
/// <description><a href='https://www.csie.ntu.edu.tw/~cjlin/papers/libmf/libmf_journal.pdf' > A Fast Parallel Stochastic Gradient Method for Matrix Factorization in Shared Memory Systems</a></description>
71
-
/// </item>
72
-
/// <item>
73
-
/// <description><a href='https://www.csie.ntu.edu.tw/~cjlin/papers/libmf/mf_adaptive_pakdd.pdf' > A Learning-rate Schedule for Stochastic Gradient Methods to Matrix Factorization</a></description>
74
-
/// </item>
75
-
/// <item>
76
-
/// <description><a href='https://www.csie.ntu.edu.tw/~cjlin/papers/libmf/libmf_open_source.pdf' > LIBMF: A Library for Parallel Matrix Factorization in Shared-memory Systems</a></description>
77
-
/// </item>
78
-
/// </list>
79
-
/// </p>
80
-
/// <p>Example code can be found by searching for <i>MatrixFactorization</i> in <a href='https://github.com/dotnet/machinelearning'>ML.NET.</a></p>
69
+
/// and <i>Q</i> via minimizing the distance between<i> R</i> and the product of <i>P</i>'s transpose and Q.</para>.
70
+
/// <para>For users interested in the mathematical details, please see the references below.</para>
71
+
/// <list type = 'bullet'>
72
+
/// <item>
73
+
/// <description><a href='https://www.csie.ntu.edu.tw/~cjlin/papers/libmf/libmf_journal.pdf' > A Fast Parallel Stochastic Gradient Method for Matrix Factorization in Shared Memory Systems</a></description>
74
+
/// </item>
75
+
/// <item>
76
+
/// <description><a href='https://www.csie.ntu.edu.tw/~cjlin/papers/libmf/mf_adaptive_pakdd.pdf' > A Learning-rate Schedule for Stochastic Gradient Methods to Matrix Factorization</a></description>
77
+
/// </item>
78
+
/// <item>
79
+
/// <description><a href='https://www.csie.ntu.edu.tw/~cjlin/papers/libmf/libmf_open_source.pdf' > LIBMF: A Library for Parallel Matrix Factorization in Shared-memory Systems</a></description>
/// <param name="binaryEstimator">An instance of a binary <see cref="ITrainerEstimator{TTransformer, TPredictor}"/> used as the base trainer.</param>
335
343
/// <param name="calibrator">The calibrator. If a calibrator is not explicitely provided, it will default to <see cref="PlattCalibratorTrainer"/></param>
@@ -350,8 +358,15 @@ public static Ova OneVersusAll(this MulticlassClassificationContext.MulticlassCl
350
358
}
351
359
352
360
/// <summary>
353
-
/// Initializes a new instance of the <see cref="Pkpd"/>
361
+
/// Predicts a target using a linear multiclass classification model trained with the <see cref="Pkpd"/>.
354
362
/// </summary>
363
+
/// <remarks>
364
+
/// <para>
365
+
/// In the Pairwise coupling (PKPD) strategy, a binary classification algorithm is used to train one classifier for each pair of classes.
366
+
/// Prediction is then performed by running these binary classifiers, and computing a score for each class by counting how many of the binary
367
+
/// classifiers predicted it. The prediction is the class with the highest score.
/// <param name="binaryEstimator">An instance of a binary <see cref="ITrainerEstimator{TTransformer, TPredictor}"/> used as the base trainer.</param>
357
372
/// <param name="calibrator">The calibrator. If a calibrator is not explicitely provided, it will default to <see cref="PlattCalibratorTrainer"/></param>
@@ -370,8 +385,19 @@ public static Pkpd PairwiseCoupling(this MulticlassClassificationContext.Multicl
370
385
}
371
386
372
387
/// <summary>
373
-
/// Initializes a new instance of <see cref="LinearSvm"/>.
388
+
/// Predict a target using a linear binary classification model trained with the <see cref="LinearSvm"/> trainer.
374
389
/// </summary>
390
+
/// <remarks>
391
+
/// <para>
392
+
/// The idea behind support vector machines, is to map instances into a high dimensional space
393
+
/// in which the two classes are linearly separable, i.e., there exists a hyperplane such that all the positive examples are on one side of it,
394
+
/// and all the negative examples are on the other.
395
+
/// </para>
396
+
/// <para>
397
+
/// After this mapping, quadratic programming is used to find the separating hyperplane that maximizes the
398
+
/// margin, i.e., the minimal distance between it and the instances.
/// <param name="args">The <see cref="TensorFlowTransform.Arguments"/> specifying the inputs and the settings of the <see cref="TensorFlowEstimator"/>.</param>
0 commit comments