Thema: Delphi Neuronales Netz

Einzelnen Beitrag anzeigen

AmonAddy
(Gast)

n/a Beiträge
 
#1

Neuronales Netz

  Alt 19. Mai 2021, 17:41
Hallo,

ich bin neu hier im Forum, aber mit Delphi schon etwas vertraut (mit grundlegenden Dingen). Deshalb wollte ich mich ans Thema neuronale Netze werfen und ein kleines einfaches Demoprogramm schreiben. Die Neuronen erhalten erregende oder hemmende Signale (ansonsten sind die Verbindungen zwischen den Neuronen ungewichtet). Ein- und Ausgaben sind stets 0 oder 1. Das kleine Netz (<30 Zellen) soll graphisch dargestellt werden (deshalb Delphi). Das ganze soll eher zum Vertsändnis für neuronale Netze beitragen, aber muss nicht großartig als neuronales Netz eine Aufgabe (wie Zahlenerkennung) o.ä. konkret bewältigen können.

Ich habe mir eine extra Klasse TNeurom erstellt, mit der man einfach Neuronen erstellen und deren Schwellenwerte anpassen kann. Soweit so gut, das klappt auch zufriedenstellend. Allerdings habe ich Probleme (und keine Idee), wie ich daraus ein Netz bauen soll, d.h. wie die Daten zwischen den Neuronen übertragen werden sollen (welche Datenstruktur etc.).

Die Klasse zum Darstellen der Neuronen und Verarbeiten deren Daten habe ich so aufgebaut:

Code:
 TNeuron = class(TObject)
    private
      FX, FY, FD: integer;
      FFarbe: TColor;
      FBesitzer: TForm;
      FSchwelle: single;
      FSchwelleEdit: TNumEdit;
      FEingSignale: TSignale; //Eingehende Signale: erste Zeile: Wert; zweite Zeile: inhibitorische Leitung (0) oder exzitatorische Leitung (1)
      FEin: integer;
      FAus: integer;
      FAusLabel: TLabel;
      FP: TPanel;
      FPB: TPaintBox;
    protected
      procedure FSchwelleEditKeyPress(Sender: TObject; var Key: Char);
    public
      constructor Create(xPos, yPos: Integer; Durchmesser: Integer; F: TColor; Besitzer: TForm; Panel: TPanel; PtBox: TPaintBox);
      destructor Destroy; override;
      procedure Zeichnen;
      procedure Eingabe(Ein: TSignale);
      procedure Ausgabe;
      property Ausgabewert: integer read FAus;
      property Left: integer read FX;
      property Top: integer read FY;
      property Durchmesser: integer read FD;
      property Farbe: TColor read FFarbe;
  end;
Hat da jemand vielleicht eine Idee?
  Mit Zitat antworten Zitat