Сигмоидальный нейрон. Математическая модель сигмоидального нейрона. Пошаговый алгоритм обучения сигмоидального нейрона по правилу Видроу-Хоффа

Страницы работы

3 страницы (Word-файл)

Содержание работы

Сигмоидальный нейрон

Содержание отчета:

1.  Математическая модель сигмоидального нейрона.

2.  Сигмоидальная функция активации (формула, формула вычисления производной, график изменения синаптического веса, особенности функции активации).

3.  Пошаговый алгоритм обучения сигмоидального нейрона по правилу Видроу-Хоффа.

4.  Листинг

5.  Выводы.

2. Сигмоидальная функция

Сигмоидальная функция активации (формула, формула вычисления производной, график изменения синаптического веса, особенности функции активации)

Сигмоидальная функция активации выполняется вызовом функции logsig

Синтаксис функции logsig

a = logsig(n) = 1/(1 + exp(-n)).

Функция принадлежит к классу сигмоидальных функций, и ее аргумент может принимать любое значение в диапазоне от -∞ до +∞, а выход изменяется в диапазоне от 0 до 1. Благодаря свойству дифференцируемости, эта функция часто используется в сетях с обучением на основе метода обратного распространения ошибки.

График этой функции в диапазоне значений входа от -2 до + 2 (рис.1).

>> n=-2:0.1:2;

>> plot(n,logsig(n),'b+:'); 

Рис. Логистическая (сигмоидальная) функция активации

Синтаксис функции     logsig

logsig(n) = 1 / (1 + exp(-n))

Пример N = [0.1; 0.8; -0.7];

% A =  0.5250; 0.6900; 0.3318

3. Пошаговый алгоритм обучения сигмоидального нейрона

Алгоритм обучения сигмоидального нейрона описывается в виде:

Шаг 1.

Шаг 2.

Шаг 3.

Шаг 4.

4. Листинг для обучения сигмоидального нейрона по правилу Видроу-Хоффа

X=[1 1 0 0 -1;1 0 0 1 -1; 0 0 1 1 -1; 0 1 1 0 -1]

Y=[1 1; 1 0; 0 1; 0 0]

koeff=1

iteration=1

weight=[0.4 0.3 0.5 0.2 0.3; 0.4 0.5 0.4 0.3 0.2]

S0=0

for x=1:iteration

for i=1:4

s1=0;

s2=0;

for j=1:5

s1=s1+X(i,j)*weight(1,j);

s2=s2+X(i,j)*weight(2,j);

end

deltaw=koeff*(X(i,1)-logsig(s1))*dlogsig(s1,logsig(s1))*X(i,:);

weight (1,:)= weight (1,:)+ deltaw;

Sres1= S0-koeff*(Y(i,1)-sign(s1))

deltaw = koeff *(Y(i,2)-logsig(s2))*dlogsig(s2,logsig(s2))*X(i,:);

weight (2,:)= weight (2,:)+ deltaw;

Sres2= S0-koeff*(Y(i,2)-sign(s2))

end

end

weight

Похожие материалы

Информация о работе