SetLearnRateEx(newLearnRate: Double; layerIndex: Integer): Double;
newLearnRate. Значение коэффициента обучения.
layerIndex. Индекс слоя.
Метод SetLearnRateEx устанавливает коэффициент обучения для указанного слоя.
SetLearnRateEx возвращает значение предыдущего коэффициента обучения и применяется только для самоорганизующихся карт Кохонена.
Коэффициент обучения определяет: насколько быстро нейроны обучаются. Обычно, к концу обучения данный коэффициент стремится к нулю.
Индексация слоев сквозная и начинается с нуля.
В качестве примера приведена функция, на вход которой подается самоорганизующаяся карта Кохонена (параметр Net). Для выполнения примера добавьте ссылки на системные сборки «NN», «IO».
Function m_LearnEx(Net: NeuralNetwork): NeuralNetwork;
Var
epoch, learnRadius, layerCount, i: Integer;
learnRate: Double;
NetFile: File;
TextW: ITextWriter;
Begin
TextW := NetFile.OpenTextWriter("C:/LearnRes.txt", True);
layerCount := Net.GetNumberOfLayers;
For epoch := 1 To 100 Do
TextW.WriteLnString("Эпоха обучения '" + epoch.ToString + "'");
learnRate := 0.6 * ((300 - epoch) / 300);
learnRadius := (3 * ((300 - epoch) / 350)) As Integer;
For i := 0 To layerCount - 1 Do
TextW.WriteLnString(" Слой '" + i.ToString + "'");
TextW.WriteLnString(" текущий шаг обучения '" + Net.GetLearnRadius(i).ToString + "'");
TextW.WriteLnString(" новый шаг обучения '" + learnRadius.ToString + "'");
Net.SetLearnRadiusEx(learnRadius, i);
TextW.WriteLnString(" текущий коэффициент обучения '" + Net.GetLearnRate(i).ToString + "'");
TextW.WriteLnString(" новый коэффициент обучения '" + learnRate.ToString + "'");
Net.SetLearnRateEx(learnRate, i);
If Not Net.GetUseVectorScalar(i) Then
Net.SetUseVectorScalarEx(True, i);
End If;
End For;
Net.PropagateSOFM;
Net.LearnSOFM;
TextW.WriteLnString(" Код ошибки: " + Net.GetError.ToString);
End For;
Return Net;
End Function m_LearnEx;
После выполнения примера будет выполнено обучение сети. Для вычисления дистанции между нейронами будет использоваться алгоритм скалярного умножения векторов. Подробности и результаты обучения будут выведены в файл «C:/LearnRes.txt».
См. также: