Чтение онлайн

ЖАНРЫ

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

Миркес Е. М.

Шрифт:

If Est1>Est2 Then Begin

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

Est1 = Est2;

TryNum = 0;

End Else TryNum = TryNum + 1; {Увеличиваем счетчик отказов}

End

RadiusNum = RadiusNum + 1; {Обрабатываем следующий радиус}

Radius = 1 / RadiusNum; {Вычисляем
следующий радиус}

 End

Close

 Begin

Exit:

If Not SetArray(Map) Then; {Восстанавливаем лучший массив параметров}

If Not EraseArray(Мар1) Then; {Освобождаем вспомогательные массивы}

If Not EraseArray(Мар2) Then;

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

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

If Map = Null Then GoTo Exit1;

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

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

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

Exit1:

 End

End Instructor

Пример 2. Библиотека функций

InstrLib Library1; {Библиотека содержит функции для следующего учителя}

{Метод наискорейшего спуска}

 Function SDM( Handle : Integer; Step : Real) : Real;

 Label Exit, Endd;

 Var

Real Est;

 Begin

Est = CalcGradient(Handle, True);

If Error <> 0 Then GoTo Exit;

Est =Optimize(Null, Step); {Вызываем функцию подбора оптимального шага}

If Error <> 0Then GoTo Exit;

SDM = Est;

GoTo Endd;

Exit:

SDM = 0;

Endd:

 End

{Метод случайного поиска}

 Function RDM( Handle : Integer; Step : Real) : Real;

 Label Exit, Endd;

 Var

Real Est;

PRealArray : Direction;

 Begin

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

If Direction = Null Then GoTo Exit;

If Not RandomArray(Direction) Then GoTo Exit; {Генерируется новый массив параметров}

If Error <> 0 Then GoTo Exit;

Est =Optimize(Direction, Step); {Вызываем функцию подбора оптимального шага}

If Error <> 0 Then GoTo Exit;

RDM = Est;

GoTo Endd;

Exit:

RDM = 0;

Endd:

 End

End InstrLib

Пример 3. Антиовражная процедура обучения.

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

Поделиться с друзьями: