Table of Contents

Enum ConvexSolverType

Namespace
AiDotNet.Enums
Assembly
AiDotNet.dll

Types of convex solvers available for MetaOptNet.

public enum ConvexSolverType

Fields

LogisticRegression = 2

Logistic regression solved via Newton's method.

Good for probabilistic outputs. Provides calibrated confidence scores.

For Beginners: Logistic regression gives you probabilities ("80% confident this is a cat") rather than just classifications. Useful when you need to know how certain the model is.

RidgeRegression = 0

Ridge regression (L2-regularized least squares).

The simplest and fastest option. Solves: minimize ||Xw - y||² + λ||w||² Has a closed-form solution: w = (X^T X + λI)^(-1) X^T y

For Beginners: Ridge regression finds a simple line (or hyperplane) that best separates the classes while staying simple (not too wiggly). It's fast because we can compute the answer with a single matrix equation.

SVM = 1

Support Vector Machine with quadratic programming.

More powerful but slower. Finds the maximum-margin hyperplane. Better for tasks where classes have clear boundaries.

For Beginners: SVM finds a boundary that maximizes the gap between classes. Like drawing a road between two countries - SVM makes the road as wide as possible for safety.

Remarks

MetaOptNet uses convex optimization in the inner loop instead of gradient descent. These solver types provide different trade-offs between speed and classification power.

For Beginners: Instead of iteratively updating weights, convex solvers find the optimal solution directly. Think of it like finding the lowest point in a bowl - convex problems have a single lowest point, so we can find it mathematically without searching around.