Задание 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
Необходимо:
- Вычислить
взвешенную сумму z = wᵀx + b.
- Реализовать
функцию активации ReLU.
- Определить
выход нейрона.
- Изменить
смещение на b = -1.0 и повторить вычисление.
- Объяснить,
как функция активации влияет на выход нейрона.
Задание 2. Построение многослойного перцептрона
Необходимо создать нейронную сеть со следующей архитектурой:
- 3
входных признака;
- 6
нейронов скрытого слоя;
- 1
выходной нейрон.
Необходимо:
- Создать
модель с помощью tf.keras.Sequential.
- Использовать
ReLU в скрытом слое.
- Использовать
sigmoid в выходном слое.
- Вывести
структуру модели.
- Определить
количество обучаемых параметров.
- Проверить
расчёт с помощью model.count_params().
Задание 3. Обучение нейронной сети
Используя make_classification, необходимо:
- Создать
500 наблюдений с 4 признаками.
- Разделить
данные на обучающую и тестовую выборки.
- Выполнить
масштабирование признаков.
- Создать
многослойный перцептрон с одним скрытым слоем из 8 нейронов.
- Обучить
модель с оптимизатором Adam.
- Использовать
batch_size=16 и epochs=30.
- Вывести
точность на тестовой выборке.
- Сравнить
значения функции потерь на обучающих и валидационных данных.
- Добавить
слой Dropout и повторить эксперимент.