Berdasarkan pengalaman Machine Learning #1 maka mari memanfaatkan Neural Network untuk proses pembelajaran MESIN
Dari:

Kita ubah menjadi:

import tensorflow as tf
import numpy as np
from tensorflow import keras
xs = np.array([-1.0, 0.0, 1.0, 2.0, 3.0, 4.0], dtype=float)
ys = np.array([-3.0, -1.0, 1.0, 3.0, 5.0, 7.0], dtype=float)
"""#### Gunakan 2 Layer """
my_layer_1 = keras.layers.Dense(units=2, input_shape=[1])
my_layer_2 = keras.layers.Dense(units=1)
model = tf.keras.Sequential([my_layer_1, my_layer_2])
model.compile(optimizer='sgd', loss='mean_squared_error')
xs = np.array([-1.0, 0.0, 1.0, 2.0, 3.0, 4.0], dtype=float)
ys = np.array([-3.0, -1.0, 1.0, 3.0, 5.0, 7.0], dtype=float)
model.fit(xs, ys, epochs=50)
print(my_layer_1.get_weights()[0])
print(my_layer_1.get_weights()[1])
print(my_layer_2.get_weights())
print(model.predict([4.0]))
Baris 11 membentuk layer ke 1 dengan 2 unit dense, dimana inputnya adalah 1, yaitu x
Baris 12 membentuk layer ke 2 dengan 1 unit dense
Baris 13 membentuk model dalam bentuk sequensial (berurutan) dari layer ke-1 dilanjutkan layer ke-2
Baris 14 membuat model training menggunakan optimizer SGD (Stochastic Gradient Descent), sedangkan lost function-nya (untuk mengurangi kesalahannannya) menggunakan metode Mean Square Error (MSE). Lihat di Machine Learning #1 untuk lebih jelasnya
Selanjutnya lakukan training 50 kali, sesuai perintah di baris 19
Hasil nilai w dan b di setiap dense adalah berikut:

Pada layer ke-1, dense 1: w=0,9896864 dan b=-1,0169075 sedangkan dense 2: w=-0,38317692 dan b=0,24202025
Pada layer ke-2, dense: w1=0,8393119; w2=-1,0042762; b=0,06092146

Hasil prediksinya saat nilai x 4 adalah 6,90 yang sudah lebih mendekati angka 7, dibandingkan dengan di Machine Learning #1 yang hasilnya 6,80
