Neuronale Netze - Übung 1 Aufgabe 5 (Least-Squares)

Antworten
tbzurmue
Beiträge: 3
Registriert: 23.09.2011 18:52

Neuronale Netze - Übung 1 Aufgabe 5 (Least-Squares)

Beitrag von tbzurmue »

Um das Least-Squares Problem mit einem Neuronalen Netzwerk zu lösen muss die Output Formel für y folgendermassen gewählt werden:
bild.jpg
Hier noch ein in Java geschriebenes Programm welches das Least-Squares Problem aus Aufgabe 3 von Üebung 1 aus dem Statistik Teil berechnet:

Code: Alles auswählen

package leastsquare;

import java.text.DecimalFormat;

/**
 *
 * @author marco
 */
public class NeuronalesNetz {

    private DecimalFormat f;
    private double m;
    private double b;
    private double n;
    private int x0 = 1;

    public NeuronalesNetz(double m, double b, double n) {
        this.m = m;
        this.b = b;
        this.n = n;
        f = new DecimalFormat("#0.00"); // begrenzt die Ausgabe von double Zahlen auf zwei Nachkommastellen
    }

    public void train(double x, double t) {

        //Berechnung der Ausgabe (y)
        double y = x * m + b;

        // Berechnung der Fehlerkorrektur
        b += x0 * n * (t - y);
        m += x * n * (t - y);

        System.out.println("Regressionsgerade: y = " + f.format(m) + "*x+" + f.format(b));
    }
}
Und noch die Methode welche die Klasse von oben aufruft.
Als Testvektoren können nun die x und y Werte der gewünschten Punkte eingegeben werden. (Achtung, n muss sehr klein gewählt werden um eine Konvergenz zu erreichen)

Code: Alles auswählen

package leastsquare;

/**
 *
 * @author marco
 */
public class LeastSquare {

    public static void main(String[] args) {
        
        // initialisierung mit m=0, b=0, n=0.003
        NeuronalesNetz n = new NeuronalesNetz(0, 0, 0.003);

        for (int i = 0; i < 500; i++) {
            // n.train(x, y)
            n.train(-1, -1);
            n.train(0, 1);
            n.train(1, 2);
            n.train(2, 1);
            n.train(3, 2);
            n.train(4, 3);
        }
    }
}
Sie haben keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Antworten