CNum 0.2.1
CPU-optimized ML library for C++
Loading...
Searching...
No Matches
Loss.h File Reference
#include "CNum/Model/Activation.h"
#include <string>
#include <functional>
#include <cmath>

Go to the source code of this file.

Classes

struct  CNum::Model::Loss::LossProfile
 The loss, gradient, and hessian functions associated with a loss function. More...

Namespaces

namespace  CNum::Model::Loss
 Loss functions.
namespace  CNum
 The umbrella namespace from which you can access all modules of CNum.
namespace  CNum::Model
 The namespace containing the ML models in CNum.

Typedefs

using CNum::Model::Loss::GHFunction = std::function< double(double, double) >
using CNum::Model::Loss::LossFunction

Functions

double CNum::Model::Loss::MSE_loss (const CNum::DataStructs::Matrix< double > &y, const CNum::DataStructs::Matrix< double > &y_pred)
 Mean squared error.
double CNum::Model::Loss::MSE_gradient (double y, double y_pred)
 Calculate the gradient value of the mean squared error.
double CNum::Model::Loss::MSE_hessian (double y, double y_pred)
 Calculate the hessian (second order derivative) value of the mean squared error.
double CNum::Model::Loss::RMSE_loss (const CNum::DataStructs::Matrix< double > &y, const CNum::DataStructs::Matrix< double > &y_pred)
 Root mean squared error.
double CNum::Model::Loss::binary_crossentropy_loss (const CNum::DataStructs::Matrix< double > &y, const CNum::DataStructs::Matrix< double > &y_pred)
 Binary crossentropy (log loss).
double CNum::Model::Loss::binary_crossentropy_gradient (double y, double y_pred)
 Calculate the gradient of the log loss.
double CNum::Model::Loss::binary_crossentropy_hessian (double y, double y_pred)
 Calculate the hessian (second order derivative) of the log loss.
void CNum::Model::Loss::get_gradients_hessians (const CNum::DataStructs::Matrix< double > &y, const CNum::DataStructs::Matrix< double > &y_pred, arena_view_t &g_out, arena_view_t &h_out, const arena_view_t &position_array, GHFunction &grad_func, GHFunction &hess_func)
 Get the Gradients and Hessians of a Matrix.
double CNum::Model::Loss::get_loss (const CNum::DataStructs::Matrix< double > &y, const CNum::DataStructs::Matrix< double > &y_pred, LossFunction &loss_func)
 Get the loss of a matrix of values.
LossProfile CNum::Model::Loss::get_loss_profile (::std::string loss)
 Get the LossProfile associated with a string (i.e. "MSE" -> mean squared error function).