Ich möchte dieser Community eine andere Art von Golfherausforderung vorschlagen:
(Künstliche) Neuronale Netze sind sehr beliebte Modelle des maschinellen Lernens, die so entworfen und trainiert werden können, dass sie sich einer bestimmten (normalerweise unbekannten) Funktion annähern. Sie werden oft verwendet, um hochkomplexe Probleme zu lösen, die wir nicht algorithmisch lösen können, z. B. Spracherkennung, bestimmte Arten von Bildklassifizierungen, verschiedene Aufgaben in autonomen Fahrsystemen, ... Für eine Einführung in neuronale Netze ist dies hervorragend Wikipedia-Artikel .
Da dies die erste in meiner Hoffnung ist, eine Reihe maschineller Golfherausforderungen zu werden, möchte ich die Dinge so einfach wie möglich halten:
Entwerfen und trainieren Sie in der Sprache und dem Rahmen Ihrer Wahl ein neuronales Netzwerk, das unter Berücksichtigung von sein Produkt für alle ganzen Zahlen zwischen (und einschließlich) und berechnet .
Leistungsziel
Um sich zu qualifizieren, darf Ihr Modell bei keinem dieser Einträge um mehr als vom korrekten Ergebnis abweichen .
Regeln
Dein Modell
- muss ein "traditionelles" neuronales Netzwerk sein (der Wert eines Knotens wird als gewichtete lineare Kombination einiger Knoten in einer vorherigen Schicht berechnet, gefolgt von einer Aktivierungsfunktion),
- darf nur die folgenden Standard-Aktivierungsfunktionen verwenden:
- ,
- ,
- ,
- ,
- ,
- ,
- ,
- ,
- muss entweder als Tupel / Vektor / Liste / ... von ganzen Zahlen oder als Gleitkommazahl als einzige Eingabe nehmen,
- Geben Sie die Antwort als Ganzzahl, Float (oder einen geeigneten Container, z. B. einen Vektor oder eine Liste, die diese Antwort enthält) zurück.
Ihre Antwort muss den gesamten Code enthalten (oder mit diesem verknüpft), der zur Überprüfung Ihrer Ergebnisse erforderlich ist - einschließlich der trainierten Gewichte Ihres Modells.
Wertung
Das neuronale Netz mit der geringsten Anzahl von Gewichten (einschließlich Bias-Gewichten) gewinnt.
Genießen!
f(x) = x
die Eingabe weiterleitet?