Часть 1: участвуйте в розыгрыше призов
В этом упражнении вы познакомитесь со слоем Dense — и сделаете это в формате увлекательного задания. Представьте себе игровое шоу, в котором призы определяет нейронная сеть. Участник вводит:
- количество братьев и сестёр,
- количество чашек кофе, выпитых за день,
- любит ли он помидоры (да или нет),
а модель предсказывает, какой приз он выиграет.
Для реализации этого вы будете использовать Keras. Вам нужно создать модель с входным слоем, принимающим три признака: количество братьев/сестёр (целое число), количество чашек кофе (целое число) и отношение к помидорам (0 или 1). Затем данные поступают в слой Dense, который выдаёт 3 вероятности (вероятности выиграть автомобиль, подарочный сертификат или ничего).
Слои Input и Dense, а также объект Model из Keras уже импортированы. Также предоставлен инициализатор весов init для инициализации слоя Dense.
Это упражнение является частью курса
Машинный перевод с Keras
Инструкции к упражнению
- Определите входной слой, который принимает ровно 3 участников (размер батча), где у каждого участника есть 3 входных признака: количество братьев/сестёр, количество чашек кофе и отношение к помидорам (размер входа).
- Определите слой
Denseс 3 выходами, функцией активацииsoftmaxи инициализаторомinit. - Вычислите предсказания модели для
xс помощью созданной модели. - Определите наиболее вероятный приз (в виде целого числа) для каждого участника.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Define an input layer with batch size 3 and input size 3
inp = Input(____=(____,____))
# Get the output of the 3 node Dense layer
pred = ____(____, ____=____, kernel_initializer=init, bias_initializer=init)(inp)
model = Model(inputs=inp, outputs=pred)
names = ["Mark", "John", "Kelly"]
prizes = ["Gift voucher", "Car", "Nothing"]
x = np.array([[5, 0, 1], [0, 3, 1], [2, 2, 1]])
# Compute the model prediction for x
y = ____.____(____)
# Get the most probable class for each sample
classes = np.____(____, ____)
print("\n".join(["{} has probabilities {} and wins {}".format(n,p,prizes[c]) \
for n,p,c in zip(names, y, classes)]))