SetInputValuesConvexEx(Var InputValues: Array; alfa: Double; doNormalize: Boolean);
SetInputValuesConvexEx(Var InputValues: System.Array; alfa: Double; doNormalize: Boolean);
InputValues. Вещественный массив входных значений сети.
alfa. Коэффициент преобразования. Значение в диапазоне [0.0; 1.0].
doNormalize. Параметр определяет, выполнять ли нормализацию входных значений.
Метод SetInputValuesConvexEx устанавливает входные значения сети с использованием выпуклого комбинаторного преобразования и возможностью нормализации.
Выпуклое комбинаторное преобразование выполняется по формуле:
Vi = alfa(t) * Vi + (1-alfa(t)) * (1/sqrt(число_входов_сети))
Возможные значения параметра doNormalize:
True. Входные значения будут нормализованы. Последовательное выполнение методов INeuralNetwork.SetInputValuesConvex и INeuralNetwork.NormalizeInputValues аналогично выполнению SetInputValuesConvexEx с параметром doNormalize равным True;
False. Входные значения не нормализуются.
В качестве примера приведена функция, на вход которой подается нейронная сеть (параметр Net). Для выполнения примера добавьте ссылки на системные сборки «NN» и «MathFin».
Function m_SetInputValuesConvexEx(Net: NeuralNetwork): NeuralNetwork;
Var
InputCount, i: Integer;
InputVal: Array Of Double;
Begin
InputCount := Net.GetNumberOfInputs;
InputVal := New Double[InputCount];
For i := 0 To InputVal.Length - 1 Do
InputVal[i] := math.RandBetween(0.1, 1.0);
End For;
Net.SetInputValuesConvexEx(InputVal, 0.2, True);
Return Net;
End Function m_SetInputValuesConvexEx;
После выполнения примера входные значения сети будут заданы с использованием выпуклого комбинаторного преобразования. Данные будут нормализованы.
В качестве примера приведена функция, на вход которой подается нейронная сеть (параметр Net).
Imports Prognoz.Platform.Interop.NN;
Imports Prognoz.Platform.Interop.MathFin;
…
Public Shared Function m_SetInputValuesConvexEx(Net: NeuralNetwork): NeuralNetwork;
Var
InputCount, i: Integer;
InputVal: System.Array;
ValGen: Prognoz.Platform.Interop.MathFin.Math;
Begin
InputCount := Net.GetNumberOfInputs();
InputVal := New Double[InputCount];
ValGen := New Prognoz.Platform.Interop.MathFin.Math.Create();
For i := 0 To InputVal.Length - 1 Do
InputVal[i] := ValGen.RandBetween(0.1, 1.0);
End For;
Net.SetInputValuesConvexEx(Var InputVal, 0.2, True);
Return Net;
End Function m_SetInputValuesConvexEx;
После выполнения примера входные значения сети будут заданы с использованием выпуклого комбинаторного преобразования. Данные будут нормализованы.
См. также: