- LayerCount: integer - Свойство содержит количество слоев нейронной сети.
- Layers[Index: integer]: TLayer - Индексированное свойство, индекс указывает на соответствующий слой нейронной сети.
- OutputNeuronCount: integer - Свойство содержит количество нейронов в выходном (последнем) слое.
- AddPattern(const AInputs: TVectorFloat; const AOutputs: TVectorFloat) - Метод добавляет пример в обучающую выборку.
- DeletePattern(Index: integer) - Метод удаляет пример из обучающей выборки.
- Init(const ANeuronsInLayer: TVectorInt) - Метод инициализирует нейронную сеть, фактически это построитель заданной конфигурации сети.
- ResetPatterns - Метод удаляет все примеры из обучающей выборки.
- Input[Index: integer]: double - Индексированное свойство устанавливает выходные значения нейронной сети, индекс указывает на соответствующий вход.
· TNeuralNetBP - Класс-потомок многослойной нейронной сети, обучаемой по алгоритму обратного распространения.
- Alpha: double - Свойство задает крутизну сигмоиды (активационной функции), и является одним из глобальных параметров нейронной сети.
AutoInit: boolean - При установлении этого свойства в True, происходит инициализация многослойной нейронной сети.
- ContinueTeach: Boolean - При установлении значения этого свойства в True, сеть будет дообучаться, т.е. не вызывается метод InitWeights.
- Epoch: boolean - При установлении этого свойства в True, процесс обучения остановится при достижении числа эпох равного EpochCount.
- EpochCount: integer - Свойства задает необходимое количество эпох для обучения многослойной нейронной сети.
- EpochCurrent: integer - Свойство содержит номер текущей эпохи при обучении.
- LayersBP[Index: integer]: TLayerBP - Индексированное свойство, индекс указывает на соответствующий слой нейронной сети.
Рис 2.6. Диаграмма основных классов TNeuralNetBP и TNeuralNetExtand
- Momentum: double - Свойство задает величину момента, один из глобальных параметров параметр нейронной сети. Данный параметр оптимизирует процесс обучения нейронной сети.
- Output[Index: integer]: double - Свойство содержит результат работы нейронной сети, индекс указывает на соответствующий нейрон выходного слоя.
- PatternCount: integer -Свойство задает количество примеров в обучающем множестве.
- TestSetPatternCount: integer - Свойство задает количество примеров в тестовом множестве.
- StopTeach: boolean - При установлении значения этого свойства в True, останавливается процесс обучения.
- TeachError: double - Свойства содержит ошибку нейронной сети на всем обучающем множестве.
- MaxTeachResidual: integer -Свойство содержит максимальную ошибку нейронной сети на обучающем множестве.
- MidTeachResidual: integer - Свойство содержит среднюю ошибку нейронной сети на обучающем множестве.
- MaxTestResidual: integer - Свойство содержит максимальную ошибку нейронной сети на тестовом множестве.
- TeachRate: double - Значением этого свойства, является параметр нейронной сети, определяющий скорость обучения. Определяет насколько сильно веса корректируются после каждой итерации.
- MaxTestResidual: integer - Свойство содержит среднюю ошибку нейронной сети на тестовом множестве.
- RecognizedTeachCount: integer - Свойство содержит количество распознанных примеров из обучающего множества.
- RecognizedTestCount: integer - Свойство содержит количество разпознанных примеров из тестового множества.
- ActivationD(Value: double): double -Производная сигмоидальной функции.
ActivationF(Value: double): double - Активационная функция - сигмоида.
AddLayer(ANeurons: integer) - Метод добавляет слой с указанным количеством нейронов. Добавленный слой будет являться выходным.
Compute(AVector: TVectorFloat) - Метод вычисляет выход нейронной сети, выполняя проход вперед.
Init - Инициализирует многослойную нейронную сеть, фактически это построитель заданной конфигурации сети.
ResetLayers - Метод удаляет все слои многослойной нейронной сети.
TeachOffLine - Метод обучения многослойной нейронной сети, при котором, веса корректируется после каждой эпохи, так называемый пакетный метод.
OnAfterInit: TNotifyEvent - Событие происходит после инициализации нейронной сети.
OnAfterTeach: TNotifyEvent - Событие происходит после обучения нейронной сети.
TNeuralNetExtended - Расширенный класс-потомок многослойной нейронной сети, обучаемой по алгоритму обратного распространения, предназначенный для использования в приложениях.
AvailableFieldsCount: integer - Свойство задает количество полей в наборе данных.
Fields[Index]: integer: TNeuroField - Индексированное свойство, содержит поля набора данных, индекс указывает на соответствующее поле в наборе данных.
FileName: TFileName - Свойство задаёт имя файла с сохранённой нейронной сетью
IdentError: double - Значением этого свойства, является параметр, используемый для решения задача классификации. Определяет, при какой ошибке пример считается правильно распознанным.
InputFieldCount: integer - Значением этого свойства, является количество входных полей из набора данных.
MaxTeachError: Boolean - При значении True, процесс обучения останавливается, если максимальная ошибка MaxTeachErrValue, при обучении стала меньше определенного значения.
- MaxTeachErrValue: double - Свойство задает максимальную ошибку при обучении.
MaxTestError: Boolean - При значении True, процесс обучения останавливается, если максимальная ошибка MaxTestErrValue, при тестировании стала меньше определенного значения.
- MaxTestErrValue: double - Свойство задает максимальную ошибку при тестировании.
MidTeachError: Boolean -При значении True, процесс обучения останавливается, если средняя ошибка MidTeachErrValue, при обучении стала меньше определенного значения.
- MidTeachErrValue: double - Свойство задает среднюю ошибку при обучении.
- MidTestError: Boolean - При значении True, процесс обучения останавливается, если средняя ошибка MidTestErrValue, при тестировании стала меньше определенного значения.
- MidTestErrValue: double - Свойство задает среднюю ошибку при тестировании.
- OutputFieldCount: integer - Свойство определяет количество выходных полей из набора данных.
- SourceFileName: TFileName - Имя файла, содержащего набор данных.
- TeachIdent: boolean - При значении True, процесс обучения останавливается, если при обучении стала распознано определенное количество примеров.
- TeachIdentCount: integer - Свойство определяет какой процент примеров при обучении должен быть распознан.
- TestAsValid: Boolean - При значении True, тестовое множество будет используется как валидационное. Обучение будет прекращено с выдачей сообщения как только ошибка на тестовом множестве начнет увеличиваться. Это помогает избежать ситуации переобучения нейросети.
При значении True, процесс обучения останавливается, если при тестировании стала распознано определенное количество примеров.
- TestIdentCount: integer - Свойство определяет какой процент какой процент примеров при тестировании должно быть распознано.
- UseForTeach: integer - Свойство определяет сколько процентов набора данных используется для обучения.
- LoadDataFrom - Загружает данные из текстового файла
- LoadNetwork - Метод загружает из файла конфигурацию нейронной сети.
- LoadPhaseX - Метод загружает из файла настройки сети, секцию PhaseX.
- SaveNetwork - Метод сохраняет в файл конфигурацию нейронной сети.
- SavePhaseX - Метод сохраняет настройки сети, в секцию PhaseX файла.
- ComputeUnPrepData - Метод предварительно нормализует входные значения, вычисляет выход нейронной сети, выполняя проход вперед. Результат работы сети также денормализуется.
- Train - Метод обучающий/дообучающий нейронную сеть.
2.5 Проектирование экранных форм системы
Если пользователь уже имеет файл обученной нейронной сети. Он может загрузить его в систему и сразу преступить к выполнению эксперимента, в котором обученная сеть преобразует входные данные в искомые выходные.
Если же пользователь собирается создать новую сеть, то он должен пройти следующие шаги:
- Импорт данных
- Обработка данных
- Настройка параметров архитектуры сети
- Настройка параметров обучения сети
- Обучение сети
- Эксперимент
1
Мастер импорта может в интерактивном пошаговом режиме выбрать тип источника данных и настроить соответствующие параметры. На первом шаге Мастера импорта открывается список всех предусмотренных в системе типов источников данных, сгруппированных по способу доступа к данным:
База данных - импорт данных из баз данных различных типов
Прямой доступ к файлам:
- Текстовый файл с разделителями - текстовый файл в формате, в котором столбцы данных разделены однотипными символами-разделителями.
- Импорт из DBF - прямой доступ к файлам плоских баз данных типа DBF, который поддерживается такими приложениями как dBase, FoxBase, FoxPro.
Механизм MS ADO:
- Microsoft Excel - книга Microsoft Excel (*.xls).
- Microsoft Access - файл СУБД Microsoft Access (*.mdb).
- Импорт из DBF (ADO) - доступ через ADO к файлам плоских баз данных типа DBF, который поддерживается такими приложениями как dBase, FoxBase, FoxPro.
С помощью Мастера обработки поможет в интерактивном пошаговом режиме настроить все необходимые этапы обработки данных. В окне Мастера обработки представлены все доступные в системе методы обработки данных, сгруппированные по типу выполняемой обработки:
- Восстановление, сглаживание и редактирование аномальных данных.
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13