Лабораторная работаПрограммированиеГод: 2024ПГУТИ: Поволжский государственный университет телекоммуникаций и информатики
👁 12💼 0

Готовая лабораторная работа: Перцептрон и активации

Загружена: 24.02.2026 10:06

Обучение однослойного перцептрона и сравнение нескольких активационных функций в задаче распознавания бинарных символов 5×7. Приведены Python‑скрипты с наборами образов (символы N, P, 1, 2, 3, 7), параметры обучения (Nout, noiseLevel, Nju, Beta) и результаты экспериментов. Полезно для практических лабораторных и адаптации под курсовые задания по нейросетям.

Содержание

Контрольная работа №1. Обучение простой нейронной сети выполнению логических операций

Задание 1. ИЛИ, И-НЕ Вариант 1
Задание № 2. Распознавание простых образов
Задание №3. Теорема о целочисленности весов перцептрона
Сделать вывод.

Лабораторная работа №2. Обучение однослойного перцептрона с несколькими выходами
Лабораторная работа №5. Исследование активационных функций

Подробное описание

📘 О чем эта работа

В комплект входят две лабораторные: обучение однослойного перцептрона с несколькими выходами и исследование влияния активационных функций в многослойной сети. Объект — нейронные сети, предмет — методы обучения и выбор функций активации для распознавания бинарных изображений символов (формат 5×7).

📚 Что внутри

Работа содержит полный исходный код на Python (файлы с реализацией обучения и тестирования), наборы бинарных образов и результаты тестов. Конкретно:

  • Набор входов: Nix=5, Niy=7 (вектор длины Ni=35) и обучающие/тестовые образцы для символов 'N','P','1','2','3','7' (матрицы 5×7 в виде одномерных массивов).
  • Параметры обучения: Alpha=2, Nju=0.2, Beta варьируется (1–2), noiseLevel=0.15/0.25, noiseTrain=0–0.5. Рассмотрены конфигурации Nout=2 и Nout=6; для двухслойной сети вычисляется скрытый слой N1=int((Ni+Nout)/2).
  • Активационные функции и их реализации: логистическая (sigmoid), пороговая (Heaviside), линейная, гиперболический тангенс (с масштабированием в коде) и ReLU. Для каждой функции приведены отдельные процедуры вычисления выходов и соответствующие алгоритмы обновления весов (trainLog, trainHT, trainReLU, trainLin и т.д.).
  • Функции утилит: инициализация весов, добавление шума в образ (noise), визуализация образа в консоли (showImage), копирование векторов (vvod).
  • Результаты экспериментов: указаны числа циклов обучения и примеры выходных векторов после обучения и при подаче шума (например, для Nout=2 при noiseLevel=0.15 — ~1974 эпохи; для разных конфигураций наблюдались значения Epoch ≈ 1974, 1992, 2027, 2023). Приведены числовые выходы сети для каждой тестовой метки (вероятностные значения для выходов сети при разных режимах).
  • Примеры логов и тестов с шумом: показаны визуальные представления образов с шумом и соответствующие значения выходов сети (демонстрация устойчивости к искажениям).

📊 Для кого подходит

Материал пригоден студентам и преподавателям курсов по машинному обучению, нейросетям и прикладной информатике. Подходит для выполнения лабораторных заданий 2–5 курса, демонстрации влияния функции активации и подбора гиперпараметров на обучение и обобщающую способность сети.

✨ Особенности

Готовые исполняемые скрипты на Python, визуализация образов в текстовом виде, наглядные настройки: смена числа выходов (Nout), уровня шума (noiseLevel), доли шумных итераций (noiseTrain), скорости обучения (Nju) и типа активации. Включены альтернативные алгоритмы обновления весов для разных функций активации, а также реализация моментовых поправок (Mju) для многослойной сети.

❓ Частые вопросы

Подойдет ли для моего ВУЗа?
Структура лабораторных модулей и исходные коды соответствуют стандартным требованиям по программированию и экспериментальной части: есть входные данные, алгоритм, выводы и примеры тестов.

Можно ли адаптировать?
Да. Код модульный: легко заменить набор образов, увеличить разрешение, сменить функцию активации или подобрать другие гиперпараметры (Alpha, Nju, Beta) для повторных экспериментов.

Практическая ценность: быстрый старт для учебных экспериментов с нейросетями, демонстрация влияния шума и выбора активации на сходимость и распознавание, готовые примеры логов с наблюдаемыми Epoch и выходными векторами.