public LayerEventArgs(UniqueLayer lay) { layer = lay; }
/// <summary> /// Funkcja przeznaczona do tworzenia nowej sieci warstwowej algortymem kafelkowym /// </summary> /// <param name="iterations"> /// Maksymalna liczba iteracji do uczenia perceptronów /// </param> /// <param name="learningConstant"> /// Stała uczenia /// </param> public void createNetwork(int iterations, double learningConstant) { // Tworzy warstwy aż do momentu otrzymania poprawnej weryfikacji do { UniqueLayer layer; // Tworzy nową warstwę if (layers.Count == 0) { // Przekazuje nowej warstwie pierwotny zbiór przykładów uczących layer = new UniqueLayer(inputDimension, iterations, learningConstant, examples, perceptronCreated); } else { // Przekazuje nowej warstwie zbiór przykładów uczących // zwrócony przez warstwę poprzednią layer = new UniqueLayer(layers[layers.Count - 1].OutputDimension, iterations, learningConstant, layers[layers.Count - 1].NextExamples, perceptronCreated); } // Dodaje warstwę do listy layers.Add(layer); // Wywołuje zdarzenie utworzenia warstwy if (OnLayerCreated != null) OnLayerCreated(this, new LayerEventArgs(layer)); } while (verify() == false); // Weryfikuje sieć // Wywołuje zdarzenie utworzenia sieci if (OnNetworkCreated != null) OnNetworkCreated(this, new NetworkEventArgs(this)); }