Книга: Учебное пособие по курсу «Нейроинформатика»
Обработка обучающего множества (TaskSetWork)
Обработка обучающего множества (TaskSetWork)
Описание запроса:
Pascal:
Function TaskSetWork(Instruct, Handle: Integer; Var Tasks: Integer; Var Correct: PRealArray; Var Estim: Real): Logic;
C:
Logic TaskSetWork(Integer Instruct, Integer Handle, Integer* Tasks, PRealArray* Correct, Real* Estim)
Описание аргументов:
Instruct — содержит инструкции о способе исполнения.
Handle — номер сеанса в задачнике.
Tasks — число примеров в обучающем множестве.
Correct — указатель на массив, первый элемент которого равен числу правильных ответов на первую подзадачу и т. д.
Estim — средняя оценка решения всех примеров обучающего множества.
Назначение — производит обработку всех примеров обучающего множества.
Переменные, используемые при исполнении запроса
InArray, AnsArray, RelArray — адреса массивов для обменов с задачником.
Answers — указатель на массив вычисленных ответов.
Reliability — указатель на массив коэффициентов уверенности сети в ответах.
Back — адрес массива для обменов с оценкой.
Work — рабочая переменная типа Real для подсчета суммарной оценки.
Weight — рабочая переменная типа Real для веса примера.
Описание исполнения.
Если в любой момент исполнения запроса возникает ошибка при исполнении запросов к другим компонентам, то исполнение запроса прекращается, освобождаются все созданные в нем массивы, возвращается значение ложь, ошибка компонента исполнитель не генерируется.
Значение бит NextExample и StopOnEnd в аргументе Instruct игнорируются.
1. Если в аргументе Instruct установлен бит Gradient и не установлен бит Estimate, то выполнение запроса прекращается, и генерируется ошибка 001 — Некорректное сочетание флагов в аргументе Instruct.
2. Если в аргументе Instruct установлен бит Interpret, то создаются массивы Answers и Reliability того же размера, что и Correct
3. Выполняется следующий фрагмент программы (Обнуление массива количеств правильных ответов)
1. For I = 1 To TLong(Correct[0]) Do
2. Correct[I] = 0
4. Обнуляем счетчик числа примеров: Tasks = 0
5. Обнуляем суммарную оценку: Work = 0
6. Переменной Back присваивается значение Null.
7. Присваивает переменной Data значение Null и генерирует запрос к сети GetNetData с аргументами Null, OutSignals, Data. (Получает от сети выходные сигналы, для выяснения размерности массива Data. Сами значения сигналов не нужны)
8. Если в аргументе Instruct установлен бит Gradient, то
1. Генерируется запрос к сети NullGradient с аргументом Null.
2. Создается массив Back того же размера, что и Data.
9. Генерируется запрос к задачнику Home с аргументом Handle. (Переход на начало обучающего множества)
10. Переменной InArray присваивается значение Null и генерируется запрос к задачнику Get с аргументами Handle, InArray, tbPrepared (Создаем массив InArray для получения от задачника предобработанных входных сигналов)
11. Переменной AnsArray присваивается значение Null и генерируется запрос к задачнику Get с аргументами Handle, AnsArray, tbAnswers (Создаем массив AnsArray для получения от задачника правильных ответов)
12. Если в аргументе Instruct установлен бит Estimate, то создается массив RelArray того же размера, что и AnsArray.
13. Генерируется запрос к задачнику Last с аргументом Handle. (Проверка, существует ли пример)
14. Если запрос Last вернул значение ложь, то
1. Tasks = Tasks + 1
2. Генерируется запрос к задачнику Get с аргументами Handle, InArray, tbPrepared (Получает от задачника предобработанные входные сигналы)
3. Генерируется запрос к сети Forw, с аргументами Null, InArray. (Выполняется прямое функционирование сети)
4. Генерирует запрос к сети GetNetData с аргументами Null, OutSignals, Data. (Получает от сети выходные сигналы)
5. Если в аргументе Instruct установлен бит Interpret, то
1. Генерируется запрос к интерпретатору ответа Interpretate с аргументами Data, Answers, Reliability. (Производит интерпретацию ответа)
2. Если в аргументе Instruct установлен бит PutAnswers, то генерируется запрос к задачнику Put с аргументами Handle, Answers, tbCalcAnswers (Передает задачнику вычисленные ответы)
3. Если в аргументе Instruct установлен бит PutReliability, то генерируется запрос к задачнику Put с аргументами Handle, Reliability, tbCalcReliability (Передает задачнику вычисленные коэффициенты уверенности в ответе)
4. Генерируется запрос к задачнику Get с аргументами Handle, AnsArray, tbAnswers (Получает от задачника правильные ответы)
5. Выполняется следующий фрагмент программы (Подсчитываются правильно полученные ответы)
1. For I = 1 To TLong(Correct[0]) Do
2. If Answers[I] = AnsArray[I] Then TLong(Correct[I]) = TLong(Correct[I]) + 1
6. Если в аргументе Instruct установлен бит Estimate, то
1. Если в аргументе Instruct не установлен бит Interpret, то генерируется запрос к задачнику Get с аргументами Handle, AnsArray, tbAnswers (Получает от задачника правильные ответы)
2. Генерируется запрос к задачнику Get с аргументами Handle, RelArray, tbCalcReliability (Получает от задачника достоверности ответов)
3. Генерируется запрос к оценке Estimate с аргументами Data, Back, AnsArray, RelArray, Direv, Estim. Вместо Direv передается ноль, если в аргументе Instruct установлен бит Gradient, и 1 в противном случае. (Вычисляет оценку примера и, возможно, производные)
4. Генерируется запрос к задачнику Get с аргументами Handle, Weight, tbWeight (Получает от задачника вес примера)
5. Work = Work + Estim * Weight (Подсчитываем суммарную оценку)
6. Если в аргументе Instruct установлен бит PutEstimations, то генерируется запрос к задачнику Put с аргументами Handle, Estim, tbEstimations (Передает задачнику оценку примера)
7. Если в аргументе Instruct установлен бит Gradient, то генерируется запрос к сети Back, с аргументами Null, Back. (Выполняется обратное функционирование сети)
8. Если в аргументе Instruct установлен бит Contrast, то генерируется запрос к контрастеру ContrastExample с аргументом ложь.
9. Генерируется запрос к задачнику Next с аргументом Handle. (Переход к следующему примеру)
10. Переход к шагу 13 алгоритма.
15. Вычисляем среднюю оценку: If Tasks = 0 Then Estim = 0 Else Estim = Work / Task
16. Если в аргументе Instruct установлен бит Contrast, то генерируется запрос к контрастеру ContrastExample с аргументом истина.
17. Освобождаются массивы Data, AnsArray и InArray.
18. Если в аргументе Instruct установлен бит Estimate, то освобождается массив и RelArray.
19. Если в аргументе Instruct установлен бит Interpret, то освобождаются массивы Answers и Reliability.
20. Если Back <> Null освобождается массив Back.
21. Завершает исполнение, возвращая значение истина
- Обработка перехваченных ошибок
- 5.4 Команда trap: обработка прерываний
- 15.3. Обработка изображений при помощи RMagick
- Операции с множествами узлов
- 15.1.3. Обработка сигналов управления заданиями
- ГЛАВА 4 Обработка исключений
- Обработка запросов с помощью PHP
- ГЛАВА 6. Структурированная обработка исключений
- Обработка ошибок
- Скрипт «Обработка входящего звонка от потенциального клиента»
- Обработка данных на промежуточном уровне
- 7.5.4. Обработка на сервере