Ejemplo 1 Modelo


Mezclar datos

Siempre baraje los datos antes de entrenar.

Cuando se entrena un modelo, los datos se dividen en pequeños conjuntos (lotes). Luego, cada lote se alimenta al modelo. La mezcla es importante para evitar que el modelo obtenga los mismos datos nuevamente. Si usa los mismos datos dos veces, el modelo no podrá generalizar los datos y dar el resultado correcto. La mezcla ofrece una mejor variedad de datos en cada lote.

Ejemplo

tf.util.shuffle(data);

TensorFlow Tensores

Para usar TensorFlow, los datos de entrada deben convertirse en datos de tensor:

// Map x values to Tensor inputs
const inputs = values.map(obj => obj.x);
// Map y values to Tensor labels
const labels = values.map(obj => obj.y);

// Convert inputs and labels to 2d tensors
const inputTensor = tf.tensor2d(inputs, [inputs.length, 1]);
const labelTensor = tf.tensor2d(labels, [labels.length, 1]);

Normalización de datos

Los datos deben normalizarse antes de usarse en una red neuronal.

Un rango de 0 - 1 usando min-max suele ser mejor para datos numéricos:

const inputMin = inputTensor.min();
const inputMax = inputTensor.max();
const labelMin = labelTensor.min();
const labelMax = labelTensor.max();
const nmInputs = inputTensor.sub(inputMin).div(inputMax.sub(inputMin));
const nmLabels = labelTensor.sub(labelMin).div(labelMax.sub(labelMin));

modelo de flujo de tensor

Un modelo de aprendizaje automático es un algoritmo que produce una salida a partir de una entrada.

Este ejemplo usa 3 líneas para definir un modelo ML :

const model = tf.sequential();
model.add(tf.layers.dense({inputShape: [1], units: 1, useBias: true}));
model.add(tf.layers.dense({units: 1, useBias: true}));

Modelo de aprendizaje automático secuencial

const modelo = tf.secuencial(); crea un modelo de aprendizaje automático secuencial .

En un modelo secuencial, la entrada fluye directamente a la salida. Otros modelos pueden tener múltiples entradas y múltiples salidas. Sequential es el modelo de ML más fácil. Te permite construir un modelo capa por capa, con pesos que corresponden a la siguiente capa.

Capas de TensorFlow

model.add() se usa para agregar dos capas al modelo.

tf.layer.dense es un tipo de capa que funciona en la mayoría de los casos. Multiplica sus entradas por una matriz de peso y agrega un número (sesgo) al resultado.

Formas y Unidades

inputShape: [1] porque tenemos 1 entrada (x = caballos de fuerza).

unidades: 1 define el tamaño de la matriz de peso: 1 peso para cada entrada (valor x).


Compilar un modelo

Compile el modelo con un optimizador específico y una función de pérdida :

model.compile({loss: 'meanSquaredError', optimizer:'sgd'});

El compilador está configurado para usar el optimizador sgd . Es simple de usar y bastante efectivo.

meanSquaredError es la función que queremos usar para comparar las predicciones del modelo y los valores verdaderos.