Ngoding dampak perubahan bobot terhadap akurasi
Sekarang Anda akan mengubah bobot pada jaringan nyata dan melihat bagaimana pengaruhnya terhadap akurasi model!
Perhatikan jaringan saraf berikut:

Bobotnya telah dimuat sebelumnya sebagai weights_0. Tugas Anda dalam latihan ini adalah memperbarui satu bobot di weights_0 untuk membuat weights_1, yang menghasilkan prediksi sempurna (di mana nilai prediksi sama dengan target_actual: 3).
Gunakan pena dan kertas bila perlu untuk bereksperimen dengan berbagai kombinasi. Anda akan menggunakan fungsi predict_with_network(), yang menerima array data sebagai argumen pertama, dan bobot sebagai argumen kedua.
Latihan ini adalah bagian dari kursus
Pengantar Deep Learning dengan Python
Petunjuk latihan
- Buat kamus bobot bernama
weights_1di mana Anda mengubah 1 bobot dariweights_0(Anda hanya perlu melakukan 1 perubahan padaweights_0untuk menghasilkan prediksi sempurna). - Dapatkan prediksi dengan bobot baru menggunakan fungsi
predict_with_network()denganinput_datadanweights_1. - Hitung error untuk bobot baru dengan mengurangkan
target_actualdarimodel_output_1. - Tekan 'Kirim Jawaban' untuk melihat perbandingan error!
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# The data point you will make a prediction for
input_data = np.array([0, 3])
# Sample weights
weights_0 = {'node_0': [2, 1],
'node_1': [1, 2],
'output': [1, 1]
}
# The actual target value, used to calculate the error
target_actual = 3
# Make prediction using original weights
model_output_0 = predict_with_network(input_data, weights_0)
# Calculate error: error_0
error_0 = model_output_0 - target_actual
# Create weights that cause the network to make perfect prediction (3): weights_1
weights_1 = {'node_0': [____, ____],
'node_1': [____, ____],
'output': [____, ____]
}
# Make prediction using new weights: model_output_1
model_output_1 = ____
# Calculate error: error_1
error_1 = ____ - ____
# Print error_0 and error_1
print(error_0)
print(error_1)