«Белорусский государственный университет информатики и радиоэлектроники». Факультет: Компьютерного проектирования. Кафедра: «Проектирование информационно-компьютерных систем» Специальность: «Программируемые мобильные системы» Лабораторная работа №2 Тема: «Изучение свойств линейного нейрона и линейной нейронной сети» Выполнил: Группа:913851 Тойиров Миразиз__________ (подпись) Принял: Давыдовский Анатолий Григорьевич _____________ (подпись) Минск 2021 1. Цель работы Изучить свойства линейного нейрона. 2. Лабораторное задание Изучите возможности нейрона выполнять логическую функцию двух переменных: ИЛИ-НЕ (NOR) представленные в таблице 1. Таблица 1. Логическая функция двух переменных Входы Логические функции х2 х1 NOR 0 0 1 0 1 0 1 0 0 1 1 0 3. Оборудование, технологии и ПО: Компьютер Программное обеспечение MatLab 4. Краткие теоретические сведения Нейрон, используемый в модели персептрона, имеет пороговую функцию активации hardlim с жесткими ограничениями (рисунок 1). n=8 Рисунок 1. Структура порогового нейрона Каждое значение элемента вектора входа персептрона умножено на соответствующий вес w1j, и сумма полученных взвешенных элементов является входом функции активации. Если вход функции активации n ≥ 0, то нейрон персептрона возвращает 1, если n < 0, то 0. Рисунок 2. Разделение нейроном пространства входа на две области Функция активации с жесткими ограничениями придает персептрону способность классифицировать векторы входа, разделяя пространство входов на две области, как это показано на рисунке 2, для персептрона с двумя входами и смещением. Персептрон без смещения всегда формирует разделяющую линию, проходящую через начало координат; добавление смещения формирует линию, которая не проходит через начало координат, как это показано на рисунке 2. Каждое значение элемента вектора входа персептрона умножено на соответствующий вес w1j, и сумма полученных взвешенных элементов является входом функции активации. Линейный нейрон имеет одно существенное ограничение. Входные векторы должны быть линейно сепарабельны. Если векторы невозможно отделить прямой или гиперплоскостью, то персептрон не способен решить задачу классификации. 5. Ход выполнения работы: 5.1 Изучение и создание нейрона выполняющего логическую функцию «ИЛИ-НЕ» двух переменных В этой задаче мы создадим нейронную сеть, и инициализируем ее под нашу задачу web = newp([0 1; 0 1], 1); Создание нейрона с одним двухэлементным входом (интервал первого элемента [0; 1] и второго элемента [0; 1]). kirish = [0 0 1 1; 0 1 0 1]; Создание последовательности входов chiqish = [1, 0, 0, 0]; Создание последовательности выходов (реакций) для нейрона, выполняющего функцию логического ИЛИ-НЕ web = init(web); Инициализация нейрона web Y = sim(web, kirish); Имитация работы нейрона web web.trainParam.epochs = 12; Установка количества проходов web = train(web, kirish, chiqish); Обучение нейрона train – вывод график обучения (рисунок 3): Рисунок 3. Окно обучения нейронной сети и Изменение ошибки сети в процессе обучения 5.2 Симулируем работу сети и проверяем ее на правильную работоспособность >> Y = sim(web, kirish) >> Y = 1 0 0 0 Инициализируем еще один вектор для проверки: >>kirish2 = [1 1 0 0; 0 1 0 1]; >> Y = sim(web, kirish2) >>Y = 0 0 1 0 Оба ответа верны 6. Вывод: По окончанию решения лабораторной работы, мы научились работать с пороговой активационной функцией hardlim. Решать логическую функцию ИЛИ-НЕ (NOR). Работать в командной строке в Программной среде matlab.