/** * Creates Outstar architecture with specified number of neurons in output layer * * @param outputNeuronsCount number of neurons in output layer */ private void createNetwork(int outputNeuronsCount) { // set network type this.setNetworkType(NeuralNetworkType.OUTSTAR); // init neuron settings for this type of network NeuronProperties neuronProperties = new NeuronProperties(); neuronProperties.setProperty("transferFunction", TransferFunctionType.STEP); // create input layer Layer inputLayer = LayerFactory.createLayer(1, neuronProperties); this.addLayer(inputLayer); // createLayer output layer neuronProperties.setProperty("transferFunction", TransferFunctionType.RAMP); Layer outputLayer = LayerFactory.createLayer(outputNeuronsCount, neuronProperties); this.addLayer(outputLayer); // create full conectivity between input and output layer ConnectionFactory.fullConnect(inputLayer, outputLayer); // set input and output cells for this network NeuralNetworkFactory.setDefaultIO(this); // set outstar learning rule for this network this.setLearningRule(new OutstarLearning()); }
@Override public NeuralNetwork<? extends LearningRule> createNeuralNetwork(WizardDescriptor settings) { String neuralNetworkName = (String) settings.getProperty("neural network name"); int instarInputNeurons = Integer.parseInt((String) settings.getProperty("input number")); Instar nnet11 = NeuralNetworkFactory.createInstar(instarInputNeurons); nnet11.setLabel(neuralNetworkName); InstarVisualPanel1.getInstance().clearForm(); return nnet11; }
@Override public NeuralNetwork<? extends LearningRule> createNeuralNetwork(WizardDescriptor settings) { String neuralNetworkName = (String) settings.getProperty("neural network name"); int kohonenInputNeurons = Integer.parseInt((String) settings.getProperty("input number")); int kohonenMapNeurons = Integer.parseInt((String) settings.getProperty("map number")); Kohonen nnet5 = NeuralNetworkFactory.createKohonen(kohonenInputNeurons, kohonenMapNeurons); nnet5.setLabel(neuralNetworkName); KohonenVisualPanel1.getInstance().clearForm(); return nnet5; }