Künstliche Intelligenz mit Java
Maschinelles Lernen mit Neuronalen Netzwerken

3.5. Dokumentation des Maschinellen Lernens für ein Anwendungsbeispiel

Es wird folgendes Anwendungsproblem formuliert: Es sollen zwei Eingangssignale so verknüpft werden, dass das Ausgangssignal des Neurons eine logische UND-Verknüpfung realisiert:

Input x2

Input x1

Output

0

0

0

0

1

0

1

0

0

1

1

1


Hierfür müssen nur die Trainings-Parameter definiert werden:

public class TrainingParameter {

  public static final int numberOfEpochs = 30;
  public static final double learningRate = 0.5;
  public static final ActivationFunction activationFunction = ActivationFunction.HEAVISIDE;
  public static final double[][] inputs = LogicalAndData.inputs;
  public static final double[] targets = LogicalAndData.targets;

}

Es wird angenommen, dass 30 Trainingsdurchgänge genügen. Die Lernrate wird auf das Maximum von 0.5 eingestellt. Die Heaviside-Aktivierungsfunktion sorgt dafür, dass positive Summen-Ausgangswerte zu 1 gemacht werden, negative Resultate zu 0.
Und es muss die Referenz zu den Trainingsdaten (Eingangssignale, gewünschte Ausgangssignale) hergestellt werden.

- 20 -