Вход/Регистрация
Учебное пособие по курсу «Нейроинформатика»
вернуться

Миркес Е. М.

Шрифт:

Instructor kParTan Used Library1; {Антиовражная процедура обучения kParTan}

Main {Обучение ведется по всему обучающему множеству}

 Label Exit, Exit1;

 Static

Color InstColor Name "Цвет примеров обучающего множества"

Default HFFFF; {По умолчанию}

Integer OperColor Name "Операция для отбора цветов" Default CIn;

{все примеры, в цвете которых есть хоть один единичный бит }

String NetName Name "Имя сети" Default "";

Integer What Name "Что обучать" Default Parameters;

{По умолчанию 2ParTan}

Integer k Name "Число шагов между ParTan шагами" Default 2;

Real AccuracyName "Требуемый минимум оценки"Default 0.00001;

Logic Direction Name "Случайное направление или антиградиент"

11 Default True; {Если истина,то антиградиент }

 Var

Integer Handle; {Номер сеанса задачника}

String QName; {Имя запроса}

PRealArray Map1, DirectMap; {Для текущего массива параметров и ParTan направления}

Real Step, ParTanStep; {Длины шагов для оптимизации шага}

Real Est1, Est2; {Для хранения текущей и случайной оценки}

Long I;

Init

 Begin

If Not SetInstructionObject(What, @NetName) Then GoTo Exit; {Задаем объекты обучения}

QName = "InitSession"; {Задаем имя запроса}

Map1 = NewArray(mRealArray, 3);{Создаем массив для аргументов запроса}

If Map = Null Then GoTo Exit;

TPointer(Map^[1]) = @InstColor; {Заносим адрес первого аргумента}

TPointer(Map^[2]) = @OperColor; {Заносим адрес второго аргумента}

TPointer(Map^[3]) = @Handle; {Заносим адрес третьего аргумента}

If Not GenerateQuMap(@QName, Map) Then GoTo Exit;{Открываем сеанс работы с задачником}

If Not FreeArray(mRealArray, Map) Then GoTo Exit;{Освобождаем массив для аргументов}

{Собственно начало обучения}

Map = CreateArray; {Создаем вспомогательные массивы}

DirectMap= CreateArray;

If Map = Null Then GoTo Exit;

If DirectMap = Null Then GoTo Exit;

Est1 = Accuracy*10; {Задаем оценку, не удовлетворяющую требованию точности}

Step = 0.005; {Задаем начальное значение шагу}

 End

InstrStep Est > Accuracy

 Begin

If Not SaveArray(Map1) Then GoTo Exit; {Сохраняем начальный массив параметров}

For I = 1 To k Do Begin {Выполняем k межпартанных шагов}

If Direct Then Est = SDM(Handle, Step) Else Est = RDM(Handle, Step);

If Error <> 0 Then GoTo Exit;

  • Читать дальше
  • 1
  • ...
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: