Örnek 2 Modeli


Verileri Karıştır

Antrenmandan önce daima verileri karıştırın.

Bir model eğitildiğinde, veriler küçük kümelere (partiler) bölünür. Her parti daha sonra modele beslenir. Karıştırma, modelin aynı verileri tekrar almasını önlemek için önemlidir. Aynı verinin iki kez kullanılması durumunda model veriyi genelleştiremez ve doğru çıktıyı veremez. Karıştırma, her partide daha iyi veri çeşitliliği sağlar.

Örnek

tf.util.shuffle(data);

TensorFlow Tensörleri

TensorFlow'u kullanmak için giriş verilerinin tensör verilerine dönüştürülmesi gerekir:

// 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]);

Veri Normalleştirme

Veriler bir sinir ağında kullanılmadan önce normalleştirilmelidir.

Min-max kullanılarak 0 - 1 aralığı sayısal veriler için genellikle en iyisidir:

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));

Tensorflow Modeli

Bir Makine Öğrenimi Modeli , girdiden çıktı üreten bir algoritmadır.

Bu örnek, bir ML Modelini tanımlamak için 3 satır kullanır :

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

Sıralı ML Modeli

const model = tf.sequential(); Sıralı ML Modeli oluşturur .

Sıralı bir modelde, girdi doğrudan çıktıya akar. Diğer modellerde birden çok girdi ve birden çok çıktı olabilir. Sıralı, en kolay ML modelidir. Bir sonraki katmana karşılık gelen ağırlıklarla katman katman bir model oluşturmanıza olanak tanır.

TensorFlow Katmanları

model.add() , modele iki katman eklemek için kullanılır.

tf.layer.dense çoğu durumda çalışan bir katman türüdür. Girdilerini bir ağırlık matrisi ile çarpar ve sonuca bir sayı (önyargı) ekler.

Şekiller ve Birimler

inputShape: [1] çünkü 1 girişimiz var (x = odalar).

birimler: 1 ağırlık matrisinin boyutunu tanımlar: Her giriş için 1 ağırlık (x değeri).


Model Derleme

Modeli belirtilen bir optimize edici ve kayıp işleviyle derleyin:

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

Derleyici, sgd optimizer'ı kullanacak şekilde ayarlanmıştır . Kullanımı basit ve oldukça etkilidir.

ortalamaSquaredError , model tahminlerini ve gerçek değerleri karşılaştırmak için kullanmak istediğimiz fonksiyondur.