Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

зелень / 4лаба1

.doc
Скачиваний:
4
Добавлен:
20.02.2016
Размер:
289.79 Кб
Скачать

Министерство образования и науки,молодежи и спорта Украины

Государственное высшее учебное заведение Украинский государственный химики-технологический университет

Лабораторная работа №4 «Проектирование нейронной сети с заданной структурой»

Выполнила : ст.группы 4-СКС-5 Пономарёв В.Н. Проверили: Зеленцов Д.Г Новикова Л.В.

Днепропетровск 2012

14. Найти выходной вектор нейронной сети со структурой 2 – 3 – 4 – 3 для входного вектора . Значения весов:

для 1-го слоя, для 2-го слоя и для 3-го.

Функции активности:

1-го слоя - линейная: ;

2-го слоя – логистическая: ;

3-го слоя- пороговая: .

Код программы:

#include<iostream.h>

#include<conio.h>

#include<math.h>

float x1[3]={1.0,-0.4,1.3};

float x2[3],x3[4],x4[4];

float v1[3][3]={-0.3, -1.5, 0.6,

0.7, 1.8, 1.6,

1.1, -1.2, 0.5};

float v2[3][4]={0.9, 0.5, 0.5,

-0.5, 0.5, 1.0,

0.5, -1.0, 0.7,

0.9, -0.5, -0.2};

float v3[4][3]={1.8, 1.2, -0.6,

0.2, -1.4, 1.7,

1.1, 0.4, 1.6,

-1.6, -0.3, 0.5

0.4, 0.2, -1.6};

void main()

{

clrscr();

for(int i=0;i<3;i++)

{

x2[i+1]+=x1[i+1]*1.5;

}

for( i=0;i<3;i++)

{

x2[i+1]=x2[i+1]*2.5;

}

x2[0]=1.0;

cout<<"1 vector = {"<<x2[1] <<", "<<x2[2]<<", "<< x2[3]<<"}"<<endl;

for( i=0;i<3;i++)

{

for(int j=0;j<4;j++)

{

x3[i+1]+=v2[j][i]*x2[j];

}}

for( i=0;i<4;i++)

{

x3[i+1]=1/(1+exp(x3[i+1]*-1));

}

x3[0]=1.0;

cout<<"2 vector = {"<<x3[1] <<", "<<x3[2]<<", "<<x3[3]<<", "<<x3[4]<<"}"<<endl;

for(int i=0;i<3;i++)

{

x4[i+1]+=x3[i+1]*1.5;

}

for( i=0;i<3;i++)

{

x4[i+1]=x4[i+1]*1.75;

}

x4[0]=1.0;

cout<<"3 vector = {"<<x4[1]<<", "<<x4[2] <<", "<<x4[3]<<"}"<<endl;

getch();

}

Результат:

Соседние файлы в папке зелень