HaskellNN-0.1.3: High Performance Neural Network in Haskell

MaintainerKiet Lam <ktklam9@gmail.com>

AI.Signatures

Description

This module provides the signatures for needed functions in a neural network

Synopsis

Documentation

type ActivationFunction = Double -> DoubleSource

Type that represents the activation function

type DerivativeFunction = Double -> DoubleSource

Type that represents the derivative of the activation function

NOTE: The derivative can be non-trivial and must be continuous

type ErrorFunctionSource

Arguments

 = Vector Double

The calculated output vector

-> Vector Double

The expected output vector

-> Double

Returns the error of how far off the calculated vector is from the expected vector

Type that represents the error function between the calculated output vector and the expected output vector

type CostFunctionSource

Arguments

 = Network

The neural networks of interest

-> Matrix Double

The input matrix, where the ith row is the input vector of a training set

-> Matrix Double

The expected output matrix, where the ith row is the expected output vector of a training set

-> Double

Returns the cost of the calculated output vector from the neural network and the given expected output vector

Type that represents the function that can calculate the total cost of the neural networks given the neural networks, the input matrix and an expected output matrix

type CostDerivativeSource

Arguments

 = Network

The neural networks of interest

-> Matrix Double

The matrix of inputs where the ith row is the ith training set

-> Matrix Double

The matrix of calculated outputs where the ith row is the ith training set

-> Matrix Double

The matrix of expected outputs where the ith row is the ith expected output of of the training set

-> Matrix Double

Returns the matrix of the derivatives of the cost of the output nodes compared to the expected matrix

Type that represents the cost function derivative. on the output nodes

type GradientFunctionSource

Arguments

 = CostFunction

The cost function

-> CostDerivative

The cost derivative

-> Network

The neural network

-> Matrix Double

The input matrix

-> Matrix Double

The expected output matrix

-> Vector Double

Returns the gradient vector of the weights

The type to represent a function that can calculate the gradient vector of the weights of the neural network

NOTE: Must be supplied a function to calculate the cost, the cost derivative of the output neurons, the neural network the input matrix, and the expected output matrix