Định nghĩa mô hình và hàm mất mát
Trong bài tập này, bạn sẽ huấn luyện một mạng neural để dự đoán liệu chủ thẻ tín dụng có bị vỡ nợ hay không. Các đặc trưng và mục tiêu dùng để huấn luyện mạng đã có sẵn trong Python shell dưới dạng borrower_features và default. Bạn đã định nghĩa các trọng số và hệ số điều chỉnh (bias) ở bài trước.
Lưu ý rằng tầng predictions được định nghĩa là \(\sigma(layer1*w2+b2)\), trong đó \(\sigma\) là hàm kích hoạt sigmoid, layer1 là tensor các nút của tầng dày ẩn thứ nhất, w2 là tensor trọng số, và b2 là tensor bias.
Các biến có thể huấn luyện gồm w1, b1, w2, và b2. Ngoài ra, các phép toán sau đã được nhập sẵn cho bạn: keras.activations.relu() và keras.layers.Dropout().
Bài tập này là một phần của khóa học
Nhập môn TensorFlow bằng Python
Hướng dẫn bài tập
- Áp dụng hàm kích hoạt rectified linear unit cho tầng đầu tiên.
- Áp dụng dropout 25% cho
layer1. - Truyền mục tiêu
targetsvà giá trị dự đoánpredictionsvào hàm mất mát cross entropy.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# Define the model
def model(w1, b1, w2, b2, features = borrower_features):
# Apply relu activation functions to layer 1
layer1 = keras.activations.____(matmul(features, w1) + b1)
# Apply dropout rate of 0.25
dropout = keras.layers.Dropout(____)(____)
return keras.activations.sigmoid(matmul(dropout, w2) + b2)
# Define the loss function
def loss_function(w1, b1, w2, b2, features = borrower_features, targets = default):
predictions = model(w1, b1, w2, b2)
# Pass targets and predictions to the cross entropy loss
return keras.losses.binary_crossentropy(____, ____)