Función Tensorflow.js tf.losses.meanSquaredError()

Tensorflow.js es una biblioteca JavaScript de código abierto desarrollada por Google para ejecutar y entrenar modelos de aprendizaje automático y redes neuronales de aprendizaje profundo en el navegador y el entorno node.js.

El error cuadrático medio es el promedio de las diferencias al cuadrado entre los valores previstos y los reales. El resultado siempre es positivo y 0.0 en caso pero nunca se vuelve negativo. En la biblioteca tensorflow.js, usamos la función tf.losses.meanSquaredError() para calcular el error cuadrático medio entre dos tensores. 

Sintaxis: 

tf.losses.meanSquaredError(labels, predictions, weights?, reduction?)

Parámetros:

  • etiquetas: Este es el tensor de salida real con respecto al cual se calcula la diferencia en la predicción. Puede ser tf.tensor, typedArray o una array normal.
  • Predicciones: este es el tensor de salida predicho con las mismas dimensiones que las etiquetas. Es tf.tensor o typedArray o array normal.
  • pesos: Este puede ser un tensor de rango igual al de las etiquetas para que pueda ser retransmitible o 0. Es opcional.
  • reducción: Aplicar reducción a la pérdida. es opcional

Valor devuelto: tf.Tensor que se calcula mediante la función meansquaredError.

Ejemplo 1: En este ejemplo, tomaremos dos tensores bidimensionales como etiqueta y el otro como predicción y luego encontraremos el error cuadrático medio de estos dos.

Javascript

// Importing the tensorflow.js library
const tf = require("@tensorflow/tfjs");
  
// Defining label tensor
const y_true = tf.tensor2d([
    [0., 1., 0.], 
    [0., 0., 0.]
]);
  
// Defining prediction tensor
const y_pred = tf.tensor2d([
    [1., 1., 0.], 
    [1., 0., 0 ]
]);
  
// Calculating mean squared error
const mse = tf.losses.meanSquaredError(y_true,y_pred)
  
// Printing the output
mse.print()

Producción:

Tensor
    0.3333

  Ejemplo 2: De manera similar, tomamos otro ejemplo en el que tomamos los pesos de rango a partir de etiquetas en la función meanSquaredError y luego calculamos el error cuadrático medio.

Javascript

// Importing the tensorflow.js library
const tf = require("@tensorflow/tfjs");
  
// Defining label tensor
const y_true = tf.tensor2d(
    [0., 1., 0., 0., 0., 0., 1., 
    0., 1., 1., 0., 1.], [4, 3]
);
  
// Defining predicted tensor
const y_pred = tf.tensor2d(
    [1., 1., 0., 1., 0., 0., 1., 
    1., 1., 0., 0., 1.], [4, 3]
);
  
// Calculating meansquared error
const mse = tf.losses.meanSquaredError(
        y_true, y_pred, [0.7, 0.3, 0.2],)
  
mse.print()

Producción:

Tensor
    0.2000

Ejemplo 3: en la función de compilación del diseño del modelo, usamos el ‘error cuadrático medio’ como parámetro de pérdida. A continuación se muestra una red neuronal simple donde hacemos el cálculo.

Javascript

// Importing the tensorflow.js library
const tf = require("@tensorflow/tfjs");
  
// Define the model
const model = tf.sequential({
    layers: [tf.layers.dense({ 
        units: 1, inputShape: [12] 
    })],
});
  
// In model compilation we pass
// meanSquaredError as the parameter
  
model.compile(
    { optimizer: "adam", loss: "meanSquaredError" },
    (metrics = ["accuracy"])
);
  
// Evaluate the model which was compiled above
// computation is done in batches of size 4
const result = model.evaluate(
    tf.ones([10, 12]), tf.ones([10, 1]), {
        batchSize: 4,
    }
);
  
// Print the result
result.print();

Producción:

Tensor
    0.4817

 Referencia: https://js.tensorflow.org/api/3.6.0/#metrics.meanSquaredError

Publicación traducida automáticamente

Artículo escrito por barnadipdey2510 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *