pub trait Criterion {
    type Cost: CostFunc<Matrix<f64>>;

    fn cost(&self, outputs: &Matrix<f64>, targets: &Matrix<f64>) -> f64 { ... }
    fn cost_grad(
        &self,
        outputs: &Matrix<f64>,
        targets: &Matrix<f64>
    ) -> Matrix<f64> { ... } fn regularization(&self) -> Regularization<f64> { ... } fn is_regularized(&self) -> bool { ... } fn reg_cost(&self, reg_weights: MatrixSlice<'_, f64>) -> f64 { ... } fn reg_cost_grad(&self, reg_weights: MatrixSlice<'_, f64>) -> Matrix<f64> { ... } }
Expand description

Criterion for Neural Networks

Specifies an activation function and a cost function.

Required Associated Types

The cost function for the criterion.

Provided Methods

The cost function.

Returns a scalar cost.

The gradient of the cost function.

Returns a matrix of cost gradients.

Returns the regularization for this criterion.

Will return Regularization::None by default.

Checks if the current criterion includes regularization.

Will return false by default.

Returns the regularization cost for the criterion.

Will return 0 by default.

This method will not be invoked by the neural network if there is explicitly no regularization.

Returns the regularization gradient for the criterion.

Will return a matrix of zeros by default.

This method will not be invoked by the neural network if there is explicitly no regularization.

Implementors