INeuralNetwork.CreateNetworkEx

Синтаксис Fore

CreateNetworkEx(

numberOfLayers: Integer;

numberOfInputs: Integer;

Var numberOfNeuronsInLayers: Array;

initializeSynapsysMaxValue: Double;

NeuronSigmoidFuncsType: Integer);

Синтаксис Fore.NET

CreateNetworkEx(

numberOfLayers: integer;

numberOfInputs: integer;

Var numberOfNeuronsInLayers: System.Array;

initializeSynapsysMaxValue: double;

NeuronSigmoidFuncsType: integer);

Параметры

numberOfLayers. Число слоев в создаваемой сети. Обычно сеть состоит из двух слоев нейронов.

numberOfInputs. Число входных элементов сети. Каждый нейрон первого слоя будет содержать данное число синапсов.

numberOfNeuronsInLayers. Целочисленный массив числа нейронов в каждом слое. Если сеть состоит из двух слоев, то массив должен содержать два элемента.

initializeSynapsysMaxValue. Неотрицательное значение для инициализации синапсов каждого нейрона.

NeuronSigmoidFuncsType. Тип функции распространения сигнала в сети.

Описание

Метод CreateNetworkEx создает нейронную сеть по заданным параметрам.

Комментарии

Для созданной сети можно начать процесс обучения, после чего она будет готова для работы. Сеть может быть использована для сетей с обратным распространением ошибки и для самоорганизующейся сети Кохонена.

После создания сети синапсы могут быть инициализированы с помощью метода INeuralNetwork.SetSynapse или INeuralNetwork.ImportSynapses.

NeuronSigmoidFuncsType. От типа распространения сигнала зависит диапазон выходных значений сети. Возможные значения параметра:

Пример Fore

Для выполнения примера предполагается наличие в файловой системе файла «C:\NetDefenition.txt». Также добавьте ссылки на системные сборки «NN» и «IO».

Function m_CreateNetworkEx: NeuralNetwork;
Var
    Net: NeuralNetwork;
    ar: Array[2Of Integer;
    SynVal: Double;
    NetFile: File;
    TextW: ITextWriter;
Begin
    Net := New NeuralNetwork.Create;
    ar[0] := 3;
    ar[1] := 2;
    Net.CreateNetworkEx(22, ar, 0.53);
    NetFile := New File.Create;
    TextW := NetFile.OpenTextWriter("C:/NetDefenition.txt"True);
    TextW.WriteLnString(Net.ExportSynapses);
    SynVal := Net.GetSynapse(000);
    SynVal := SynVal + 0.05;
    Net.SetSynapse(SynVal, 000);
    TextW.WriteLnString("----------------");
    TextW.WriteLnString(Net.ExportSynapses);
    Return Net;
End Function m_CreateNetworkEx;

В примере создается нейронная сеть, состоящая из двух слоев. Первый слой содержит три нейрона. Каждый нейрон содержит два входных элемента. Второй слой состоит из двух нейронов. Вес первого синапса для первого нейрона первого слоя будет получен и увеличен. Описание сети до изменения значения веса синапса и после будет выведено в файл «C:\NetDefenition.txt».

Пример Fore.NET

Imports System.IO;
Imports Prognoz.Platform.Interop.NN;

Public Shared Function m_CreateNetworkEx(): NeuralNetwork;
Var
    Net: NeuralNetwork;
    numberOfNeurons: array[2Of integer;
    ar: System.Array;
    NetFile: StreamWriter;
    SynVal: Double;
Begin
    Net := New NeuralNetwork.Create();
    numberOfNeurons[0] := 3;
    numberOfNeurons[1] := 2;
    ar := numberOfNeurons;
    Net.CreateNetworkEx(22Var ar, 0.53);
    NetFile := File.CreateText("C:\NetDefenition.txt");
    NetFile.WriteLine(Net.ExportSynapses());
    SynVal := Net.GetSynapse(000);
    SynVal := SynVal + 0.05;
    Net.SetSynapse(SynVal, 000);
    NetFile.WriteLine("------------------");
    NetFile.WriteLine(Net.ExportSynapses());
    NetFile.Close();
    Return Net;
End Function;

В примере создается нейронная сеть, состоящая из двух слоев. Первый слой содержит три нейрона. Каждый нейрон содержит два входных элемента. Второй слой состоит из двух нейронов. Вес первого синапса для первого нейрона первого слоя будет получен и увеличен. Описание сети до изменения значения веса синапса и после будет выведено в файл «C:\NetDefenition.txt».

См. также:

INeuralNetwork