Главная страница
Навигация по странице:

  • 0.10 0.31

  • 0.6551 1.1159 1.7632 2.5847 3.4686 4.2115 4.6152 4.6095 4.2887 3.8349

  • Контрольные задания для лабораторной работы № 1

  • Лабораторная работа. ЛАБОРАТОРНАЯ РАБОТА 2(1). Аппроксимацияфункцииодной


    Скачать 333.68 Kb.
    НазваниеАппроксимацияфункцииодной
    АнкорЛабораторная работа
    Дата17.11.2022
    Размер333.68 Kb.
    Формат файлаdocx
    Имя файлаЛАБОРАТОРНАЯ РАБОТА 2(1).docx
    ТипДокументы
    #793913

    Лабораторная работа 2


    Аппроксимацияфункцииоднойпеременной
      1. Цель работы



    newff
    Научиться работать с сетью прямой передачи сигнала, функция [1]. Разобраться с алгоритмом обратного распространения ошибки.

      1. Краткие теоретические сведения


    В лабораторной работе рассматривается нейронная сеть с прямой передачей сигнала (с прямой связью) [2], то есть сеть, в которой сигналы передаются только в направлении от входного слоя к выходному, и элементы одного слоя связаны со всеми элементами следующего слоя. Важнейшим для реализации нейронных сетей является определение алгоритма обучения сети.

    В настоящее время одним из самых эффективных и обоснованных методов облучения нейронных сетей является алгоритмобратногораспространенияошибки, который применим к однонаправленныммногослойным сетям. В многослойных нейронных сетях имеется множество скрытых нейронов, входы и выходы которых не являются входами и выходами нейронной сети, а соединяют нейроны внутри сети, то есть скрытыенейроны. Занумеруем выходы нейронной сети индексом

    j 1,2,…, n, а обучающие примеры индексом

    M 1,2,…, M0 . Тогда в

    качестве целевой функции можно выбрать функцию ошибки как сумму

    квадратов расстояний между реальными выходными состояниями

    yjM

    нейронной сети, выдаваемых сетью на входных данных примеров, и

    правильными значениями функции djM, соответствующими этим примерам.

    Пусть x xi– столбец входных значений, где i=1,2,..,n. Тогда

    y {yj}

    выходные значения, где j=1,2,…,m. В общем случае nm. Рассмотрим

    разность

    yjM

    • djM, где

    dji точное (правильное) значение из примера. Эта

    разность должна быть минимальна. Введем расстояния согласно евклидовой метрике, определив норму

    y d

    . (1)

    Пусть целевая функция имеет вид



    E1 ( y2 j,M
    j,M

    • dj,M

    )2 . (2)

    Коэффициент ½ выбран из соображений более короткой записи последующих формул. Задача обучения нейронной сети состоит в том, чтобы

    найти такие коэффициенты

    E(w) (Е 0).

    wβk, при которых достигается минимум

    На рис. 1 показана архитектура нейронной сети с прямой передачей сигнала.



    Рис. 1. Схема архитектуры нейронной сети с прямой передачей сигнала
    Здесь приняты обозначения, используемые в [1], а именно, p1 - вектор

    входа,

    IWi, j,

    LWi, j

    • матрицы весов входа и выхода, bi

    • смещение, ai-

    выход слоя, y- выход сети, tansig(гиперболическая тангенциальная), purelin

    (линейная) - соответствующие функции активации.

    Веса и смещения определяются с помощью алгоритма обратного распространения ошибок [3].

    Обучение сети обратного распространения требует выполнения следующих операций:

    1. Выбрать очередную обучающую пару из обучающего множества; подать входной вектор на вход сети.

    2. Вычислить выход сети.

    3. Вычислить разность между выходом сети и требуемым выходом (целевым вектором обучающей пары).

    4. Скорректировать веса сети так, чтобы минимизировать ошибку.

    5. Повторять шаги с 1 по 4 для каждого вектора обучающего множества до тех пор, пока ошибка на всем множестве не достигнет приемлемого уровня.



      1. Пример решения типовой задачи


    Выполнение лабораторной работы состоит из следующих этапов: прежде всего, необходимо оцифровать график функции y=f(x), то есть получить ряд соответствующих значений по горизонтальной и вертикальной осям.


    Рис. 2. Пример зависимости для функции одной переменной
    В примере, показанном на рис. 2 были получены два массива, каждый из которых состоит из 15 значений. По горизонтальной оси – [0.10 0.31 0.51 0.72 0.93 1.14 1.34 1.55 1.76 1.96 2.17 2.38 2.59

    2.79 3.00].По вертикальной оси – [0.1010 0.3365 0.6551

    1.1159 1.7632 2.5847 3.4686 4.2115 4.6152 4.6095 4.2887


    3.8349 3.4160 3.1388 3.0603].

    Ниже приводится программа создания, обучения нейронной сети и вывода результатов.

    x=[0.10 0.31 0.51 0.72 0.93 1.14 ...

    1.34 1.55 1.76 1.96 2.17 2.38 ...

    2.59 2.79 3.00];

    y=[0.1010 0.3365 0.6551 1.1159 1.7632 2.5847 ...

    3.4686 4.2115 4.6152 4.6095 4.2887 3.8349 ...

    3.4160 3.1388 3.0603];


    net=newff([0 3],[5,1],{'tansig','purelin'},'trainbfg');

    %Архитектура нейронной сети: двухслойная сеть с прямой передачей сигнала; скрытый слой - 5 нейронов с функцией активации tansig; выходной слой - 1 нейрон с функцией активации purelin, диапазон изменения входа [0 3];

    net.trainParam.epochs=300; % количество циклов обучения


    net.trainParam.show=50; % количество эпох между показами

    net.trainParam.goal=1.37e-2; % целевое значение ошибки [net,tr]=train(net,x,y); % обучение сети net

    an=sim(net,x); % запуск сети net с x данными

    plot(x,y,'+r',x,an,'-g'); hold on; xx=[0.61 2.61];

    v=sim(net,xx)


    plot(xx,v,'ob','MarkerSize',5,'LineWidth',2)

    Функция trainbfg является функцией квазиньютоновского алгоритма BP BFGS. В дополнение к сети BP эта функция может также обучать любую форму нейронной сети, требуя, чтобы ее функция возбуждения имела производные по весам и входам. BP (обратное распространение) - это многослойная нейронная сеть с прямой связью

    В результате выполнения программы получаются следующие результаты, отражённые на рис. 3 и 4:


    Рис. 3. Характеристика точности обучения в зависимости от числа эпох обучения


    Рис. 4. Результаты моделирования сети: + - исходные данные; сплошная линия и символ «о» результаты моделирования всей зависимости и в контрольных точках
    В массиве v содержатся приближённые значения для двух контрольных точек, указанных на графике (рис. 2) xx=[0.61 2.61]. При данных параметрах сети получены значения: v = [1.05 3.35]. Сравнив эти приближённые значения с точными значениями [0.85 3.37], можно сделать вывод о корректности построения нейронной сети.

      1. Отчёт о выполнении работы


    Отчёт о выполнении лабораторной работы №1 должен быть выполнен на листах формата А4 и содержать следующие результаты:

        1. Исходные данные (рис. 2);

        2. Текст программы с подробными комментариями;

        3. Характеристику точности обучения (рис. 3);

        4. Результаты моделирования (рис. 4);

        5. Сопоставление результатов в контрольных точках;

        6. Краткие выводы о результатах работы.

    Контрольные задания для лабораторной работы № 1













    написать администратору сайта