| Maintainer | Kiet Lam <ktklam9@gmail.com> |
|---|
AI.Model.GenericModel
Description
This module provides a generic module for initiialization and training of neural networks
User must provide the needed functions
- data GenericModel = GenericModel {}
- initializeModel :: Activation -> Cost -> [Int] -> Double -> StdGen -> GenericModel
- getOutput :: GenericModel -> Vector Double -> Vector Double
- trainModel :: GenericModel -> TrainingAlgorithm -> Double -> Int -> Matrix Double -> Matrix Double -> GenericModel
Documentation
Arguments
| :: Activation | The activation model of each neuron |
| -> Cost | The cost model of the output neurons compared to the expected output |
| -> [Int] | The architecture of the network e.g., a 2-3-1 architecture would be [2,3,1] |
| -> Double | The regularization constant should be 0 if you do not want regularization |
| -> StdGen | The random generator |
| -> GenericModel | Returns the initialized model |
Initialize neural network model with the weights randomized within [-1.0,1.0]
Arguments
| :: GenericModel | The model of interest |
| -> Vector Double | The input vector to the input layer |
| -> Vector Double | The output of the network model |
Get the output of the model
Arguments
| :: GenericModel | The model to be trained |
| -> TrainingAlgorithm | The training algorithm to be used |
| -> Double | The precision to train with regards to the cost function |
| -> Int | The maximum amount of epochs to train |
| -> Matrix Double | The input matrix |
| -> Matrix Double | The expected output matrix |
| -> GenericModel | Returns the trained model |
Train the model given the parameters and the training algorithm