Contoh 1 Model
Acak Data
Selalu acak data sebelum pelatihan.
Ketika model dilatih, data dibagi menjadi set kecil (batch). Setiap batch kemudian diumpankan ke model. Pengacakan penting untuk mencegah model mendapatkan data yang sama lagi. Jika menggunakan data yang sama dua kali, model tidak akan dapat menggeneralisasi data dan memberikan output yang tepat. Pengacakan memberikan variasi data yang lebih baik di setiap batch.
Contoh
tf.util.shuffle(data);
TensorFlow Tensor
Untuk menggunakan TensorFlow, data input perlu dikonversi ke data 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]);
Normalisasi Data
Data harus dinormalisasi sebelum digunakan dalam jaringan saraf.
Rentang 0 - 1 menggunakan min-max seringkali paling baik untuk data numerik:
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));
Model Tensorflow
Model Machine Learning adalah algoritma yang menghasilkan output dari input.
Contoh ini menggunakan 3 baris untuk mendefinisikan Model 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}));
Model ML berurutan
const model = tf.sequential(); membuat Model ML Berurutan .
Dalam model sekuensial, input mengalir langsung ke output. Model lain dapat memiliki banyak input dan beberapa output. Sequential adalah model ML yang paling mudah. Ini memungkinkan Anda untuk membangun model lapis demi lapis, dengan bobot yang sesuai dengan lapisan berikutnya.
Lapisan TensorFlow
model.add() digunakan untuk menambahkan dua lapisan ke model.
tf.layer.dense adalah jenis lapisan yang berfungsi dalam banyak kasus. Ini mengalikan inputnya dengan matriks bobot dan menambahkan angka (bias) ke hasilnya.
Bentuk dan Satuan
inputShape: [1] karena kita memiliki 1 input (x = horsepower).
unit: 1 mendefinisikan ukuran matriks bobot: 1 bobot untuk setiap input (nilai x).
Menyusun Model
Kompilasi model dengan pengoptimal dan fungsi kerugian yang ditentukan:
model.compile({loss: 'meanSquaredError', optimizer:'sgd'});
Kompiler diatur untuk menggunakan pengoptimal sgd . Hal ini mudah digunakan dan cukup efektif.
meanSquaredError adalah fungsi yang ingin kita gunakan untuk membandingkan prediksi model dan nilai sebenarnya.