perceptronfit

Perceptron is a simple classification algorithm.

Syntax

parameters = perceptronfit(X,y)

parameters = perceptronfit(X,y,options)

Inputs

X
Training data.
Type: double
Dimension: vector | matrix
y
Target values.
Type: double
Dimension: vector | matrix
options
Type: struct
penalty
The penalty (regularization term) to be used. By default, it's not assigned. Allowed values are 'l2', 'l1', or 'elasticnet'.
Type: char
Dimension: string
alpha
Constant that multiplies the regularization term if regularization is used.
Type: logical
Dimension: Boolean
max_iter
Maximum number of passes over the training data (default: 1000).
Type: integer
Dimension: scalar
tol
Tolerance for stopping criteria. The iterations will stop when loss > previous_loss - tol (default: 1e-3).
Type: double
Dimension: scalar
shuffle
Whether or not the training data should be shuffled after each iteration over data. Default: true
Type: Boolean
Dimension: logical
eta0
Constant by which the updates are multiplied (default: 1).
Type: double
Dimension: scalar
random_state
The seed of pseudo random number generator to use when shuffling the data.
Type: integer
Dimension: scalar
early_stopping
Whether to use early stopping to terminate training when validation score is not improving (default: false). If set to true, it will automatically set aside a fraction of training data for validation and terminate training when validation score is not improving by at least tol for n_iter_no_change consecutive epochs (iteration over all data).
Type: Boolean
Dimension: logical
validation_fraction
The proportion of training data to set aside as validation set for early stopping. It must be between 0 and 1. This value is considered only when early_stopping is set to true.
Type: double
Dimension: scalar
n_iter_no_change
Number of iterations with no improvement to wait before early stopping (default: 5).
Type: integer
Dimension: scalar

Outputs

parameters
Contains all the values passed to perceptronfit method as options. Additionally it has below key-value pairs.
Type: struct
scorer
Function handle pointing to 'accuracy' function.
Type: function handle
intercept
Intercept (bias) added to the decision function.
Type: double
Dimension: scalar
coef
Coefficient of the features in the decision function.
Type: double
Dimension: vector | matrix
n_samples
Number of rows in the training data.
Type: integer
Dimension: scalar
n_features
Number of columns in the training data.
Type: integer
Dimension: scalar

Example

Usage of perceptronfit

data = dlmread('banknote_authentication.txt', ',');
X = data(:, 1:2);
y = data(:, end);

parameters = perceptronfit(X, y);
> parameters
parameters = struct [
  alpha: 0.0001
  coef: [Matrix] 1 x 2
  -12.75121  -6.88289
  early_stopping: 0
  eta0: 1
  intercept: 4
  max_iter: 1000
  n_features: 2
  n_iter_no_change: 5
  n_samples: 1372
  shuffle: 1
  tol: 0.001
  validation_fraction: 0.1
]

Comments

Output 'parameters' should be passed as input to perceptronpredict function.