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

на главную - закладки

Жанры

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

Миркес Е. М.

Шрифт:

<Блок завершения>::= Close<Тело функции>

<Конец описания учителя> End Instructor

Описание языка описания учителя

Язык описания учителя является наиболее простым из всех языков описания компонент. Фактически все синтаксические конструкции этого языка описаны в разделе «Общий стандарт». В теле функции, являющемся частью главной процедуры недопустим оператор возврата значения, поскольку главная процедура не является функцией. Три раздела главной

функции — блок инициации, блок одного шага обучения и блок завершения являются фрагментами одной процедуры. Выделение этих разделов необходимо для выполнения запроса «Выполнить N шагов обучения». Выполнение главной процедуры происходит следующим образом. Выполняется блок инициации. Выполнение блока одного шага обучения сети производится до тех пор, пока не наступит одно из следующих событий:

1. программа выйдет из блока одного шага обучения сети прямым переходом на метку в другом разделе;

2. нарушится условие, указанное в конструкции InstStep;

3. компонент учитель получит запрос «Прервать обучение сети»;

4. в случае выполнения запроса «Выполнить N шагов обучения» блок одного шага обучения сети выполнен N раз.

Далее выполняется блок завершения обучения.

Пример описания учителя

В данном разделе приведены описания некоторых методов обучения, описанных в разделе «Описание алгоритмов обучения».

Пример 1.

Instructor RandomFire; {Метод случайной стрельбы с уменьшением радиуса}

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

 Label Exit, Exit1;

 Static

Integer Try Name "Число попыток при одном радиусе" Default 5;

Real MinRadius Name "Минимальный радиус, при котором + "продолжается работа"Default 0.001;

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

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

Color InstColor Name "Цвет примеров обучающего множества" Default HFFFF; {По умолчанию}

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

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

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

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

Real Radius; {Текущий радиус}

Integer TryNum, RadiusNum; {Число попыток, номер использованного радиуса}

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

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

Init

 Begin

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

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

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

If Map = Null Then GoTo Exit;

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

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

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

If Not GenerateQuest(@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 = Estimate(Handle, True);

If Error <> 0 Then GoTo Exit;

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

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

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

 End

InstrStep Radius > MinRadius {Обработка с одним радиусом – один шаг обучения}

 Begin

TryNum = 0;

While TryNum < Try Do Begin

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

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

If Not Modify(DirectMap, 1, Radius) Then GoTo Exit; {Модифицируем массив параметров}

Est2 = Estimate(Handle, True);

If Error <> 0 Then GoTo Exit;

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

Моя на одну ночь

Тоцка Тала
Любовные романы:
современные любовные романы
короткие любовные романы
5.50
рейтинг книги
Моя на одну ночь

Черный Маг Императора 8

Герда Александр
8. Черный маг императора
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Черный Маг Императора 8

Измена. Отбор для предателя

Лаврова Алиса
1. Отбор для предателя
Фантастика:
фэнтези
5.00
рейтинг книги
Измена. Отбор для предателя

Кодекс Крови. Книга II

Борзых М.
2. РОС: Кодекс Крови
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Крови. Книга II

Шаг в бездну

Муравьёв Константин Николаевич
3. Перешагнуть пропасть
Фантастика:
фэнтези
космическая фантастика
7.89
рейтинг книги
Шаг в бездну

Часовая битва

Щерба Наталья Васильевна
6. Часодеи
Детские:
детская фантастика
9.38
рейтинг книги
Часовая битва

Вечная Война. Книга II

Винокуров Юрий
2. Вечная война.
Фантастика:
юмористическая фантастика
космическая фантастика
8.37
рейтинг книги
Вечная Война. Книга II

Хроники странного королевства. Вторжение. (Дилогия)

Панкеева Оксана Петровна
110. В одном томе
Фантастика:
фэнтези
9.38
рейтинг книги
Хроники странного королевства. Вторжение. (Дилогия)

Часовой ключ

Щерба Наталья Васильевна
1. Часодеи
Фантастика:
фэнтези
9.36
рейтинг книги
Часовой ключ

Инвестиго, из медика в маги

Рэд Илья
1. Инвестиго
Фантастика:
фэнтези
городское фэнтези
попаданцы
5.00
рейтинг книги
Инвестиго, из медика в маги

Кротовский, может, хватит?

Парсиев Дмитрий
3. РОС: Изнанка Империи
Фантастика:
попаданцы
альтернативная история
аниме
7.50
рейтинг книги
Кротовский, может, хватит?

Драконий подарок

Суббота Светлана
1. Королевская академия Драко
Любовные романы:
любовно-фантастические романы
7.30
рейтинг книги
Драконий подарок

Очешуеть! Я - жена дракона?!

Амеличева Елена
Фантастика:
юмористическая фантастика
5.43
рейтинг книги
Очешуеть! Я - жена дракона?!

Идеальный мир для Лекаря 9

Сапфир Олег
9. Лекарь
Фантастика:
боевая фантастика
юмористическое фэнтези
6.00
рейтинг книги
Идеальный мир для Лекаря 9