Synopsis
EvoSVM uses an Evolutionary Strategy for optimization.
Description
This is a SVM implementation using an evolutionary algorithm (ES) to solve the dual optimization problem of a SVM. It turns out that on many datasets this simple implementation is as fast and accurate as the usual SVM implementations. In addition, it is also capable of learning with Kernels which are not positive semi-definite and can also be used for multi-objective learning which makes the selection of C unecessary before learning.
Mierswa, Ingo. Evolutionary Learning with Kernels: A Generic Solution for Large Margin Problems. In Proc. of the Genetic and Evolutionary Computation Conference (GECCO 2006), 2006.
Input
- training set: expects: ExampleSet
Output
- model:
- exampleSet:
Parameters
- kernel type: The kernel type
- kernel gamma: The kernel parameter gamma.
- kernel sigma1: The kernel parameter sigma1.
- kernel sigma2: The kernel parameter sigma2.
- kernel sigma3: The kernel parameter sigma3.
- kernel degree: The kernel parameter degree.
- kernel shift: The kernel parameter shift.
- kernel a: The kernel parameter a.
- kernel b: The kernel parameter b.
- C: The SVM complexity constant (0: calculates probably good value).
- epsilon: The width of the regression tube loss function of the regression SVM
- start population type: The type of start population initialization.
- max generations: Stop after this many evaluations
- generations without improval: Stop after this number of generations without improvement (-1: optimize until max_iterations).
- population size: The population size (-1: number of examples)
- tournament fraction: The fraction of the population used for tournament selection.
- keep best: Indicates if the best individual should survive (elititst selection).
- mutation type: The type of the mutation operator.
- selection type: The type of the selection operator.
- crossover prob: The probability for crossovers.
- use local random seed: Indicates if a local random seed should be used.
- local random seed: Specifies the local random seed
- hold out set ratio: Uses this amount as a hold out set to estimate generalization error after learning (currently only used for multi-objective classification).
- show convergence plot: Indicates if a dialog with a convergence plot should be drawn.
- show population plot: Indicates if the population plot in case of the non-dominated sorting should be shown.
- return optimization performance: Indicates if final optimization fitness should be returned as performance.