BayesicFitting

Model Fitting and Evidence Calculation

View project on GitHub



class SoftMaxModel( NonLinearModel )Source

Softmax Model is a Logistic model if the number of outputs is 1. Otherwise it is generalization of the LogisticModel over multiple outputs

                   exp( sum_k( x_k * p_kn ) + q_n ) )
    f_n( x:p ) = -------------------------------------------
                 sum_i( exp( sum_k( x_k * p_ki ) + q_i ) ) )


    0       0       0       0       0       0   I inputs
    |\     /|\     /|\     /|\     /|\     /|

      all inputs connect to all outputs        I*N connecting parameters

       \|/     \|/     \|/     \|/     \|/      N offset parameters (if offset)
        0       0       0       0       0       N outputs

The parameters (p) are initialized at 1.0, except the offset (q). They are initialized at 0.0.

Attributes

  • offset : bool
         True : the outputs have offsets
  • ndout : int
         number of output categories
  • in2out : int
         ndim * ndout
  • normed : bool
         the results are normalized (def:True)

Attributes from Model

     npchain, parameters, stdevs, xUnit, yUnit

Attributes from FixedModel

     npmax, fixed, parlist, mlist

Attributes from BaseModel

     npbase, ndim, priors, posIndex, nonZero, tiny, deltaP, parNames

SoftMaxModel( ndim=1, ndout=1, copy=None, offset=False, normed=True, **kwargs )

Logistic response model.

Number of parameters is npars (see offset)

Parameters

  • ndim : int
         number of inputs
  • ndout : int
         number of classifications
  • offset : bool
         False : no offsets npars = ndim * ndout
         True : each output has one offset: npars = ndim * ndout + ndout
  • normed : bool
         True : output is normalized
         False : not
  • copy : SoftMaxModel
         to be copied

copy( )

Copy method.

baseResult( xdata, params )
Returns the result of the model function: Fn( xk ) as array of shape [nx,ndout], where nx number of data points and ndout is the number of outputs.

Parameters

  • xdata : array_like
         values at which to calculate the result
  • params : array_like
         values for the parameters.

basePartial( xdata, params, parlist=None )
Returns the partials at the input value as a list (size N) of arrays of shape (K,P). N is #outputs; K is #datapoints; P is #parameters.

Parameters

  • xdata : array_like
         values at which to calculate the partials
  • params : array_like
         values for the parameters.
  • parlist : array_like
         list of indices active parameters (or None for all)

baseDerivative( xdata, params )
Return the derivative dfi/dxn of each output fi to the data xn at each xdata (=x). It is returned as an array of shape (N,I) of an array of length K. N is #outputs; I is #inputs (ndim); K is #datapoints.

Parameters

  • xdata : array_like
         values at which to calculate the result
  • params : array_like
         values for the parameters.

baseName( )
Returns a string representation of the model.

baseParameterUnit( k )
Return the unit of the indicated parameter.

Parameters

  • k : int
         parameter number.
Methods inherited from NonLinearModel
Methods inherited from Model
Methods inherited from FixedModel
Methods inherited from BaseModel