Задание 1. Вычисление выхода нейрона

Даны входные признаки, веса и смещение:

import numpy as np

 

x = np.array([1.0, 2.0, 3.0])

w = np.array([0.2, -0.5, 0.4])

b = 0.1

Необходимо:

  1. Вычислить взвешенную сумму z = wᵀx + b.
  2. Реализовать функцию активации ReLU.
  3. Определить выход нейрона.
  4. Изменить смещение на b = -1.0 и повторить вычисление.
  5. Объяснить, как функция активации влияет на выход нейрона.

Задание 2. Построение многослойного перцептрона

Необходимо создать нейронную сеть со следующей архитектурой:

Необходимо:

  1. Создать модель с помощью tf.keras.Sequential.
  2. Использовать ReLU в скрытом слое.
  3. Использовать sigmoid в выходном слое.
  4. Вывести структуру модели.
  5. Определить количество обучаемых параметров.
  6. Проверить расчёт с помощью model.count_params().

Задание 3. Обучение нейронной сети

Используя make_classification, необходимо:

  1. Создать 500 наблюдений с 4 признаками.
  2. Разделить данные на обучающую и тестовую выборки.
  3. Выполнить масштабирование признаков.
  4. Создать многослойный перцептрон с одним скрытым слоем из 8 нейронов.
  5. Обучить модель с оптимизатором Adam.
  6. Использовать batch_size=16 и epochs=30.
  7. Вывести точность на тестовой выборке.
  8. Сравнить значения функции потерь на обучающих и валидационных данных.
  9. Добавить слой Dropout и повторить эксперимент.