Дополнительно включены следующие методы: Compute вычисляет выход нейронной сети, используется после обучения сети; TeachOffLine обучает нейронную сеть. Компонент позволяет в режиме design-time, в окне Object Inspector, конструировать нейронную сеть, добавляя или удаляя слои и нейроны в сети. Для этого используется редактор свойств NeuronsInLayer, имеющий вид, указанный на рисунке 4.2. Нейроны в слоях Qk Cancel Рисунок 4.2. Редактор свойства NeuronsInLayer конструирование сети. Совместимость с Neural Network Wizard. Следующим компонентом является TNeuralNetExtented, порожденный от TNeuralNetBP, который обеспечивает полную совместимость с Neural Network Wizard. Дополнительно включены следующие методы: • для записи (LoadPhasel, LoadPhase2, LoadPhase4, LoadNetwork) и чтения (SavePhasel, SavePhase2, SavePhase4, SaveNetwork) обученной нейронной сети в формате Vnet: • LoadDataFrom загружает данные из текстового файла; • метод NormalizeData нормализации входных и выходных данных; • Train для обучения нейронной сети; • ComputeUnPrepData для вычисления выхода сети, используется в том случае, если входные значения ненормализованы. 142 |
Переписан метод ComputeOut, использующий теперь нелинейную активационную функцию, которая реализована в виде индексированного свойства процедурного типа OnActivationF. Кроме того, добавлены два важных свойства, Delta содержит локальную ошибку и индексированное свойство PrevUpdate — содержит величину коррекции весовых коэффициентов на предыдущем шаге обучения сети. Основным назначением базового класса TLaycr и его потомков TLayerHopf и TLayerBP является объединение нейронов в слой, для упрощения работы с нейронами. Компонент TNeuralNct является базовым компонентом для всех видов нейронных сетей. TNeuralNet обеспечивает необходимую функциональность производных компонентов. Этот компонент поддерживает методы для работы со слоями сети (AddLayer, DeleteLayer) и методы для манипуляций с исходными данными (AddPattem, DcletcPaltcrn, ResetPattems). Метод Init служит для построения нейронной сети. Большинство методов объявленных в разделе public в базовом компоненте и его потомках виртуальные, что позволяет легко перекрывать их. Компонент TNeuralNetBP реализует многослойную нейронную сеть, обучаемую по алгоритму обратного распространения ошибки. Дополнительно включены следующие методы: Compute вычисляет выход нейронной сети, используется после обучения сети; TeachOffLine обучает нейронную сеть. Компонент позволяет в режиме design-time, в окне Object Inspector, конструировать нейронную сеть, добавляя или удаляя слои и нейроны в сети. Для этого используется редактор свойств NcuronsInLayer, имеющий вид, указанный на рисунке 4.3. 109 Рисунок 4.3 Задание параметров нейронной сети для установления концентрации Совместимость с Neural Network Wizard. Следующим компонентом является TNeuralNetExtented, порожденный от TNeuralNetBP, который обеспечивает полную совместимость с Neural Network Wizard. Дополнительно включены следующие методы: • для записи (LoadPhasel, LoadPhase2, LoadPhase4, LoadNetwork) и чтения (SavePhasel, SavePhase2, SavePhase4, SaveNetwork) обученной нейронной сети в формате *.net; • LoadDataFrom загружает данные файла; • метод NormalizeData нормализации входных и выходных данных; • Train для обучения нейронной сети; • ComputeUnPrepData для вычисления выхода сети, используется в том случае, если входные значения ненормализованы. Компонент позволяет в режиме design-time, в окне Object Inspector, выбирать нужные поля, а также задавать тип нормализации полей. Для этих целей используется редактор свойств, имеющий следующий вид: ПО |