# Cost

Edit on Github

Cost functions play an important role in neural networks. They give neural networks an indication of 'how wrong' they are; a.k.a. how far they are from the desired output. But also in fitness functions, cost functions play an important role.

### Methods

At the moment, there are 7 built-in mutation methods (all for networks):

Name | Function
--- | ---
methods.cost.CROSS_ENTROPY |
methods.cost.MSE |
methods.cost.BINARY |
methods.cost.MAE |
methods.cost.MAPE |
methods.cost.MSLE | none
methods.cost.HINGE |

### Usage

Before experimenting with any of the loss functions, note that not every loss function might 'work' for your network. Some networks have nodes with activation functions that can have negative values; this will create some weird error values with some cost methods. So if you don't know what you're doing: stick to any of the first three cost methods!

    myNetwork.train(trainingData, {
      log: 1,
      iterations: 500,
      error: 0.03,
      rate: 0.05,
      cost: methods.cost.METHOD
    });