Trait rusty_machine::learning::nnet::Criterion
[−]
[src]
pub trait Criterion { type ActFunc: ActivationFunc; type Cost: CostFunc<Matrix<f64>>; fn activate(&self, mat: Matrix<f64>) -> Matrix<f64> { ... } fn grad_activ(&self, mat: Matrix<f64>) -> 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> { ... } }
Criterion for Neural Networks
Specifies an activation function and a cost function.
Associated Types
type ActFunc: ActivationFunc
The activation function for the criterion.
type Cost: CostFunc<Matrix<f64>>
The cost function for the criterion.
Provided Methods
fn activate(&self, mat: Matrix<f64>) -> Matrix<f64>
The activation function applied to a matrix.
fn grad_activ(&self, mat: Matrix<f64>) -> Matrix<f64>
The gradient of the activation function applied to a matrix.
fn cost(&self, outputs: &Matrix<f64>, targets: &Matrix<f64>) -> f64
The cost function.
Returns a scalar cost.
fn cost_grad(&self, outputs: &Matrix<f64>, targets: &Matrix<f64>) -> Matrix<f64>
The gradient of the cost function.
Returns a matrix of cost gradients.
fn regularization(&self) -> Regularization<f64>
Returns the regularization for this criterion.
Will return Regularization::None
by default.
fn is_regularized(&self) -> bool
Checks if the current criterion includes regularization.
Will return false
by default.
fn reg_cost(&self, reg_weights: MatrixSlice<f64>) -> f64
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.
fn reg_cost_grad(&self, reg_weights: MatrixSlice<f64>) -> Matrix<f64>
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
impl Criterion for BCECriterion
impl Criterion for MSECriterion