Proyecto Final - Turinmachin
Recreación del minijuego de matemáticas de Brain-Age usando redes neuronales
Loading...
Searching...
No Matches
utec::neural_network::CrossEntropyLoss< T > Class Template Referencefinal

Función de pérdida Cross Entropy para clasificación multiclase. Requiere que las etiquetas verdaderas estén codificadas one-hot. More...

#include <loss.h>

Inheritance diagram for utec::neural_network::CrossEntropyLoss< T >:
Collaboration diagram for utec::neural_network::CrossEntropyLoss< T >:

Public Member Functions

template<typename Prediction, typename Expected>
 CrossEntropyLoss (Prediction &&y_prediction, Expected &&y_true, const T epsilon=1e-7)
 Constructor que recibe tensores de predicciones y etiquetas reales.
auto loss () const -> T override
 Valor de la pérdida Cross Entropy. Aplica logaritmo y protección contra valores extremos.
auto loss_gradient () const -> algebra::Tensor< T, 2 > override
 Gradiente de la pérdida Cross Entropy. Simplemente calcula la diferencia entre predicción y etiqueta.
Public Member Functions inherited from utec::neural_network::ILoss< T, 2 >
virtual ~ILoss ()=default
 Destructor virtual.

Detailed Description

template<typename T>
class utec::neural_network::CrossEntropyLoss< T >

Función de pérdida Cross Entropy para clasificación multiclase. Requiere que las etiquetas verdaderas estén codificadas one-hot.

Template Parameters
TTipo de dato (float, double, etc.).

Constructor & Destructor Documentation

◆ CrossEntropyLoss()

template<typename T>
template<typename Prediction, typename Expected>
utec::neural_network::CrossEntropyLoss< T >::CrossEntropyLoss ( Prediction && y_prediction,
Expected && y_true,
const T epsilon = 1e-7 )
inline

Constructor que recibe tensores de predicciones y etiquetas reales.

Parameters
y_predictionTensores con probabilidades predichas.
y_trueTensores one-hot con etiquetas verdaderas.
Exceptions
std::invalid_argumentsi las dimensiones no coinciden. @complexity O(1).

Member Function Documentation

◆ loss()

template<typename T>
auto utec::neural_network::CrossEntropyLoss< T >::loss ( ) const -> T
inlineoverridevirtual

Valor de la pérdida Cross Entropy. Aplica logaritmo y protección contra valores extremos.

Returns
Promedio negativo del logaritmo de las probabilidades verdaderas. @complexity O(n*m), donde n es el número de muestras y m el número de clases.

Implements utec::neural_network::ILoss< T, 2 >.

◆ loss_gradient()

template<typename T>
auto utec::neural_network::CrossEntropyLoss< T >::loss_gradient ( ) const -> algebra::Tensor<T, 2>
inlineoverridevirtual

Gradiente de la pérdida Cross Entropy. Simplemente calcula la diferencia entre predicción y etiqueta.

Returns
Tensor del mismo shape que la entrada. @complexity O(n*m).

Implements utec::neural_network::ILoss< T, 2 >.

Here is the call graph for this function:

The documentation for this class was generated from the following file: