Kniga-Online.club
» » » » Е. Миркес - Учебное пособие по курсу «Нейроинформатика»

Е. Миркес - Учебное пособие по курсу «Нейроинформатика»

Читать бесплатно Е. Миркес - Учебное пособие по курсу «Нейроинформатика». Жанр: Программирование издательство -, год 2004. Так же читаем полные версии (весь текст) онлайн без регистрации и SMS на сайте kniga-online.club или прочесть краткое содержание, предисловие (аннотацию), описание и ознакомиться с отзывами (комментариями) о произведении.
Перейти на страницу:

Cascad NSigm(aSum : Block; N : Long; Char : Real)

 {В состав каскада входит произвольный сумматор на N входов и сигмоидный нейрон с необучаемой характеристикой}

 Contents aSum(N), S_NotTrain(Char)

 InSignals NumberOf(InSignals, aSum(N)) {Число входных сигналов определяет сумматор}

 OutSignals 1 {Один выходной сигнал}

 Parameters NumberOf(Parameters, aSum(N)) {Число параметров определяет сумматор}

 Connections

  {Входные сигналы каскада – входные сигналы сумматора}

  InSignals[1..NumberOf(InSignals, aSum(N))] <=> aSum.InSignals[1..NumberOf(InSignals, aSum(N))]

  {Выход сумматроа – вход нелинейного преобразователя}

  aSum.OutSignals <=> S_NotTrain.InSignals

  {Выход преобразователя – выход каскада}

  OutSignals <=> S_NotTrain.OutSignals

  Parameters[1..NumberOf(Parameters, aSum(N))] <=> aSum.Parameters[1..NumberOf(Parameters, aSum(N))]

End {Конец описания сигмоидного нейрона с произвольным сумматором}

{Слой сигмоидных нейронов с произвольными сумматорами на N входов}

Layer Lay1(aSum : Block; N,M : Long; Char : Real)

 Contents Sigm: NSigm(aSum,N,Char)[M] {В состав слоя входит M нейронов}

 InSignals M * NumberOf(InSignals, Sigm)

 {Число входных сигналов определяется как взятое M раз число входных сигналов нейронов. Вместо имени нейрона используем псевдоним}

 OutSignals M {Один выходной сигнал на нейрон}

 Parameters M * NumberOf(Parameters, Sigm)

 {Число параметров определяется как взятое M раз число параметров нейронов}

 Connections

  {Первые NumberOf(InSignals, NSigm(aSum,N,Char)) сигналов первому нейрону, и т.д.}

  InSignals[1..M *NumberOf(InSignals, Sigm)] <=> Sigm[1..M].InSignals[1..NumberOf(InSignals, Sigm)]

  {Выходные сигналы нейронов - выходные сигналы сети}

  OutSignals[1..M]<=> Sigm[1..M].OutSignals

  {Параметры слоя – параметры нейронов}

  Parameters[1..M *NumberOf(Parameters, Sigm)] <=> Sigm[1..M].Parameters[1..NumberOf(Parameters, Sigm)]

End {Конец описания слоя сигмоидных нейронов с произвольным сумматором}

{Слой точек ветвления}

Layer BLay(N,M : Long)

 Contents Branch(N)[M] {В состав слоя входит M точек ветвления}

 InSignals M {По одному входному сигналу на точку ветвления}

 OutSignals M * N {N выходных сигналов у каждой точки ветвления}

 Connections

  InSignals[1..M] <=> Branch[1..M].InSignals {По одному входу на точку ветвления}

  {Выходные сигналы в порядке первый с каждой точки ветвления, затем второй и т.д. }

  OutSignals[1..N * M]<=> Branch[+:1..M].OutSignals[1..N]

End {Конец описания слоя Точек ветвления}

{Полный слой сигмоидных нейронов с произвольными сумматорами на N входов}

Cascad FullLay(aSum : Block; N,M : Long; Char : Real)

 Contents Br: BLay1(M,N), Ne: Lay1(aSum,N,M,Char) {Слой точек ветвления и слой нейронов}

 InSignals N {Число входных сигналов – число точек ветвления}

 OutSignals M {Один выходной сигнал на нейрон}

 Parameters NumberOf(Parameters, Ne)

 {Число параметров определяется как взятое M раз число параметров нейронов}

 Connections

  {Входные сигналы – слою точек ветвления}

  InSignals[1..N]<=> Br.InSignals[1..N]

  {Выходные сигналы нейронов - выходные сигналы сети}

  OutSignals[1..M]<=> Ne.OutSignals[1..M]

  {Параметры слоя – параметры нейронов}

  Parameters[1..NumberOf(Parameters, Ne)] <=> Ne.Parameters[1..NumberOf(Parameters, Ne)]

  {Выход слоя точек ветвления – вход слоя нейронов}

  Br.OutSignals[1..N * M] <=> Ne.InSignals[1..N * M]

End {Конец описания слоя сигмоидных нейронов с произвольным сумматором}

{Сеть с сигмоидными нейронами и произвольными сумматорами, содержащая

 Input – число нейронов на входном слое;

 Output – число нейронов на выходном слое (число выходных сигналов);

 Hidden – число нейронов на H>0 скрытых слоях;

 N – число входных сигналов

все входные сигналы подаются на все нейроны входного слоя}

Cascad  Net1(aSum : Block; Char : Real; Input, Output, Hidden, H, N : Long)

 {Под тремя разными псевдонимами используется одна и та же подсеть с разными параметрами}

 Contents

  In: FullLay(aSum,N,Input,Char),

  Hid1: FullLay(aSum,Input,Hidden,Char)

  Hid2: FullLay(aSum,Hidden,Hidden,Char)[H-1] {Пусто при H=1}

  Out: FullLay(aSum,Hidden,Output,Char)

 InSignals N {Число входных сигналов – N}

 OutSignals Output {Один выходной сигнал на нейрон}

 {Число параметров определяется как сумма чисел параметров всех подсетей}

 Parameters NumberOf(Parameters, In)+NumberOf(Parameters, Hid1) + (H-1)*NumberOf(Parameters, Hid2) + NumberOf(Parameters, Out)

 Connections

  {Входные сигналы – входному слою}

  InSignals[1..N]<=> In.InSignals[1..N]

  {Выходные сигналы нейронов - с выходного слоя сети}

  OutSignals[1..Output]<=> Out.OutSignals[1.. Output]

  {Параметры сети последовательно всем подсетям}

  Parameters[1..NumberOf(Parameters,In)] <=> In.Parameters[1..NumberOf(Parameters, In)]

  Parameters[NumberOf(Parameters,In)+1..NumberOf(Parameters,In) +> NumberOf(Parameters, Hid1)] <=> Hid1.Parameters[1..NumberOf(Parameters, Hid1)]

  Parameters[NumberOf(Parameters,In)+NumberOf(Parameters, Hid1)]+1 .. NumberOf(Parameters,In)+NumberOf(Parameters, Hid1) + (H-1) *NumberOf(Parameters, Hid2)] <=> Hid2[1..H-1].Parameters[1..NumberOf(Parameters, Hid2)]

  Parameters[NumberOf(Parameters,In)+NumberOf(Parameters, Hid1)] + (H-1) *NumberOf(Parameters, Hid2)+1 .. NumberOf(Parameters,In) + NumberOf(Parameters,Hid1)+(H-1)*NumberOf(Parameters,Hid2) + NumberOf(Parameters, Out)] <=> Out.Parameters[1..NumberOf(Parameters, Out)]

  {Передача сигналов от слоя к слою}

  {От входного к первому скрытому слою}

  In.OutSignals[1..Input] <=> Hid1.InSignals[1..Input]

  {От первого скрытого слоя}

  Hid1.OutSignals[1..Hidden] <=> Hid2[1].InSignals[1..Hidden]

  {Между скрытыми слоями. При H=1 эта запись пуста}

  Hid2[1..H-2].OutSignals[1.. Hidden] <=> Hid2[2..H-1].InSignals[1.. Hidden]

  {От скрытых – к выходному}

  Hid2[H-1].OutSignals[1.. Hidden] <=> Out.InSignals[1.. Hidden]

End

{Полносвязная сеть с M сигмоидными нейронами на К тактов функционирования с невыделенным входным слоем на M сигналов}

Loop Circle(aSum : Block; Char : Real; M, K : Long) K

 Contents Net: FullLay(aSum,M,M,Char)

 InSignals M {Число входных сигналов – N}

 OutSignals M {Один выходной сигнал на нейрон}

 Parameters NumberOf(Parameters, Net) {Число параметров определяется слоем FullLay}

 Connections

  InSignals[1..M] <=> Net.InSignals[1..M] {Входные сигналы цикла – входы слоя}

  OutSignals[1..M] <=> Net.OutSignals[1.. M] {Выходы слоя – выходы цикла}

  {Параметры определяет слой}

  Parameters[1..NumberOf(Parameters,Net)] <=> Net.Parameters[1..NumberOf(Parameters,Net)]

  Net.OutSignals[1..M] <=> Net.InSignals[1..M] {Замыкаем выход на вход}

End {Конец описания слоя сигмоидных нейронов с произвольным сумматором}

{Полносвязная сеть с М сигмоидными нейронами на К тактов функционирования с выделенным входным слоем на N сигналов. Все входные сигналы подаются на вход каждого нейрона входного слоя. Все параметры ограничены по абсолютному значению единицей}

Cascad Net2: (aSum : Block; Char : Real; M, K, N : Long)

Перейти на страницу:

Е. Миркес читать все книги автора по порядку

Е. Миркес - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки kniga-online.club.


Учебное пособие по курсу «Нейроинформатика» отзывы

Отзывы читателей о книге Учебное пособие по курсу «Нейроинформатика», автор: Е. Миркес. Читайте комментарии и мнения людей о произведении.


Уважаемые читатели и просто посетители нашей библиотеки! Просим Вас придерживаться определенных правил при комментировании литературных произведений.

  • 1. Просьба отказаться от дискриминационных высказываний. Мы защищаем право наших читателей свободно выражать свою точку зрения. Вместе с тем мы не терпим агрессии. На сайте запрещено оставлять комментарий, который содержит унизительные высказывания или призывы к насилию по отношению к отдельным лицам или группам людей на основании их расы, этнического происхождения, вероисповедания, недееспособности, пола, возраста, статуса ветерана, касты или сексуальной ориентации.
  • 2. Просьба отказаться от оскорблений, угроз и запугиваний.
  • 3. Просьба отказаться от нецензурной лексики.
  • 4. Просьба вести себя максимально корректно как по отношению к авторам, так и по отношению к другим читателям и их комментариям.

Надеемся на Ваше понимание и благоразумие. С уважением, администратор kniga-online.


Прокомментировать
Подтвердите что вы не робот:*
Подтвердите что вы не робот:*