НачатьНачать бесплатно

Как изменение весов влияет на точность модели

Теперь вы сами измените веса в реальной сети и увидите, как это влияет на точность модели!

Рассмотрите следующую нейронную сеть: Ch2Ex4

Её веса заранее загружены в переменную weights_0. Ваша задача — изменить один вес в weights_0, чтобы получить weights_1, при которых модель даёт идеальный прогноз (то есть предсказанное значение равно target_actual: 3).

При необходимости воспользуйтесь бумагой и ручкой, чтобы подобрать нужную комбинацию. Используйте функцию predict_with_network(), которая принимает массив данных первым аргументом и веса — вторым.

Это упражнение является частью курса

Введение в глубокое обучение на Python

Посмотреть курс

Инструкции к упражнению

  • Создайте словарь весов weights_1, изменив 1 вес из weights_0 (достаточно одного изменения, чтобы получить идеальный прогноз).
  • Получите прогнозы с новыми весами, вызвав функцию predict_with_network() с аргументами input_data и weights_1.
  • Вычислите ошибку для новых весов, вычтя target_actual из model_output_1.
  • Нажмите «Отправить ответ», чтобы сравнить значения ошибок!

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# 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)
Редактировать и запускать код