wolffd@0: wolffd@0: wolffd@0: wolffd@0: Netlab Reference Manual glm wolffd@0: wolffd@0: wolffd@0: wolffd@0:

glm wolffd@0:

wolffd@0:

wolffd@0: Purpose wolffd@0:

wolffd@0: Create a generalized linear model. wolffd@0: wolffd@0:

wolffd@0: Synopsis wolffd@0:

wolffd@0:
wolffd@0: net = glm(nin, nout, func)
wolffd@0: net = glm(nin, nout, func, prior)
wolffd@0: net = glm(nin, nout, func, prior, beta)
wolffd@0: 
wolffd@0: wolffd@0: wolffd@0:

wolffd@0: Description wolffd@0:

wolffd@0: wolffd@0:

net = glm(nin, nout, func) takes the number of inputs wolffd@0: and outputs for a generalized linear model, together wolffd@0: with a string func which specifies the output unit activation function, wolffd@0: and returns a data structure net. The weights are drawn from a zero mean, wolffd@0: isotropic Gaussian, with variance scaled by the fan-in of the wolffd@0: output units. This makes use of the Matlab function wolffd@0: randn and so the seed for the random weight initialization can be wolffd@0: set using randn('state', s) where s is the seed value. The optional wolffd@0: argument alpha sets the inverse variance for the weight wolffd@0: initialization. wolffd@0: wolffd@0:

The fields in net are wolffd@0:

wolffd@0:   type = 'glm'
wolffd@0:   nin = number of inputs
wolffd@0:   nout = number of outputs
wolffd@0:   nwts = total number of weights and biases
wolffd@0:   actfn = string describing the output unit activation function:
wolffd@0:       'linear'
wolffd@0:       'logistic'
wolffd@0:       'softmax'
wolffd@0:   w1 = first-layer weight matrix
wolffd@0:   b1 = first-layer bias vector
wolffd@0: 
wolffd@0: wolffd@0: wolffd@0:

net = glm(nin, nout, func, prior), in which prior is wolffd@0: a scalar, allows the field wolffd@0: net.alpha in the data structure net to be set, corresponding wolffd@0: to a zero-mean isotropic Gaussian prior with inverse variance with wolffd@0: value prior. Alternatively, prior can consist of a data wolffd@0: structure with fields alpha and index, allowing individual wolffd@0: Gaussian priors to be set over groups of weights in the network. Here wolffd@0: alpha is a column vector in which each element corresponds to a wolffd@0: separate group of weights, which need not be mutually exclusive. The wolffd@0: membership of the groups is defined by the matrix index in which wolffd@0: the columns correspond to the elements of alpha. Each column has wolffd@0: one element for each weight in the matrix, in the order defined by the wolffd@0: function glmpak, and each element is 1 or 0 according to whether wolffd@0: the weight is a member of the corresponding group or not. wolffd@0: wolffd@0:

net = glm(nin, nout, func, prior, beta) also sets the wolffd@0: additional field net.beta in the data structure net, where wolffd@0: beta corresponds to the inverse noise variance. wolffd@0: wolffd@0:

wolffd@0: See Also wolffd@0:

wolffd@0: glmpak, glmunpak, glmfwd, glmerr, glmgrad, glmtrain
wolffd@0: Pages: wolffd@0: Index wolffd@0:
wolffd@0:

Copyright (c) Ian T Nabney (1996-9) wolffd@0: wolffd@0: wolffd@0: wolffd@0: