pkoptsvm1
Program to optimize parameters for svm classification
Usage
FCpkoptsvmF [0]
FC-tF
[0]
training
[options]
[advanced
options]
Overview
pkoptsvm The support vector machine depends on several parameters. Ideally, these parameters should be optimized for each classification problem. In case of a radial basis kernel function, two important parameters are {cost} and {gamma}. The utility pkoptsvm can optimize these two parameters, based on an accuracy assessment (the Kappa value). If an input test set (FC-iF[0]) is provided, it is used for the accuracy assessment. If not, the accuracy assessment is based on a cross validation (FC-cvF[0]) of the training sample.
The optimization routine uses a grid search. The initial and final values of the parameters can be set with FC-ccF[0] startvalue FC-ccF[0] endvalue and FC-gF[0] startvalue FC-gF[0] endvalue for cost and gamma respectively. The search uses a multiplicative step for iterating the parameters (set with the options FC-stepccF[0] and FC-stepgF[0]). An often used approach is to define a relatively large multiplicative step first (e.g 10) to obtain an initial estimate for both parameters. The estimate can then be optimized by defining a smaller step (>1) with constrained start and end values for the parameters cost and gamma.
Options
- FC
-tF[0] filename, FC--trainingF[0] filename -
training vector file. A single vector file contains all training features (must be set as: b0, b1, b2,...) for all classes (class numbers identified by label option).
- FC
-iF[0] filename, FC--inputF[0] filename -
input test vector file
- FC
-ccF[0] startvalue FC-ccF[0] endvalue, FC--ccostF[0] startvalue FC--ccostF[0] endvalue -
min and max boundaries the parameter C of C-SVC, epsilon-SVR, and nu-SVR (optional: initial value)
- FC
-gF[0] startvalue FC-gF[0] endvalue, FC--gammaF[0] startvalue FC--gammaF[0] endvalue -
min max boundaries for gamma in kernel function (optional: initial value)
- FC
-stepF[0] stepsize, FC--stepF[0] stepsize -
multiplicative step for ccost and gamma in GRID search
- FC
-vF[0] level, FC--verboseF[0] level -
use 1 to output intermediate results for plotting
Advanced options
- FC
-tlnF[0] layer, FC--tlnF[0] layer -
training layer name(s)
- FC
-labelF[0] attribute, FC--labelF[0] attribute -
identifier for class label in training vector file. (default: label)
- FC
-balF[0] size, FC--balanceF[0] size -
balance the input data to this number of samples for each class (default: 0)
- FC
-randomF[0], FC--randomF[0] -
in case of balance, randomize input data
- FC
-minF[0] number, FC--minF[0] number -
if number of training pixels is less then min, do not take this class into account
- FC
-bF[0] band, FC--bandF[0] band -
band index (starting from 0, either use band option or use start to end)
- FC
-sbandF[0] band, FC--startbandF[0] band -
start band sequence number
- FC
-ebandF[0] band, FC--endbandF[0] band -
end band sequence number
- FC
-offsetF[0] value, FC--offsetF[0] value -
offset value for each spectral band input features: FCrefl[band]=(DN[band]-offset[band])/scale[band]F[0]
- FC
-scaleF[0] value, FC--scaleF[0] value -
scale value for each spectral band input features: FCrefl=(DN[band]-offset[band])/scale[band]F[0] (use FC0F[0] if scale min and max in each band to FC-1.0F[0] and FC1.0F[0])
- FC
-svmtF[0] type, FC--svmtypeF[0] type -
type of SVM (C_SVC, nu_SVC,one_class, epsilon_SVR, nu_SVR)
- FC
-ktF[0] type, FC--kerneltypeF[0] type -
type of kernel function (linear,polynomial,radial,sigmoid)
- FC
-kdF[0] value, FC--kdF[0] value -
degree in kernel function
- FC
-c0F[0] value, FC--coef0F[0] value -
coef0 in kernel function
- FC
-nuF[0] value, FC--nuF[0] value -
the parameter nu of nu-SVC, one-class SVM, and nu-SVR
- FC
-elossF[0] value, FC--elossF[0] value -
the epsilon in loss function of epsilon-SVR
- FC
-cacheF[0] number, FC--cacheF[0] number -
cache memory size in MB (default: 100)
- FC
-etolF[0] value, FC--etolF[0] value -
the tolerance of termination criterion (default: 0.001)
- FC
-shrinkF[0], FC--shrinkF[0] -
whether to use the shrinking heuristics
- FC
-cvF[0] value, FC--cvF[0] value -
n-fold cross validation mode (default: 0)
- FC
-cfF[0], FC--cfF[0] -
use Overall Accuracy instead of kappa
- FC
-maxitF[0] number, FC--maxitF[0] number -
maximum number of iterations
- FC
-tolF[0] value, FC--toleranceF[0] value -
relative tolerance for stopping criterion (default: 0.0001)
- FC
-aF[0] value, FC--algorithmF[0] value -
GRID, or any optimization algorithm from http://ab-initio.mit.edu/wiki/index.php/NLopt_Algorithms
- FC
-cF[0] name, FC--classF[0] name -
list of class names.
- FC
-rF[0] value, FC--reclassF[0] value -
list of class values (use same order as in FC
--classF[0] option).
History
- Debian 13 (Trixie): the text shown here
- Debian 12 (Bookworm)
- Debian 11 (Bullseye)
- Debian 10 (Buster)
- Debian 9 (Stretch)