- Фантастика и фэнтези
- Ироническое фэнтези
- Стимпанк
- Детективная фантастика
- Киберпанк
- Попаданцы
- LitRPG
- Космоопера
- Технофэнтези
- Городская фантастика
- Русское фэнтези
- Юмористическая фантастика
- Космическая фантастика
- Боевое фэнтези
- Эпическая фантастика
- Зарубежная фантастика
- Книги магов
- Мистика
- Разная фантастика
- Разное фэнтези
- Любовное фэнтези
- Романтическая фантастика
- Городское фентези
- Историческая фантастика
- Историческое фэнтези
- Социально-философская фантастика
- Сказочная фантастика
- Иностранное фэнтези
- Романтическое фэнтези
- Ироническая фантастика
- Ужасы и Мистика
- Постапокалипсис
- Героическая фантастика
- Фэнтези
- Научная Фантастика
- Социально-психологическая
- Альтернативная история
- Боевая фантастика
- Разная литература
- Пословицы, поговорки
- Шахматы
- Визуальные искусства
- Фанфик
- Авто и ПДД
- Военное
- Отраслевые издания
- Гиды, путеводители
- Зарубежная образовательная литература
- Военная история
- Цитаты из афоризмов
- Современная литература
- Великолепные истории
- Начинающие авторы
- Современная зарубежная литература
- Боевые искусства
- Изобразительное искусство, фотография
- Кино
- Литература 19 века
- Недвижимость
- Музыка, музыканты
- Готические новеллы
- Истории из жизни
- Культура и искусство
- Спецслужбы
- Зарубежная прикладная литература
- Музыка, танцы
- Подростковая литература
- Прочее
- Военная техника, оружие
- Газеты и журналы
- Периодические издания
- Домоводство, Дом и семья
- Любовные романы
- Экономическая литература
- Научные и научно-популярные книги
- О животных
- Биохимия
- Культурология
- Юриспруденция
- Политика
- Психотерапия
- Языкознание
- Научпоп
- Медицина
- Психология, личное
- Радиотехника
- Филология
- Педагогика
- Образовательная литература
- Деловая литература
- Физика
- Науки: разное
- Химия
- Воспитание детей, педагогика
- Детская психология
- Зарубежная публицистика
- Биология
- Архитектура
- Зарубежная психология
- Науки о космосе
- Социология
- Математика
- География
- Беременность, ожидание детей
- Литературоведение
- Транспорт, военная техника
- Обществознание
- Зоология
- География
- Альтернативная медицина
- Иностранные языки
- Ветеринария
- Рефераты
- Астрология
- Биофизика
- Экология
- История Европы
- Учебники
- Шпаргалки
- Государство и право
- Ботаника
- Религиоведение
- История
- Техническая литература
- Прочая научная литература
- Психология
- Детективы и Триллеры
- Справочная литература
- Проза
- Новелла
- Юмор
- Проза
- Историческая проза
- Русская современная проза
- Советская классическая проза
- Повести
- Очерки
- Эссе
- Рассказы
- Зарубежная современная проза
- Сентиментальная проза
- Зарубежная классика
- Афоризмы
- Эпистолярная проза
- Феерия
- Семейный роман/Семейная сага
- Разное
- Антисоветская литература
- Магический реализм
- Русская классическая проза
- Современная проза
- О войне
- Контркультура
- Классическая проза
- Поэзия, Драматургия
- Детская литература
- Детская фантастика
- Детские остросюжетные
- Детские стихи
- Детские приключения
- Внеклассное чтение
- Учебная литература
- Зарубежные детские книги
- Бизнес
- Загадки
- Книги для подростков
- Школьные учебники
- Детский фольклор
- Книги для дошкольников
- Детские детективы
- Детская познавательная и развивающая литература
- Буквари
- Прочая детская литература
- Сказка
- Детская проза
- Детская образовательная литература
- Юмор
- Документальные книги
- Бизнес
- Внешнеэкономическая деятельность
- Тайм-менеджмент
- Кадровый менеджмент
- О бизнесе популярно
- Управление, подбор персонала
- Бизнес
- Менеджмент и кадры
- Продажи
- Экономика
- Ценные бумаги и инвестиции
- Малый бизнес
- Делопроизводство, офис
- Корпоративная культура, бизнес
- Банковское дело
- Финансы
- Зарубежная деловая литература
- Ораторское искусство / риторика
- Личные финансы
- Интернет-бизнес
- Поиск работы
- Государственное и муниципальное управление
- Бухучет и аудит
- Работа с клиентами
- Менеджмент
- Краткое содержание
- Личная эффективность
- Переговоры
- Приключения
- Старинная литература
- Религия и духовность
- Компьютеры и Интернет
- Блог
Читаем без скачивания Учебное пособие по курсу «Нейроинформатика» - Е. Миркес
Шрифт:
Интервал:
Закладка:
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;
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
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;{Освобождаем массив для аргументов}