- Ausführende
-
Lernen
Python lernen Ausführbare Beispiele, NumPy, pandas und mehr KI lernenNeuronale Netze, ML und LLMs von Grund auf C/C++ lernen Zeiger, Speicher, STL und modernes C++ C# lernenC#-Grundlagen, OOP, LINQ, Async und .NET-Übungen Matplotlib lernenLinien-, Balken-, Streu- und Kreisdiagramme mit interaktiven Visualisierungen Python-Algorithmen Suche, Sortierung, Rekursion und Visualisierungen O(n) C/C++-Algorithmen Implementierungen in C und C++ vergleichen Programmieren für Kinder Spielend programmieren lernen!
- AufgabenNeu
- Für LehrkräfteNeu
- Aktualisierungen
- Spendier mir einen Kaffee
Um ein Neuron zu trainieren, müssen wir wissen, wie jedes Gewicht den Fehler beeinflusst. Für ein Trainingsbeispiel gilt:
- z = inputs · weights + bias
- y = sigmoid(z) = 1 / (1 + e^(-z))
- Verlust L = (y - target)²
Nach der Kettenregel, mit delta = dL/dz = 2 × (y - target) × y × (1 - y):
- dL/dw_i = delta × x_i
- dL/dbias = delta
Implementiere neuron_gradients(inputs, weights, bias, target).
Eingabe
inputs, weights: Listen gleicher Länge n.
bias: Der Bias des Neurons.
target: Die korrekte Ausgabe für dieses Beispiel (zwischen 0 und 1).
Ausgabe
Gib eine Liste mit n + 1 Zahlen zurück: den Gradienten jedes Gewichts in Reihenfolge, dann den Gradienten des Bias.
Einschränkungen
1 ≤ n ≤ 100
-10 ≤ jede Eingabe, jedes Gewicht und der Bias ≤ 10
0 ≤ target ≤ 1
Beispiele
Beispiel 1
Eingabe:
inputs = [1.0, 2.0]
weights = [0.5, -0.25]
bias = 0.0
target = 1.0
Erwartete Ausgabe:
[-0.25, -0.5, -0.25]
Erläuterung
z = 1×0.5 + 2×(-0.25) = 0, also y = 0.5. delta = 2 × (0.5 - 1) × 0.5 × 0.5 = -0.25. Gradienten: [-0.25×1, -0.25×2, -0.25] = [-0.25, -0.5, -0.25].
Beispiel 2
Eingabe:
inputs = [3.0]
weights = [0.0]
bias = 0.0
target = 0.0
Erwartete Ausgabe:
[0.75, 0.25]
Erläuterung
z = 0 und y = 0.5. delta = 2 × (0.5 - 0) × 0.5 × 0.5 = 0.25, also sind die Gradienten [0.25×3, 0.25] = [0.75, 0.25]. Positive Gradienten bedeuten, dass das Gewicht sinken sollte.
Referenzen
-
Beispiel 1 Nicht ausgeführtEingabe:
inputs = [1.0, 2.0] weights = [0.5, -0.25] bias = 0.0 target = 1.0Erwartete Ausgabe:[-0.25, -0.5, -0.25]Deine Ausgabe -
Beispiel 2 Nicht ausgeführtEingabe:
inputs = [3.0] weights = [0.0] bias = 0.0 target = 0.0Erwartete Ausgabe:[0.75, 0.25]Deine Ausgabe
4 versteckte Tests werden beim Einreichen ebenfalls ausgeführt. Scheitert dein Code an einem, siehst du diesen Test. Löse die Aufgabe, um alle zu sehen.
Online Java Compiler
Write, compile, run, and debug Java code online in a full-featured browser IDE. Work with multiple files, save your workspace, and share or collaborate in real time - no setup required.
🚀 260,408 Gesamt-Ausführungen (5,854 diesen Monat)
Übe Java mit Coding Challenges
Löse praktische Aufgaben direkt im Editor: Führe die Beispieltests aus, reiche ein und erhalte ein KI-Code-Review.
☕ Über diesen Java-Online-Executor
Der CodeUtility Java Executor ermöglicht es dir, Java-Programme direkt in deinem Browser zu schreiben und auszuführen - keine Installation, kein JDK-Setup und keine IDE erforderlich. Er wird von einer sicheren Sandbox betrieben, die echte Java-Laufzeitversionen 8, 11, 17, 21 sowie die neueste unterstützt.
Dieses Tool kompiliert und führt Java-Code in der Cloud aus, mit einem echten javac-Compiler und einer Java-Laufzeitumgebung,
sodass du Klassen, Methoden und Logik genau so testen kannst, wie sie lokal funktionieren würden.
Egal, ob du objektorientierte Programmierung übst, dich auf Interviews vorbereitest oder Snippets vor der Integration testest - der CodeUtility Java Executor bietet eine schnelle und zuverlässige Umgebung, um echten Java-Code sofort von jedem Gerät aus auszuführen.
Mehr als nur ein Code-Runner
Nutzen Sie im selben Executor einen Editor für mehrere Dateien, ein isoliertes Ausführungsterminal, laufzeitspezifische Bibliotheken, persistente Arbeitsbereiche, Freigaben und Zusammenarbeit in Echtzeit.
Wie verwende ich diesen Executor?
Wählen Sie eine Laufzeit aus, öffnen oder erstellen Sie eine Datei, schreiben Sie Ihren Code und wählen Sie Ausführen. Die Ausgabe erscheint im Terminal. Angemeldete Benutzer können Dateien in einem Arbeitsbereich speichern, Bibliotheken installieren und über Freigaben zusammenarbeiten.
- Wählen Sie eine Version aus und bearbeiten Sie die aktuelle Datei oder öffnen Sie eine andere Datei aus dem Arbeitsbereich.
- Führen Sie den Code aus, geben Sie bei Aufforderung Daten im Terminal ein und prüfen Sie den gespeicherten Ausführungsverlauf.
- Nutzen Sie Bibliotheken, Arbeitsbereichswerkzeuge, Freigaben und den Chat, wenn Ihre Aufgabe mehr als ein einzelnes Codefragment erfordert.
💡 Java-Grundlagen & Beispiele, die du oben ausprobieren kannst
1. Variablen und Konstanten deklarieren
In Java musst du den Typ jeder Variablen deklarieren. Verwende final für Konstanten.
int age = 30;
double pi = 3.14159;
char grade = 'A';
String name = "Alice";
boolean isActive = true;
// Konstanten
final int MAX_USERS = 100;
final String COMPANY = "CodeUtility";
2. Bedingungen (if / switch)
Verwende if, else if und switch für den Kontrollfluss.
int x = 2;
if (x == 1) {
System.out.println("Eins");
} else if (x == 2) {
System.out.println("Zwei");
} else {
System.out.println("Sonstiges");
}
switch (x) {
case 1:
System.out.println("Eins");
break;
case 2:
System.out.println("Zwei");
break;
default:
System.out.println("Sonstiges");
}
3. Schleifen
Verwende for, while und do-while für Iterationen.
for (int i = 0; i < 3; i++) {
System.out.println(i);
}
int n = 3;
while (n > 0) {
System.out.println(n);
n--;
}
4. Arrays
Arrays enthalten Sequenzen fester Größe desselben Typs.
int[] numbers = {10, 20, 30};
System.out.println(numbers[1]);
5. ArrayList-Manipulation
Verwende ArrayList für Listen mit dynamischer Größe.
import java.util.ArrayList;
ArrayList<Integer> nums = new ArrayList<>();
nums.add(1);
nums.add(2);
nums.add(3);
nums.remove(Integer.valueOf(2));
for (int num : nums) {
System.out.print(num + " ");
}
6. Konsolen-Ein-/Ausgabe
Verwende Scanner für Eingaben und System.out für Ausgaben.
import java.util.Scanner;
Scanner scanner = new Scanner(System.in);
System.out.print("Gib deinen Namen ein: ");
String name = scanner.nextLine();
System.out.println("Hallo, " + name);
7. Funktionen
Definiere Methoden mit Rückgabetypen und Parametern.
public static int add(int a, int b) {
return a + b;
}
System.out.println(add(3, 4));
8. HashMaps
Verwende HashMap für die Speicherung von Schlüssel-Wert-Paaren.
import java.util.HashMap;
HashMap<String, Integer> ages = new HashMap<>();
ages.put("Alice", 30);
System.out.println(ages.get("Alice"));
9. Ausnahmebehandlung
Verwende try und catch, um Laufzeitausnahmen zu behandeln.
try {
throw new Exception("Etwas ist schiefgelaufen");
} catch (Exception e) {
System.out.println(e.getMessage());
}
10. Datei-Ein-/Ausgabe
Verwende Files und Paths aus java.nio.file für die Dateiverarbeitung.
import java.nio.file.*;
import java.io.IOException;
Files.writeString(Paths.get("file.txt"), "Hallo Datei");
String content = Files.readString(Paths.get("file.txt"));
System.out.println(content);
11. String-Manipulation
Java-Strings unterstützen viele Methoden wie length(), substring() und contains().
String text = "Hallo Welt";
System.out.println(text.length());
System.out.println(text.substring(0, 5));
System.out.println(text.contains("Welt"));
12. Klassen & Objekte
Java unterstützt objektorientierte Programmierung mit Klassen und Instanzen.
class Person {
String name;
Person(String name) {
this.name = name;
}
void greet() {
System.out.println("Hallo, ich bin " + name);
}
}
Person p = new Person("Alice");
p.greet();