| pktools 2.6.7 Processing Kernel for geospatial data

pkregann

regression with artificial neural network (multi-layer perceptron)

## SYNOPSIS

`Usage: pkregann -i input -t training [-ic col]* [-oc col]* -o output`

``

`Options: [-from row] [-to row] [-cv size] [-nn number]`

`Advanced options: [–offset value] [–scale value] [–connection rate] [–learning rate] [–maxit number]`

# Description

The utility pkregann performs a regression based on an artificial neural network. The regression is trained from the input (-ic) and output (-oc) columns in a training text file. Each row in the training file represents one sampling unit. Multi-dimensional input features can be defined with multiple input options (e.g., -ic 0 -ic 1 -ic 2 for three dimensional features).

# Options

- use either `-short` or `--long` options (both `--long=value` and `--long value` are supported)
- short option `-h` shows basic options only, long option `--help` shows all options

  short | long | type | default | description
  --- | --- | --- | --- | ---
  i | input | std::string |  | input ASCII file
  t | training | std::string |  | training ASCII file (each row represents one sampling unit. Input features should be provided as columns, followed by output)
  ic | inputCols | int |  | input columns (e.g., for three dimensional input data in first three columns use: -ic 0 -ic 1 -ic 2
  oc | outputCols | int |  | output columns (e.g., for two dimensional output in columns 3 and 4 (starting from 0) use: -oc 3 -oc 4
  o | output | std::string |  | output ASCII file for result
  from | from | double | 0 | start from this row in training file (start from 0)
  to | to | double | 0 | read until this row in training file (start from 0 or set leave 0 as default to read until end of file)
  cv | cv | unsigned short | 0 | n-fold cross validation mode
  nn | nneuron | unsigned int | 5 | number of neurons in hidden layers in neural network (multiple hidden layers are set by defining multiple number of neurons: -n 15 -n 1, default is one hidden layer with 5 neurons)
  | offset | double | 0 | offset value for each spectral band input features: refl[band]=(DN[band]-offset[band])/scale[band]
  | scale | double | 0 | scale value for each spectral band input features: refl=(DN[band]-offset[band])/scale[band] (use 0 if scale min and max in each band to -1.0 and 1.0)
  | connection | float | 1 | connection reate (default: 1.0 for a fully connected network)
  l | learning | float | 0.7 | learning rate (default: 0.7)
  | maxit | unsigned int | 500 | number of maximum iterations (epoch) (default: 500)

Usage: pkregann -i input -t training [-ic col]* [-oc col]* -o output