3.4. Implementierung des Maschinellen Lernens mit einem Perzeptron
Jetzt kann der Trainingsprozess implementiert werden. Für das Training bedarf es sog. Hyperparameter, die in der Klasse TrainingParameter als statische Attribute vorgesehen werden:
public class TrainingParameter {
public static final int numberOfEpochs = ...;
public static final double learningRate = ...;
public static final ActivationFunction activationFunction = ...;
public static final double[][] inputs = ...;
public static final double[] targets = ...;
}
Die Gewichte (weights incl. bias) werden während des Trainingsprozesses durch Gewichtsanpassung (adjustment of weights, bei Neuronalen Netzen: Backpropagation) so angepasst, dass das Endresultat (output) möglichst genau der Anforderung (target) entspricht. Hierfür wird (durch die Zahl der sog. Epochen, numberOfEpochs) angegeben, wie oft der Trainingsprozess durchlaufen werden soll. Die Lernrate (learningRate) sagt aus, wie stark ein Fehler auf die Gewichte „zurück gespiegelt“ wird. Übliche Werte liegen zwischen 0.001 und max. 0.5. Bei der Aktivierungsfunktion (activationFunction) kann man später zwischen Heaviside und Sigmoid wählen.
Die Trainingsdaten schlüsseln sich auf in die Eingabedaten (inputs) und die gewünschten Zielausgaben (targets).
- 15 -